diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISystemLogService.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISystemLogService.java index a0c28e0..43650b9 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISystemLogService.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISystemLogService.java @@ -40,8 +40,9 @@ public interface ISystemLogService extends IService * 试验稽查轨迹-批量 * @param study * @param jcgjList + * @param time */ - void saveStudyBatch(Study study,List jcgjList); + void saveStudyBatch(Study study,List jcgjList,Date time); /** * 普通日志-加上时间 diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyServiceImpl.java index 2357d8d..2ac85d8 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyServiceImpl.java @@ -226,9 +226,10 @@ public class StudyServiceImpl extends ServiceImpl implements checkPermit(old); //获取修改的稽查轨迹 - List jcgjList = getChangeJcgj(old,study,sign); + Date now=new Date(); + List jcgjList = getChangeJcgj(old,study,sign,now); studyJcgjService.saveBatch(jcgjList); - systemLogService.saveStudyBatch(study, jcgjList); + systemLogService.saveStudyBatch(study, jcgjList,now); if(!old.getLeaderName().equals(study.getLeaderName())){ @@ -271,9 +272,10 @@ public class StudyServiceImpl extends ServiceImpl implements * @param old * @param study * @param sign + * @param time * @return */ - private List getChangeJcgj(Study old,Study study,SignForm sign){ + private List getChangeJcgj(Study old,Study study,SignForm sign,Date time){ List jcgjList = new ArrayList<>(); List fieldChanges = ObjectCompareUtil.compareObjects(old, study); if (fieldChanges.size() > 0) { @@ -308,6 +310,7 @@ public class StudyServiceImpl extends ServiceImpl implements jcgj.setQmrMc(SecurityUtils.getNickName()); jcgj.setQmrMcEn(SecurityUtils.getUsername()); } + jcgj.setCreateTime(time); jcgjList.add(jcgj); } } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SystemLogServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SystemLogServiceImpl.java index 77b535e..8da990a 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SystemLogServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SystemLogServiceImpl.java @@ -76,7 +76,7 @@ public class SystemLogServiceImpl extends ServiceImpl jcgjList) { + public void saveStudyBatch(Study study,List jcgjList,Date time) { List logList = new ArrayList<>(); for(StudyJcgj jcgj : jcgjList){ SystemLog info = new SystemLog(); @@ -90,6 +90,7 @@ public class SystemLogServiceImpl extends ServiceImpl roles = roleService.selectRoleAll(); + roles = roles.stream().filter(o->o.getStatus().equals("0")).collect(Collectors.toList()); ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); ajax.put("posts", postService.selectPostAll()); return ajax; @@ -294,8 +297,9 @@ public class SysUserController extends BaseController @RequiresPermissions("system:user:add") @Log(title = "用户管理", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@Validated @RequestBody SysUser user) + public AjaxResult add(@Validated @RequestBody UserSaveForm form) { + SysUser user = form.getUser(); deptService.checkDeptDataScope(user.getDeptId()); roleService.checkRoleDataScope(user.getRoleIds()); if (!userService.checkUserNameUnique(user)) @@ -312,7 +316,7 @@ public class SysUserController extends BaseController } user.setCreateBy(SecurityUtils.getUsername()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - return toAjax(userService.insertUser(user)); + return toAjax(userService.insertUser(form)); } /** @@ -380,12 +384,13 @@ public class SysUserController extends BaseController @RequiresPermissions("system:user:enable") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysUser user) + public AjaxResult changeStatus(@RequestBody UserSaveForm form) { + SysUser user = form.getUser(); userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); user.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(userService.updateUserStatus(user)); + return toAjax(userService.updateUserStatus(form)); } /** diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/form/RoleSaveForm.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/form/RoleSaveForm.java new file mode 100644 index 0000000..d0e4e19 --- /dev/null +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/form/RoleSaveForm.java @@ -0,0 +1,36 @@ +package com.hxhq.system.form; + +import com.hxhq.business.form.common.SignForm; +import com.hxhq.system.api.domain.SysRole; + +/** + * @author memory + */ +public class RoleSaveForm { + + /** + * 用户 + */ + private SysRole role; + + /** + * 签名信息 + */ + private SignForm sign; + + public SysRole getRole() { + return role; + } + + public void setRole(SysRole role) { + this.role = role; + } + + public SignForm getSign() { + return sign; + } + + public void setSign(SignForm sign) { + this.sign = sign; + } +} diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/ISysRoleService.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/ISysRoleService.java index d380c66..3dedf5e 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/ISysRoleService.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/ISysRoleService.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Set; import com.hxhq.system.api.domain.SysRole; import com.hxhq.system.domain.SysUserRole; +import com.hxhq.system.form.RoleSaveForm; /** * 角色业务层 @@ -108,26 +109,26 @@ public interface ISysRoleService /** * 新增保存角色信息 * - * @param role 角色信息 + * @param form 角色信息 * @return 结果 */ - public int insertRole(SysRole role); + public int insertRole(RoleSaveForm form); /** * 修改保存角色信息 * - * @param role 角色信息 + * @param form 角色信息 * @return 结果 */ - public int updateRole(SysRole role); + public int updateRole(RoleSaveForm form); /** * 修改角色状态 * - * @param role 角色信息 + * @param form 角色信息 * @return 结果 */ - public int updateRoleStatus(SysRole role); + public int updateRoleStatus(RoleSaveForm form); /** * 修改数据权限信息 diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/ISysUserService.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/ISysUserService.java index 48c5f92..4e2304f 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/ISysUserService.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/ISysUserService.java @@ -112,10 +112,10 @@ public interface ISysUserService /** * 新增用户信息 * - * @param user 用户信息 + * @param form 用户信息 * @return 结果 */ - public int insertUser(SysUser user); + public int insertUser(UserSaveForm form); /** * 注册用户信息 @@ -144,10 +144,10 @@ public interface ISysUserService /** * 修改用户状态 * - * @param user 用户信息 + * @param form 用户信息 * @return 结果 */ - public int updateUserStatus(SysUser user); + public int updateUserStatus(UserSaveForm form); /** * 修改用户基本信息 diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/impl/SysRoleServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/impl/SysRoleServiceImpl.java index 14b9bcc..5a10773 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/impl/SysRoleServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/impl/SysRoleServiceImpl.java @@ -14,7 +14,9 @@ import com.hxhq.system.domain.SysMenu; import com.hxhq.system.domain.SysRoleDept; import com.hxhq.system.domain.SysRoleMenu; import com.hxhq.system.domain.SysUserRole; +import com.hxhq.system.form.RoleSaveForm; import com.hxhq.system.mapper.*; +import com.hxhq.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -53,6 +55,8 @@ public class SysRoleServiceImpl implements ISysRoleService @Autowired private ISystemLogService systemLogService; + @Autowired + private ISysUserService sysUserService; /** * 根据条件分页查询角色数据 @@ -241,30 +245,34 @@ public class SysRoleServiceImpl implements ISysRoleService /** * 新增保存角色信息 * - * @param role 角色信息 + * @param form 角色信息 * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int insertRole(SysRole role) + public int insertRole(RoleSaveForm form) { + sysUserService.checkPassword(SecurityUtils.getLoginUser().getSysUser(),form.getSign().getQmrmm(),false); + SysRole role = form.getRole(); // 新增角色信息 roleMapper.insertRole(role); int row = insertRoleMenu(role); - systemLogService.saveInfo(role.getRoleName(),null,"新增角色","Create Role",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),null); + systemLogService.saveInfo(role.getRoleName(),null,"新增角色","Create Role",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),form.getSign().getRemark()); return row; } /** * 修改保存角色信息 * - * @param role 角色信息 + * @param form 角色信息 * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int updateRole(SysRole role) + public int updateRole(RoleSaveForm form) { + sysUserService.checkPassword(SecurityUtils.getLoginUser().getSysUser(),form.getSign().getQmrmm(),false); + SysRole role = form.getRole(); SysRole old = selectRoleById(role.getRoleId()); List oldMenuList = menuMapper.selectMenuByRoleId(role.getRoleId()); @@ -276,6 +284,9 @@ public class SysRoleServiceImpl implements ISysRoleService List logList = getModifyLogList(role,old,oldMenuList); if(logList.size()>0){ + for(SystemLog systemLog : logList){ + systemLog.setRemark(form.getSign().getRemark()); + } systemLogService.saveBatch(logList); } @@ -285,15 +296,21 @@ public class SysRoleServiceImpl implements ISysRoleService /** * 修改角色状态 * - * @param role 角色信息 + * @param form 角色信息 * @return 结果 */ @Override - public int updateRoleStatus(SysRole role) + public int updateRoleStatus(RoleSaveForm form) { + sysUserService.checkPassword(SecurityUtils.getLoginUser().getSysUser(),form.getSign().getQmrmm(),false); + SysRole role = form.getRole(); + String disableStatus = "1"; + if(disableStatus.equals(role.getStatus()) && countUserRoleByRoleId(role.getRoleId()) > 0){ + throw new ServiceException("角色已分配,不能禁用"); + } SysRole info = selectRoleById(role.getRoleId()); int row = roleMapper.updateRole(role); - systemLogService.saveInfo(info.getRoleName(),null,"0".equals(role.getStatus())?"启用角色":"禁用角色","0".equals(role.getStatus())?"Enable Role":"Disable Role",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),null); + systemLogService.saveInfo(info.getRoleName(),null,"0".equals(role.getStatus())?"启用角色":"禁用角色","0".equals(role.getStatus())?"Enable Role":"Disable Role",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),form.getSign().getRemark()); return row; } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/impl/SysUserServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/impl/SysUserServiceImpl.java index 35adece..e2c7931 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/impl/SysUserServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/system/service/impl/SysUserServiceImpl.java @@ -271,13 +271,15 @@ public class SysUserServiceImpl implements ISysUserService /** * 新增保存用户信息 * - * @param user 用户信息 + * @param form 用户信息 * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int insertUser(SysUser user) + public int insertUser(UserSaveForm form) { + checkPassword(SecurityUtils.getLoginUser().getSysUser(),form.getSign().getQmrmm(),false); + SysUser user = form.getUser(); // 新增用户信息 int rows = userMapper.insertUser(user); // 新增用户岗位关联 @@ -285,7 +287,7 @@ public class SysUserServiceImpl implements ISysUserService // 新增用户与角色管理 insertUserRole(user); - systemLogService.saveInfo(user.getUserName(),null,"新增用户","Create User",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),null); + systemLogService.saveInfo(user.getNickName(),null,"新增用户","Create User",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),form.getSign().getRemark()); return rows; } @@ -313,6 +315,7 @@ public class SysUserServiceImpl implements ISysUserService { SysUser user = form.getUser(); SignForm sign = form.getSign(); + checkPassword(SecurityUtils.getLoginUser().getSysUser(),sign.getQmrmm(),false); List logList = getModifyLogList(user, sign); if(logList.size()>0){ @@ -349,16 +352,18 @@ public class SysUserServiceImpl implements ISysUserService /** * 修改用户状态 * - * @param user 用户信息 + * @param form 用户信息 * @return 结果 */ @Override - public int updateUserStatus(SysUser user) + public int updateUserStatus(UserSaveForm form) { + checkPassword(SecurityUtils.getLoginUser().getSysUser(),form.getSign().getQmrmm(),false); + SysUser user = form.getUser(); SysUser info = selectUserById(user.getUserId()); int row = userMapper.updateUserStatus(user.getUserId(), user.getStatus()); - systemLogService.saveInfo(info.getUserName(),null,"0".equals(user.getStatus())?"启用用户":"禁用用户","0".equals(user.getStatus())?"Enable User":"Disable User",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),null); + systemLogService.saveInfo(info.getNickName(),null,"0".equals(user.getStatus())?"启用用户":"禁用用户","0".equals(user.getStatus())?"Enable User":"Disable User",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),form.getSign().getRemark()); return row; } @@ -496,7 +501,7 @@ public class SysUserServiceImpl implements ISysUserService // 删除用户与岗位表 userPostMapper.deleteUserPostByUserId(userId); int row = userMapper.deleteUserById(userId); - systemLogService.saveInfo(sysUser.getUserName(),null,"删除用户","Remove User",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),null); + systemLogService.saveInfo(sysUser.getNickName(),null,"删除用户","Remove User",null,null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),null); return row; } @@ -650,13 +655,13 @@ public class SysUserServiceImpl implements ISysUserService List list = new ArrayList<>(); List fieldChanges = ObjectCompareUtil.compareObjects(old, info); for (ObjectCompareUtil.FieldChange fieldChange : fieldChanges) { - SystemLog log = getLogInfo(old); + SystemLog log = getLogInfo(old,sign); log.setJcnr(fieldChange.toString()); log.setJcnrEn(fieldChange.toEnString()); list.add(log); } if(!info.getStatus().equals(old.getStatus())){ - SystemLog log = getLogInfo(old); + SystemLog log = getLogInfo(old,sign); log.setJcnr("[{\"name\":\"字段名\",\"value\":\"状态\"},{\"name\":\"原值\",\"value\":\""+("0".equals(old.getStatus())?"启用":"禁用")+"\"},{\"name\":\"新值\",\"value\":\""+("0".equals(info.getStatus())?"启用":"禁用")+"\"}]"); log.setJcnrEn("[{\"name\":\"Field\",\"value\":\"Status\"},{\"name\":\"Old Value\",\"value\":\""+("0".equals(old.getStatus())?"Enabled":"Disabled")+"\"},{\"name\":\"New Value\",\"value\":\""+("0".equals(info.getStatus())?"Enabled":"Disabled")+"\"}]"); list.add(log); @@ -665,7 +670,7 @@ public class SysUserServiceImpl implements ISysUserService SysDept oldDept = deptService.selectDeptById(old.getDeptId()); SysDept newDept = deptService.selectDeptById(info.getDeptId()); - SystemLog log = getLogInfo(old); + SystemLog log = getLogInfo(old,sign); log.setJcnr("[{\"name\":\"字段名\",\"value\":\"所属部门/学科\"},{\"name\":\"原值\",\"value\":\""+oldDept.getDeptName()+"\"},{\"name\":\"新值\",\"value\":\""+newDept.getDeptName()+"\"}]"); log.setJcnrEn("[{\"name\":\"Field\",\"value\":\"Department\"},{\"name\":\"Old Value\",\"value\":\""+oldDept.getDeptName()+"\"},{\"name\":\"New Value\",\"value\":\""+newDept.getDeptName()+"\"}]"); list.add(log); @@ -683,7 +688,6 @@ public class SysUserServiceImpl implements ISysUserService } } if(updateRole){ - checkPassword(SecurityUtils.getLoginUser().getSysUser(),sign.getQmrmm(),false); List allRoleList = roleMapper.selectRoleList(new SysRole()); List oldRoleList = new ArrayList<>(); List newRoleList = new ArrayList<>(); @@ -715,7 +719,7 @@ public class SysUserServiceImpl implements ISysUserService } } if(addNameList.size()>0 || deleteNameList.size()>0){ - SystemLog log = getLogInfo(old); + SystemLog log = getLogInfo(old,sign); log.setJcnr((addNameList.size()>0?("新增角色:"+String.join(",",addNameList)):"")+(deleteNameList.size()>0?(";删除角色:"+String.join(",",deleteNameList)):"")+(StringUtils.isBlank(sign.getRemark())?"":";备注:"+sign.getRemark())); log.setJcnrEn((addNameList.size()>0?("Add Role:"+String.join(",",addNameList)):"")+(deleteNameList.size()>0?(";Remove Role:"+String.join(",",deleteNameList)):"")+(StringUtils.isBlank(sign.getRemark())?"":";Comment:"+sign.getRemark())); list.add(log); @@ -729,7 +733,7 @@ public class SysUserServiceImpl implements ISysUserService * 获取日志基础信息 * @return */ - private SystemLog getLogInfo(SysUser sysUser){ + private SystemLog getLogInfo(SysUser sysUser,SignForm signForm){ SystemLog log = new SystemLog(); log.setName(sysUser.getNickName()); log.setNameEn(sysUser.getNickName()); @@ -738,6 +742,7 @@ public class SysUserServiceImpl implements ISysUserService log.setQmrId(SecurityUtils.getUserId()); log.setQmrMc(SecurityUtils.getNickName()); log.setQmrMcEn(SecurityUtils.getUsername()); + log.setRemark(signForm.getRemark()); return log; } }