From c80c2b572a9428a04321cce59f9aa6959eeb0059 Mon Sep 17 00:00:00 2001 From: wangxy <1356089412@qq.com> Date: Wed, 21 Aug 2024 11:50:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=9F=A5=E8=AF=A2=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/manager/UserRecordManager.java | 82 +++++++++++++++++ .../system/system/SysUserController.java | 18 ++++ .../system/domain/record/SysUserAfter.java | 88 +++++++++++++++++++ .../system/domain/record/SysUserBefore.java | 88 +++++++++++++++++++ .../domain/record/dto/UserRecordDTO.java | 29 ++++++ .../mapper/record/SysUserAfterMapper.java | 18 ++++ .../mapper/record/SysUserBeforeMapper.java | 18 ++++ .../service/record/SysUserAfterService.java | 13 +++ .../service/record/SysUserBeforeService.java | 13 +++ .../record/impl/SysUserAfterServiceImpl.java | 22 +++++ .../record/impl/SysUserBeforeServiceImpl.java | 22 +++++ .../mapper/system/SysUserAfterMapper.xml | 30 +++++++ .../mapper/system/SysUserBeforeMapper.xml | 30 +++++++ 13 files changed, 471 insertions(+) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/UserRecordManager.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/record/SysUserAfter.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/record/SysUserBefore.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/record/dto/UserRecordDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/record/SysUserAfterMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/record/SysUserBeforeMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/record/SysUserAfterService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/record/SysUserBeforeService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/record/impl/SysUserAfterServiceImpl.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/record/impl/SysUserBeforeServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/mapper/system/SysUserAfterMapper.xml create mode 100644 ruoyi-system/src/main/resources/mapper/system/SysUserBeforeMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/UserRecordManager.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/UserRecordManager.java new file mode 100644 index 0000000..8f9d85c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/UserRecordManager.java @@ -0,0 +1,82 @@ +package com.ruoyi.web.controller.manager; + +import cn.hutool.core.convert.Convert; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.system.domain.record.SysUserAfter; +import com.ruoyi.system.domain.record.SysUserBefore; +import com.ruoyi.system.domain.record.dto.UserRecordDTO; +import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.system.service.record.SysUserAfterService; +import com.ruoyi.system.service.record.SysUserBeforeService; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * packageName com.ruoyi.web.controller.manager + * + * @author wangxy + * @version JDK 8 + * @className UserRecordManager + * @date 2024/8/21 + * @description 用户变更记录 + */ +@Component +public class UserRecordManager { + + @Resource + private SysUserBeforeService userBeforeService; + + + @Resource + private SysUserAfterService userAfterService; + + + @Resource + private ISysUserService userService; + + + /** + * + * 人员修改记录 + * @param user + * @return boolean + */ + @Transactional(rollbackFor = Exception.class) + public boolean saveOrUpdate(SysUser user) { + if(Objects.isNull(user)){ + throw new ServiceException("人员信息不能为空"); + } + SysUser sysUser = userService.selectUserById(user.getUserId()); + SysUserBefore userBefore = Convert.convert(SysUserBefore.class, sysUser); + userBefore.setCreateTime(new Date()); + userBefore.setCreateBy(ShiroUtils.getSysUser().getLoginName()); + userBeforeService.save(userBefore); + SysUserAfter userAfter = Convert.convert(SysUserAfter.class, user); + userAfter.setCreateTime(new Date()); + userAfter.setCreateBy(ShiroUtils.getSysUser().getLoginName()); + return userAfterService.save(userAfter); + } + + + + public UserRecordDTO getUserRecordDTO( Long userId) { + UserRecordDTO userRecordDTO = new UserRecordDTO(); + List userAfters = userAfterService.lambdaQuery() + .eq(SysUserAfter::getUserId, userId) + .orderByDesc(SysUserAfter::getCreateTime).list(); + userRecordDTO.setUserAfterList(userAfters); + List userBefores = userBeforeService.lambdaQuery().eq(SysUserBefore::getUserId, userId) + .orderByDesc(SysUserBefore::getCreateTime).list(); + userRecordDTO.setUserBeforeList(userBefores); + return userRecordDTO; + } + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/system/SysUserController.java index 8003b76..5d7a4cb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/system/SysUserController.java @@ -5,6 +5,7 @@ import java.util.stream.Collectors; import cn.hutool.core.util.RandomUtil; import cn.hutool.extra.pinyin.PinyinUtil; +import com.ruoyi.web.controller.manager.UserRecordManager; import org.apache.commons.lang3.ArrayUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.slf4j.Logger; @@ -61,6 +62,9 @@ public class SysUserController extends BaseController { @Autowired private SysPasswordService passwordService; + @Autowired + private UserRecordManager userRecordManager; + @RequiresPermissions("system:user:view") @GetMapping() public String user() { @@ -170,6 +174,7 @@ public class SysUserController extends BaseController { user.setUpdateBy(getLoginName()); user.setExamine("2"); AuthorizationUtils.clearAllCachedAuthorizationInfo(); + userRecordManager.saveOrUpdate(user); return toAjax(userService.updateUser(user)); } @@ -315,5 +320,18 @@ public class SysUserController extends BaseController { return PinyinUtil.getFirstLetter(columnName, "") + RandomUtil.randomNumbers(4); } + /** + * + * 查询人员记录 + * @param userId + * @return com.ruoyi.common.core.domain.AjaxResult + */ + + @GetMapping("/getUserRecordDTO") + @ResponseBody + public AjaxResult getUserRecordDTO(@RequestParam Long userId) { + return AjaxResult.success(userRecordManager.getUserRecordDTO(userId)); + } + } \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/record/SysUserAfter.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/record/SysUserAfter.java new file mode 100644 index 0000000..3801ada --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/record/SysUserAfter.java @@ -0,0 +1,88 @@ +package com.ruoyi.system.domain.record; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 用户变更后信息表 + * @author 13560 + * @TableName sys_user_after + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SysUserAfter implements Serializable { + /** + * ID + */ + @TableId + private String afterId; + + /** + * 用户昵称 + */ + private String userName; + + /** + * 手机号码 + */ + private String phonenumber; + + /** + * 用户性别(0男 1女 2未知) + */ + private String sex; + + /** + * 创建者 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 籍贯 + */ + private String userarea; + + /** + * 政治面貌 + */ + private String politics; + + /** + * 涉密程度 + */ + private String shemichengdu; + + /** + * 是否持有护照和港澳通行证 + */ + private String havePassport; + + /** + * 出入境备案 + */ + private String entryexitFiling; + + /** + * 身份证号 + */ + private String cerno; + + /** + * 用户id + */ + private Long userId; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/record/SysUserBefore.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/record/SysUserBefore.java new file mode 100644 index 0000000..557fad0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/record/SysUserBefore.java @@ -0,0 +1,88 @@ +package com.ruoyi.system.domain.record; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 用户变更前信息表 + * @author 13560 + * @TableName sys_user_before + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SysUserBefore implements Serializable { + /** + * ID + */ + @TableId + private String beforeId; + + /** + * 用户昵称 + */ + private String userName; + + /** + * 手机号码 + */ + private String phonenumber; + + /** + * 用户性别(0男 1女 2未知) + */ + private String sex; + + /** + * 创建者 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 籍贯 + */ + private String userarea; + + /** + * 政治面貌 + */ + private String politics; + + /** + * 涉密程度 + */ + private String shemichengdu; + + /** + * 是否持有护照和港澳通行证 + */ + private String havePassport; + + /** + * 出入境备案 + */ + private String entryexitFiling; + + /** + * 身份证号 + */ + private String cerno; + + /** + * 用户id + */ + private Long userId; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/record/dto/UserRecordDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/record/dto/UserRecordDTO.java new file mode 100644 index 0000000..c0406ce --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/record/dto/UserRecordDTO.java @@ -0,0 +1,29 @@ +package com.ruoyi.system.domain.record.dto; + +import com.ruoyi.system.domain.record.SysUserAfter; +import com.ruoyi.system.domain.record.SysUserBefore; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * packageName com.ruoyi.system.domain.record.dto + * + * @author wangxy + * @version JDK 8 + * @className UserRecordDTO + * @date 2024/8/21 + * @description 人员记录信息 + */ +@Data +public class UserRecordDTO { + + @ApiModelProperty(value = "变更前人员信息") + private List userBeforeList; + + @ApiModelProperty(value = "变更后人员信息") + private List userAfterList; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/record/SysUserAfterMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/record/SysUserAfterMapper.java new file mode 100644 index 0000000..0c67ee0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/record/SysUserAfterMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.mapper.record; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.domain.record.SysUserAfter; + +/** +* @author 13560 +* @description 针对表【sys_user_after(用户变更后信息表)】的数据库操作Mapper +* @createDate 2024-08-21 11:06:44 +* @Entity generator.domain.SysUserAfter +*/ +public interface SysUserAfterMapper extends BaseMapper { + +} + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/record/SysUserBeforeMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/record/SysUserBeforeMapper.java new file mode 100644 index 0000000..dc56f4e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/record/SysUserBeforeMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.mapper.record; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.domain.record.SysUserBefore; + +/** +* @author 13560 +* @description 针对表【sys_user_before(用户变更前信息表)】的数据库操作Mapper +* @createDate 2024-08-21 11:06:44 +* @Entity generator.domain.SysUserBefore +*/ +public interface SysUserBeforeMapper extends BaseMapper { + +} + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/record/SysUserAfterService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/record/SysUserAfterService.java new file mode 100644 index 0000000..2027c96 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/record/SysUserAfterService.java @@ -0,0 +1,13 @@ +package com.ruoyi.system.service.record; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.domain.record.SysUserAfter; + +/** +* @author 13560 +* @description 针对表【sys_user_after(用户变更后信息表)】的数据库操作Service +* @createDate 2024-08-21 11:06:44 +*/ +public interface SysUserAfterService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/record/SysUserBeforeService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/record/SysUserBeforeService.java new file mode 100644 index 0000000..2ccb6c6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/record/SysUserBeforeService.java @@ -0,0 +1,13 @@ +package com.ruoyi.system.service.record; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.domain.record.SysUserBefore; + +/** +* @author 13560 +* @description 针对表【sys_user_before(用户变更前信息表)】的数据库操作Service +* @createDate 2024-08-21 11:06:44 +*/ +public interface SysUserBeforeService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/record/impl/SysUserAfterServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/record/impl/SysUserAfterServiceImpl.java new file mode 100644 index 0000000..f401dbc --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/record/impl/SysUserAfterServiceImpl.java @@ -0,0 +1,22 @@ +package com.ruoyi.system.service.record.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.domain.record.SysUserAfter; +import com.ruoyi.system.mapper.record.SysUserAfterMapper; +import com.ruoyi.system.service.record.SysUserAfterService; +import org.springframework.stereotype.Service; + +/** +* @author 13560 +* @description 针对表【sys_user_after(用户变更后信息表)】的数据库操作Service实现 +* @createDate 2024-08-21 11:06:44 +*/ +@Service +public class SysUserAfterServiceImpl extends ServiceImpl + implements SysUserAfterService { + +} + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/record/impl/SysUserBeforeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/record/impl/SysUserBeforeServiceImpl.java new file mode 100644 index 0000000..607bd13 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/record/impl/SysUserBeforeServiceImpl.java @@ -0,0 +1,22 @@ +package com.ruoyi.system.service.record.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.domain.record.SysUserBefore; +import com.ruoyi.system.mapper.record.SysUserBeforeMapper; +import com.ruoyi.system.service.record.SysUserBeforeService; +import org.springframework.stereotype.Service; + +/** +* @author 13560 +* @description 针对表【sys_user_before(用户变更前信息表)】的数据库操作Service实现 +* @createDate 2024-08-21 11:06:44 +*/ +@Service +public class SysUserBeforeServiceImpl extends ServiceImpl + implements SysUserBeforeService { + +} + + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserAfterMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserAfterMapper.xml new file mode 100644 index 0000000..afc9b7f --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserAfterMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + after_id,user_name,phonenumber, + sex,create_by,create_time, + userarea,politics,shemichengdu, + have_passport,entryexit_filing,cerno, + user_id + + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserBeforeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserBeforeMapper.xml new file mode 100644 index 0000000..cef21f6 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserBeforeMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + before_id,user_name,phonenumber, + sex,create_by,create_time, + userarea,politics,shemichengdu, + have_passport,entryexit_filing,cerno, + user_id + +