提交 98df2606 作者: chenshiqiang

Merge remote-tracking branch 'origin/master'

package com.zzsn.leaderbase.controller;
import com.zzsn.leaderbase.service.CharacterInfoService;
import com.zzsn.leaderbase.vo.CharacterListVo;
import com.zzsn.leaderbase.vo.CharacterVo;
import com.zzsn.leaderbase.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 9:26
* @Content: 人物信息操作
*/
@RestController
@RequestMapping("/api/character")
public class CharacterInfoContorller {
@Autowired
CharacterInfoService characterInfoService;
/**
* 新增人物基本信息和职务变动
* @param characterVo
* @return
*/
@PostMapping("/add")
public Result<?> add(@RequestBody CharacterVo characterVo){
return characterInfoService.add(characterVo);
}
/**
* 根据人物uid查询人物信息
* @param uid
* @return
*/
@GetMapping("getByUid")
public Result<?> getByUid(@RequestParam(name="uid",required=true) String uid){
return Result.OK(characterInfoService.getByUid(uid));
}
/**
* 根据人物id主键查询
* @param id
* @return
*/
@GetMapping
public Result<?> getById(@RequestParam(name="id",required=true) String id){
return Result.OK(characterInfoService.getById(id));
}
/**
* 根据人物id修改信息
* @param characterVo
* @return
*/
@PostMapping("/edit")
public Result<?> edit(@RequestBody CharacterVo characterVo){
return characterInfoService.edit(characterVo);
}
/**
* 条件分页查询
* @param characterListVo
* @return
*/
@PostMapping("/list")
public Result<?> list(@RequestBody CharacterListVo characterListVo){
return Result.OK(characterInfoService.list(characterListVo));
}
//审核
}
package com.zzsn.leaderbase.entity; package com.zzsn.leaderbase.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
...@@ -12,10 +17,11 @@ import java.util.Date; ...@@ -12,10 +17,11 @@ import java.util.Date;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@TableName("character_basic_info") @TableName("character_basic_info")
public class CharacterBasicInfo { public class CharacterBasicInfo extends Model<CharacterBasicInfo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
//主键 //主键
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id; private String id;
//人物id //人物id
private String uid; private String uid;
...@@ -26,6 +32,8 @@ public class CharacterBasicInfo { ...@@ -26,6 +32,8 @@ public class CharacterBasicInfo {
//出生地 //出生地
private String birthplace; private String birthplace;
//出生日期 //出生日期
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date birthday; private Date birthday;
//籍贯 //籍贯
private String nativePlace; private String nativePlace;
...@@ -54,10 +62,14 @@ public class CharacterBasicInfo { ...@@ -54,10 +62,14 @@ public class CharacterBasicInfo {
//创建人 //创建人
private String createBy; private String createBy;
//创建时间 //创建时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; private Date createTime;
//更新人 //更新人
private String updateBy; private String updateBy;
//更新时间 //更新时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime; private Date updateTime;
//启停状态 1启 0停 //启停状态 1启 0停
private Long status; private Long status;
......
package com.zzsn.leaderbase.entity; package com.zzsn.leaderbase.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
...@@ -12,10 +17,11 @@ import java.util.Date; ...@@ -12,10 +17,11 @@ import java.util.Date;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@TableName("character_basic_info_history") @TableName("character_basic_info_history")
public class CharacterBasicInfoHistory { public class CharacterBasicInfoHistory extends Model<CharacterBasicInfoHistory> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
//主键 //主键
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id; private String id;
//人物id //人物id
private String uid; private String uid;
...@@ -26,6 +32,8 @@ public class CharacterBasicInfoHistory { ...@@ -26,6 +32,8 @@ public class CharacterBasicInfoHistory {
//出生地 //出生地
private String birthplace; private String birthplace;
//出生日期 //出生日期
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date birthday; private Date birthday;
//籍贯 //籍贯
private String nativePlace; private String nativePlace;
...@@ -54,10 +62,14 @@ public class CharacterBasicInfoHistory { ...@@ -54,10 +62,14 @@ public class CharacterBasicInfoHistory {
//创建人 //创建人
private String createBy; private String createBy;
//创建时间 //创建时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; private Date createTime;
//更新人 //更新人
private String updateBy; private String updateBy;
//更新时间 //更新时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime; private Date updateTime;
//启停状态 1启 0停 //启停状态 1启 0停
private Long status; private Long status;
......
...@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableField; ...@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
...@@ -52,6 +54,8 @@ public class CharacterCategoryStructure extends Model<CharacterCategoryStructure ...@@ -52,6 +54,8 @@ public class CharacterCategoryStructure extends Model<CharacterCategoryStructure
/** /**
* 创建时间 * 创建时间
*/ */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("create_time") @TableField("create_time")
private Date createTime; private Date createTime;
...@@ -65,6 +69,8 @@ public class CharacterCategoryStructure extends Model<CharacterCategoryStructure ...@@ -65,6 +69,8 @@ public class CharacterCategoryStructure extends Model<CharacterCategoryStructure
* 更新时间 * 更新时间
*/ */
@TableField("update_time") @TableField("update_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime; private Date updateTime;
/** /**
......
package com.zzsn.leaderbase.entity; package com.zzsn.leaderbase.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
...@@ -12,37 +17,42 @@ import java.util.Date; ...@@ -12,37 +17,42 @@ import java.util.Date;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@TableName("character_change_info") @TableName("character_change_info")
public class CharacterChangeInfo { public class CharacterChangeInfo extends Model<CharacterChangeInfo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 主键 // 主键
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id; private String id;
//关联人物id //关联人物id
private String uid; private String uid;
//人物名称 //人物名称
private String name; private String name;
//原部门 原单位 原企业 //原部门 原单位 原企业
private String company; private String departmentOriginal;
//原职务 //原职务
private String oldDuties; private String dutyOriginal;
//部门 单位 企业(现) //部门 单位 企业(现)
private String department; private String department;
//职务(现) //职务(现)
private String workplace; private String duty;
//任职时间 //任职时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date takeOfficeTime; private Date takeOfficeTime;
//任职状态 //任职状态
private String takeOfficeStatus; private String takeOfficeStatus;
//变更链接 //变更链接
private String changeUrl; private String changeUrl;
//职务变更时间 //职务变更时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dutiesUpdateTime; private Date dutiesUpdateTime;
//职务变更原因 //职务变更原因
private String dutiesUpdateReason; private String dutiesUpdateReason;
//是否审核 1是 0否 //是否审核 1是 0否
private Long checkstatus; private Long checkStatus;
//是否审核通过 0未通过 1通过 2待定 //是否审核通过 0未通过 1通过 2待定
private Long check; private Long checkResult;
//关联资讯id //关联资讯id
private String articleId; private String articleId;
//关联资讯标题 //关联资讯标题
...@@ -52,10 +62,14 @@ public class CharacterChangeInfo { ...@@ -52,10 +62,14 @@ public class CharacterChangeInfo {
//创建人 //创建人
private String createBy; private String createBy;
//创建时间 //创建时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; private Date createTime;
//更新人 //更新人
private String updateBy; private String updateBy;
//更新时间 //更新时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime; private Date updateTime;
//启停状态 1启 0停 //启停状态 1启 0停
private Long status; private Long status;
......
package com.zzsn.leaderbase.entity; package com.zzsn.leaderbase.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
...@@ -12,37 +17,42 @@ import java.util.Date; ...@@ -12,37 +17,42 @@ import java.util.Date;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@TableName("character_change_info_history") @TableName("character_change_info_history")
public class CharacterChangeInfoHistory { public class CharacterChangeInfoHistory extends Model<CharacterChangeInfoHistory> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
//主键 //主键
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id; private String id;
//关联人物id //关联人物id
private String uid; private String uid;
//人物名称 //人物名称
private String name; private String name;
//原部门 原单位 原企业 //原部门 原单位 原企业
private String company; private String departmentOriginal;
//原职务 //原职务
private String oldDuties; private String dutyOriginal;
//部门 单位 企业(现) //部门 单位 企业(现)
private String department; private String department;
//职务(现) //职务(现)
private String workplace; private String duty;
//任职时间 //任职时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date takeOfficeTime; private Date takeOfficeTime;
//任职状态 //任职状态
private String takeOfficeStatus; private String takeOfficeStatus;
//变更链接 //变更链接
private String changeUrl; private String changeUrl;
//职务变更时间 //职务变更时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dutiesUpdateTime; private Date dutiesUpdateTime;
//职务变更原因 //职务变更原因
private String dutiesUpdateReason; private String dutiesUpdateReason;
//是否审核 1是 0否 //是否审核 1是 0否
private Long checkstatus; private Long checkStatus;
//是否审核通过 0未通过 1通过 2待定 //是否审核通过 0未通过 1通过 2待定
private Long check; private Long checkResult;
//关联资讯id //关联资讯id
private String articleId; private String articleId;
//关联资讯标题 //关联资讯标题
...@@ -52,10 +62,14 @@ public class CharacterChangeInfoHistory { ...@@ -52,10 +62,14 @@ public class CharacterChangeInfoHistory {
//创建人 //创建人
private String createBy; private String createBy;
//创建时间 //创建时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; private Date createTime;
//更新人 //更新人
private String updateBy; private String updateBy;
//更新时间 //更新时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime; private Date updateTime;
//启停状态 1启 0停 //启停状态 1启 0停
private Long status; private Long status;
......
package com.zzsn.leaderbase.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.leaderbase.entity.CharacterBasicInfoHistory;
import org.apache.ibatis.annotations.Mapper;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 17:01
* @Content:
*/
@Mapper
public interface CharacterBasicInfoHistoryMapper extends BaseMapper<CharacterBasicInfoHistory> {
}
package com.zzsn.leaderbase.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.leaderbase.entity.CharacterBasicInfo;
import com.zzsn.leaderbase.vo.CharacterVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 10:36
* @Content:
*/
@Mapper
public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo> {
@Select("select " +
"a.id,a.uid,a.name,a.sex,a.birthplace,a.birthday,a.native_place,a.school,a.speciality,a.education,a.expert_occupation,a.head_sculpture,a.biographical_notes,a.category,a.award_records,a.part_time_job,a.research_field,a.evaluate,a.create_by,a.create_time,a.update_by,a.update_time,a.status,department_original,duty_original,department,duty,b.take_office_time,b.take_office_status,b.change_url,b.duties_update_time,b.duties_update_reason,b.check_status,b.check_result,b.article_id,b.article_title,b.update_desc " +
"from character_basic_info a " +
"LEFT JOIN character_change_info b " +
"on a.id = b.id " +
"where a.uid = #{uid}")
CharacterVo getByUid(String uid);
@Select("select " +
"a.id,a.uid,a.name,a.sex,a.birthplace,a.birthday,a.native_place,a.school,a.speciality,a.education,a.expert_occupation,a.head_sculpture,a.biographical_notes,a.category,a.award_records,a.part_time_job,a.research_field,a.evaluate,a.create_by,a.create_time,a.update_by,a.update_time,a.status,department_original,duty_original,department,duty,b.take_office_time,b.take_office_status,b.change_url,b.duties_update_time,b.duties_update_reason,b.check_status,b.check_result,b.article_id,b.article_title,b.update_desc " +
"from character_basic_info a " +
"LEFT JOIN character_change_info b " +
"on a.id = b.id " +
"where a.id = #{id}")
CharacterVo getById(String id);
}
package com.zzsn.leaderbase.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.leaderbase.entity.CharacterChangeInfoHistory;
import org.apache.ibatis.annotations.Mapper;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 17:13
* @Content:
*/
@Mapper
public interface CharacterChangeInfoHistoryMapper extends BaseMapper<CharacterChangeInfoHistory> {
}
package com.zzsn.leaderbase.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.leaderbase.entity.CharacterChangeInfo;
import org.apache.ibatis.annotations.Mapper;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 10:41
* @Content:
*/
@Mapper
public interface CharacterChangeInfoMapper extends BaseMapper<CharacterChangeInfo> {
}
package com.zzsn.leaderbase.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.leaderbase.entity.CharacterBasicInfoHistory;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 16:59
* @Content:
*/
public interface CharacterBasicInfoHistoryService extends IService<CharacterBasicInfoHistory> {
}
package com.zzsn.leaderbase.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.leaderbase.entity.CharacterBasicInfo;
import com.zzsn.leaderbase.vo.CharacterVo;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 10:35
* @Content:
*/
public interface CharacterBasicInfoService extends IService<CharacterBasicInfo> {
CharacterVo getByUid(String uid);
CharacterVo getById(String id);
}
package com.zzsn.leaderbase.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.leaderbase.entity.CharacterChangeInfoHistory;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 17:07
* @Content:
*/
public interface CharacterChangeInfoHistoryService extends IService<CharacterChangeInfoHistory> {
}
package com.zzsn.leaderbase.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.leaderbase.entity.CharacterChangeInfo;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 10:39
* @Content:
*/
public interface CharacterChangeInfoService extends IService<CharacterChangeInfo> {
}
package com.zzsn.leaderbase.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zzsn.leaderbase.vo.CharacterListVo;
import com.zzsn.leaderbase.vo.CharacterVo;
import com.zzsn.leaderbase.vo.Result;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 10:11
* @Content:
*/
public interface CharacterInfoService {
Result<?> add(CharacterVo characterVo);
CharacterVo getByUid(String uid);
CharacterVo getById(String id);
Result<?> edit(CharacterVo characterVo);
IPage<CharacterVo> list(CharacterListVo characterListVo);
}
package com.zzsn.leaderbase.service;
public interface IGeneratorIdService {
// 通过队列拿id;
Long getId();
Long getOrderId();
// 通过加锁拿id, 不建议使用;
// Long nextId();
}
package com.zzsn.leaderbase.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzsn.leaderbase.entity.CharacterBasicInfoHistory;
import com.zzsn.leaderbase.mapper.CharacterBasicInfoHistoryMapper;
import com.zzsn.leaderbase.service.CharacterBasicInfoHistoryService;
import org.springframework.stereotype.Service;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 16:59
* @Content: 人物基本信息历史修改记录表
* 新增和所有修改都记录
*/
@Service
public class CharacterBasicInfoHistoryServiceImpl extends ServiceImpl<CharacterBasicInfoHistoryMapper, CharacterBasicInfoHistory> implements CharacterBasicInfoHistoryService {
}
package com.zzsn.leaderbase.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzsn.leaderbase.entity.CharacterBasicInfo;
import com.zzsn.leaderbase.mapper.CharacterBasicInfoMapper;
import com.zzsn.leaderbase.service.CharacterBasicInfoService;
import com.zzsn.leaderbase.vo.CharacterVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 10:35
* @Content: 人物基本信息
*/
@Service
public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInfoMapper, CharacterBasicInfo> implements CharacterBasicInfoService {
@Autowired
CharacterBasicInfoMapper characterBasicInfoMapper;
@Override
public CharacterVo getByUid(String uid) {
return characterBasicInfoMapper.getByUid(uid);
}
@Override
public CharacterVo getById(String id) {
return characterBasicInfoMapper.getById(id);
}
}
package com.zzsn.leaderbase.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzsn.leaderbase.entity.CharacterChangeInfoHistory;
import com.zzsn.leaderbase.mapper.CharacterChangeInfoHistoryMapper;
import com.zzsn.leaderbase.service.CharacterChangeInfoHistoryService;
import org.springframework.stereotype.Service;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 17:07
* @Content: 任务职务变更信息历史记录表
* 仅在审核 更新任务信息时记录
*/
@Service
public class CharacterChangeInfoHistorySerivceImpl extends ServiceImpl<CharacterChangeInfoHistoryMapper, CharacterChangeInfoHistory> implements CharacterChangeInfoHistoryService {
}
package com.zzsn.leaderbase.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzsn.leaderbase.entity.CharacterChangeInfo;
import com.zzsn.leaderbase.mapper.CharacterChangeInfoMapper;
import com.zzsn.leaderbase.service.CharacterChangeInfoService;
import org.springframework.stereotype.Service;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 10:40
* @Content: 职务变更记录服务
*/
@Service
public class CharacterChangeInfoServiceImpl extends ServiceImpl<CharacterChangeInfoMapper, CharacterChangeInfo> implements CharacterChangeInfoService {
}
package com.zzsn.leaderbase.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zzsn.leaderbase.entity.CharacterBasicInfo;
import com.zzsn.leaderbase.entity.CharacterBasicInfoHistory;
import com.zzsn.leaderbase.entity.CharacterChangeInfo;
import com.zzsn.leaderbase.service.*;
import com.zzsn.leaderbase.vo.CharacterListVo;
import com.zzsn.leaderbase.vo.CharacterVo;
import com.zzsn.leaderbase.vo.Result;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 10:13
* @Content: 人物基本信息和职务变更信息
*/
@Service
public class CharacterInfoServiceImpl implements CharacterInfoService {
@Autowired
CharacterBasicInfoService characterBasicInfoService;
@Autowired
CharacterBasicInfoHistoryService characterBasicInfoHistoryService;
@Autowired
CharacterChangeInfoService characterChangeInfoService;
@Autowired
CharacterChangeInfoHistoryService characterChangeInfoHistoryService;
/**
* 雪花算法生成id
*/
@Autowired
IGeneratorIdService generatorIdService;
@Override
public Result<?> add(CharacterVo characterVo) {
String id = Long.toString(generatorIdService.getOrderId());
//vo对象获取转entity对象,基本信息
CharacterBasicInfo characterBasicInfo = new CharacterBasicInfo();
BeanUtils.copyProperties(characterVo, characterBasicInfo);
characterBasicInfo.setId(id);
characterBasicInfoService.save(characterBasicInfo);
//vo对象获取转entity对象,任职变更信息
CharacterChangeInfo characterChangeInfo = new CharacterChangeInfo();
BeanUtils.copyProperties(characterVo, characterChangeInfo);
characterChangeInfo.setId(id);
characterChangeInfoService.save(characterChangeInfo);
//记录任务基本信息修改记录
CharacterBasicInfoHistory characterBasicInfoHistory = new CharacterBasicInfoHistory();
BeanUtils.copyProperties(characterBasicInfo, characterBasicInfoHistory);
characterBasicInfoHistory.setId(null);
characterBasicInfoHistoryService.save(characterBasicInfoHistory);
return Result.OK();
}
@Override
public CharacterVo getByUid(String uid) {
return characterBasicInfoService.getByUid(uid);
}
@Override
public CharacterVo getById(String id) {
return characterBasicInfoService.getById(id);
}
@Override
public Result<?> edit(CharacterVo characterVo) {
//vo对象获取转entity对象,基本信息
CharacterBasicInfo characterBasicInfo = new CharacterBasicInfo();
BeanUtils.copyProperties(characterVo, characterBasicInfo);
characterBasicInfoService.updateById(characterBasicInfo);
//vo对象获取转entity对象,任职变更信息
CharacterChangeInfo characterChangeInfo = new CharacterChangeInfo();
BeanUtils.copyProperties(characterVo, characterChangeInfo);
characterChangeInfoService.updateById(characterChangeInfo);
//记录任务基本信息修改记录
CharacterBasicInfoHistory characterBasicInfoHistory = new CharacterBasicInfoHistory();
BeanUtils.copyProperties(characterBasicInfo, characterBasicInfoHistory);
characterBasicInfoHistory.setId(null);
characterBasicInfoHistoryService.save(characterBasicInfoHistory);
return Result.OK();
}
@Override
public IPage<CharacterVo> list(CharacterListVo characterListVo) {
QueryWrapper<CharacterVo> queryWrapper = new QueryWrapper<>();
//queryWrapper.eq("name","王强").leftJoin("")
return null;
}
}
...@@ -3,7 +3,6 @@ package com.zzsn.leaderbase.service.impl; ...@@ -3,7 +3,6 @@ package com.zzsn.leaderbase.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzsn.leaderbase.entity.CharacterCategoryStructure; import com.zzsn.leaderbase.entity.CharacterCategoryStructure;
...@@ -12,12 +11,10 @@ import com.zzsn.leaderbase.service.LeaderCategoryService; ...@@ -12,12 +11,10 @@ import com.zzsn.leaderbase.service.LeaderCategoryService;
import com.zzsn.leaderbase.vo.Result; import com.zzsn.leaderbase.vo.Result;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -30,28 +27,6 @@ import java.util.stream.Collectors; ...@@ -30,28 +27,6 @@ import java.util.stream.Collectors;
@Service @Service
public class LeaderCategoryServiceImpl extends ServiceImpl<LeaderCategoryMapper, CharacterCategoryStructure> implements LeaderCategoryService { public class LeaderCategoryServiceImpl extends ServiceImpl<LeaderCategoryMapper, CharacterCategoryStructure> implements LeaderCategoryService {
// @Autowired
// KbAuthorizedUserService kbAuthorizedUserService;
// @Autowired
// KbKnowledgeProjectMapper kbKnowledgeProjectMapper;
// @Autowired
// KbAuthuserKnowledgeprojectMapService authuserKnowledgeprojectMapService;
// @Autowired
// KbAuthuserKnowMapService kbAuthuserKnowMapService;
// @Autowired
// KbUserRoleMapService kbUserRoleMapService;
// @Autowired
// KbUserRoleMapMapper userRoleMapMapper;
// @Autowired
// private KbAuthuserKnowMapService authuserKnowMapService;
// @Autowired
// KbRolePermissionMapService rolePermissionMapService;
// @Autowired
// KbPermissionsService permissionsService;
// @Autowired
// KbRoleService roleService;
// @Autowired
// KbAuthorizedUserMapper authorizedUserMapper;
@Override @Override
@Transactional @Transactional
public Result<?> add(CharacterCategoryStructure characterCategoryStructure) { public Result<?> add(CharacterCategoryStructure characterCategoryStructure) {
...@@ -81,12 +56,6 @@ public class LeaderCategoryServiceImpl extends ServiceImpl<LeaderCategoryMapper, ...@@ -81,12 +56,6 @@ public class LeaderCategoryServiceImpl extends ServiceImpl<LeaderCategoryMapper,
return Result.OK(); return Result.OK();
} }
// public List<KbAuthuserKnowledgeprojectMap> getUserKnowProjectMapByUserId(String userId){
// //用户所拥有权限的知识库分类集合
// List<KbAuthuserKnowledgeprojectMap> list = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery().eq(KbAuthuserKnowledgeprojectMap::getAuthUserId, userId));
// List<KbAuthuserKnowMap> list1 = kbAuthuserKnowMapService.list(Wrappers.<KbAuthuserKnowMap>lambdaQuery().eq(KbAuthuserKnowMap::getAuthUserId, userId));
// return list;
// }
@Override @Override
@Transactional @Transactional
...@@ -183,34 +152,6 @@ public class LeaderCategoryServiceImpl extends ServiceImpl<LeaderCategoryMapper, ...@@ -183,34 +152,6 @@ public class LeaderCategoryServiceImpl extends ServiceImpl<LeaderCategoryMapper,
} }
/**
@Override
public List<KbKnowledgeProject> getTreeListBy(String id) {
return baseMapper.selectList(new LambdaQueryWrapper<KbKnowledgeProject>()
.like(!"0".equals(id),KbKnowledgeProject::getFullPath, id)
);
}
@Override
public List<String> getKnowledgeListByUserId(String userId,List<String> knowProjectIdList) {
return authuserKnowMapService.list(new LambdaQueryWrapper<KbAuthuserKnowMap>()
.in(KbAuthuserKnowMap::getKnowledgeProjectId,knowProjectIdList)
.eq(KbAuthuserKnowMap::getAuthUserId,userId))
.stream().map(KbAuthuserKnowMap::getKnowledgeId)
.collect(Collectors.toList());
}
@Override
public List<KbAuthuserKnowledgeprojectMap> getKnowledgeProjectListByUserId(String userId) {
return authuserKnowledgeprojectMapService.list(new LambdaQueryWrapper<KbAuthuserKnowledgeprojectMap>()
.eq(KbAuthuserKnowledgeprojectMap::getAuthUserId,userId));
}
*/
/**
* 根据所传pid查询旧的父级节点的子节点并修改相应状态值
* @param pid
*/
private void updateOldParentNode(String pid) { private void updateOldParentNode(String pid) {
if(!LeaderCategoryService.ROOT_PID_VALUE.equals(pid)) { if(!LeaderCategoryService.ROOT_PID_VALUE.equals(pid)) {
Integer count = baseMapper.selectCount(Wrappers.<CharacterCategoryStructure>lambdaQuery().eq(CharacterCategoryStructure::getPid,pid)); Integer count = baseMapper.selectCount(Wrappers.<CharacterCategoryStructure>lambdaQuery().eq(CharacterCategoryStructure::getPid,pid));
......
package com.zzsn.leaderbase.service.impl;
import com.zzsn.leaderbase.service.IGeneratorIdService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.concurrent.ConcurrentLinkedQueue;
@Component
@Slf4j
public class SnowFlakeGeneratorId implements IGeneratorIdService {
private final static int MAX_QUEUE = 128;
private final static int DEFAULT_MACHINE_BIT_NUM = 6; //机器标识占用的位数
private final static int DEFAULT_PORT_BIT_NUM = 4; //端口占用的位数
private final static long START_STAMP = 1641286225129L; //起始时间
// 线程安全队列
private final ConcurrentLinkedQueue<Long> queue = new ConcurrentLinkedQueue<>();
private final ConcurrentLinkedQueue<Long> orderQueue = new ConcurrentLinkedQueue<>();
/**
* 可分配的位数
*/
private final static int REMAIN_BIT_NUM = 22;
@Value("${server.port}")
private String port;
@PostConstruct
public void init() {
int portBitNum = DEFAULT_PORT_BIT_NUM;
int sequenceBitNum = REMAIN_BIT_NUM - portBitNum - machineBitNum;
this.maxSequenceValue = ~(-1 << sequenceBitNum);
machineBitLeftOffset = sequenceBitNum;
portBitLeftOffset = portBitNum + sequenceBitNum;
timestampBitLeftOffset = portBitNum + machineBitNum + sequenceBitNum;
this.portId = Integer.parseInt(port) & 15;
this.machineId = getMachineId() & 63;
productIdToQueue(queue, MAX_QUEUE);
productIdToQueue(orderQueue, MAX_QUEUE);
}
public Long getId() {
Long peek = queue.poll();
if (queue.size() <= MAX_QUEUE / 2) {
productIdToQueue(queue, MAX_QUEUE / 2);
}
return peek;
}
public Long getOrderId() {
Long peek = orderQueue.poll();
if (orderQueue.size() <= MAX_QUEUE / 2) {
productIdToQueue(orderQueue, MAX_QUEUE / 2);
}
return peek;
}
/**
* 产生下一个ID
*/
public synchronized Long nextId() {
long currentStamp = getTimeMill();
if (currentStamp < lastStamp) {
throw new RuntimeException(String.format("Clock moved backwards. Refusing to generate id for %d milliseconds", lastStamp - currentStamp));
}
//新的毫秒,序列从0开始,否则序列自增
if (currentStamp == lastStamp) {
sequence = (sequence + 1) & this.maxSequenceValue;
if (sequence == 0L) {
//Twitter源代码中的逻辑是循环,直到下一个毫秒
lastStamp = tilNextMillis();
// throw new IllegalStateException("sequence over flow");
}
} else {
sequence = 0L;
}
lastStamp = currentStamp;
return (currentStamp - START_STAMP) << timestampBitLeftOffset | portId << portBitLeftOffset | machineId << machineBitLeftOffset | sequence;
}
private void productIdToQueue(ConcurrentLinkedQueue<Long> queue, Integer num) {
new Thread(() -> {
for (int i = 0; i < num; i++) {
queue.add(nextId());
}
}).start();
}
private Integer getMachineId() {
InetAddress addr = null;
try {
addr = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
/*获取本机IP*/
assert addr != null;
String ip = addr.getHostAddress();
log.info("本机IP : {} ", ip);
return Integer.parseInt(ip.split("\\.")[3]);
}
private final int machineBitNum = DEFAULT_MACHINE_BIT_NUM;
/**
* idc编号
*/
private long portId;
/**
* 机器编号
*/
private long machineId;
/**
* 当前序列号
*/
private long sequence = 0L;
/**
* 上次最新时间戳
*/
private long lastStamp = -1L;
/**
* idc偏移量:一次计算出,避免重复计算
*/
private int portBitLeftOffset;
/**
* 机器id偏移量:一次计算出,避免重复计算
*/
private int machineBitLeftOffset;
/**
* 时间戳偏移量:一次计算出,避免重复计算
*/
private int timestampBitLeftOffset;
/**
* 最大序列值:一次计算出,避免重复计算
*/
private int maxSequenceValue;
private long getTimeMill() {
return System.currentTimeMillis();
}
private long tilNextMillis() {
long timestamp = getTimeMill();
while (timestamp <= lastStamp) {
timestamp = getTimeMill();
}
return timestamp;
}
}
\ No newline at end of file
package com.zzsn.leaderbase.vo;
import lombok.Data;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 17:54
* @Content:
*/
@Data
public class CharacterListVo {
//当前页码,默认值为1
private Integer pageNo = 1;
//每页数量,默认值为10
private Integer pageSize = 10;
//人物名称
private String name;
}
package com.zzsn.leaderbase.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/2/29 10:00
* @Content: 人物操作vo
* 人物基本信息和职务变更信息分开存储
* 人物基本信息,每次修改都再历史表中记录
* 人物职务变更信息,只有再点击变更时再历史表中记录,只修改时不记录
*/
@Data
public class CharacterVo {
/**
* 基本信息
*/
//主键
private String id;
//人物id
private String uid;
//人物名称
private String name;
//性别
private String sex;
//出生地
private String birthplace;
//出生日期
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date birthday;
//籍贯
private String nativePlace;
//毕业院校
private String school;
//专业
private String speciality;
//学历
private String education;
//职业
private String expertOccupation;
//头像
private String headSculpture;
//个人简历 简介
private String biographicalNotes;
//分类类型:领导人、专家、高管
private String category;
//任职经历,每一条任职经历用 \n(换行)分割
private String awardRecords;
//社会兼职,每一条用 \n(换行) 分割
private String partTimeJob;
//研究领域
private String researchField;
//荣誉评价
private String evaluate;
//创建人
private String createBy;
//创建时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
//更新人
private String updateBy;
//更新时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
//启停状态 1启 0停
private Long status;
/**
* 职务变更信息
*/
//原部门 原单位 原企业
private String departmentOriginal;
//原职务
private String dutyOriginal;
//部门 单位 企业(现)
private String department;
//职务(现)
private String duty;
//任职时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date takeOfficeTime;
//任职状态
private String takeOfficeStatus;
//变更链接
private String changeUrl;
//职务变更时间
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dutiesUpdateTime;
//职务变更原因
private String dutiesUpdateReason;
//是否审核 1是 0否
private Long checkStatus;
//是否审核通过 0未通过 1通过 2待定
private Long checkResult;
//关联资讯id
private String articleId;
//关联资讯标题
private String articleTitle;
//变更描述
private String updateDesc;
}
...@@ -28,4 +28,10 @@ es1: ...@@ -28,4 +28,10 @@ es1:
endpoint3: 114.116.54.108 endpoint3: 114.116.54.108
endpoint3port: 9200 endpoint3port: 9200
username: elastic username: elastic
password: zzsn9988 password: zzsn9988
\ No newline at end of file
mybatis-plus:
mapper-locations: classpath*:com/zzsn/leaderbase/mapper/xml/*Mapper.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论