diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java index b44a3e5..a20e14c 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java @@ -72,9 +72,9 @@ public interface ISysUserService { * 刷新用户角色关系 * @param sysUser * @param roleIds - * @param user + * @param userName */ - void refreshRefUserRole(SysUser sysUser, String[] roleIds , SessionUser user); + void refreshRefUserRole(SysUser sysUser, String[] roleIds , String userName); /** * 根据Key 删除数据 @@ -109,7 +109,7 @@ public interface ISysUserService { * @param id * @return */ - SysUser getSysUserById(String id); + SysUser getSysUserById(Long id); /** * 获取用户详细信息 @@ -132,4 +132,11 @@ public interface ISysUserService { */ List findRefUserRoleByUserId(String userId); + /** + * 判断用户名是否存在 + * @param userLoginName + * @param id + * @return + */ + boolean checkLoginName(String userLoginName,long id); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/LogSystemController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/LogSystemController.java index 7f1c675..9aa28f6 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/LogSystemController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/LogSystemController.java @@ -31,7 +31,7 @@ import java.util.List; **/ @RestController @Api(description = "系统日志服务") -@RequestMapping(CoreBaseController.BASE_URL +"log-system") +@RequestMapping(CoreBaseController.BASE_URL +"/log-system") public class LogSystemController extends CoreBaseController{ public static final Logger LOGGER = LoggerFactory.getLogger(LogSystemController.class); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java index 49fa5c7..b8678e7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java @@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.tool.EncryptTool; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; @@ -86,7 +87,7 @@ public class SysUserController extends CoreBaseController{ SysUser user = sysUserService.insertSysUser(sysUser); // 更新用户关系 - sysUserService.refreshRefUserRole(user,roleIds,AuthUtil.getSessionUser()); + sysUserService.refreshRefUserRole(user,roleIds,getSessionUser().getUserName()); return ResultBean.success("操作成功") .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) @@ -119,8 +120,17 @@ public class SysUserController extends CoreBaseController{ .build(); } + if (sysUserService.checkLoginName(sysUser.getUserLoginName(), sysUser.getId())) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("用户名已存在") + .build(); + } + // 用户信息封装 SysUserInfo userInfo = sysUserService.getSysUserInfoById(sysUser.getUserInfoId()); + SysUser user = sysUserService.getSysUserById(sysUser.getId()); if(userInfo == null){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) @@ -129,18 +139,27 @@ public class SysUserController extends CoreBaseController{ .build(); } - sysUser.setUserName(userInfo.getName()); - sysUser.setDepartmentId(userInfo.getDepartmentId()); - sysUser.setDepartmentNameRdd(userInfo.getDepartmentNameRdd()); + // 修改密码 + if(sysUser.getUserLoginPassword() != null && sysUser.getUserLoginPassword().trim().length() > 0){ + String md5 = EncryptTool.hexMD5(sysUser.getUserLoginPassword()); + user.setUserLoginPassword(md5); + } + + user.setUserName(userInfo.getName()); + user.setDepartmentId(userInfo.getDepartmentId()); + user.setDepartmentNameRdd(userInfo.getDepartmentNameRdd()); + user.setUserLoginName(sysUser.getUserLoginName()); + user.setUserEmail(sysUser.getUserEmail()); + user.setUserPhone(sysUser.getUserPhone()); ConvertBean.modelUpdate(sysUser,AuthUtil.getSessionUser()); // 更新用户关系 - sysUserService.refreshRefUserRole(sysUser,roleIds,AuthUtil.getSessionUser()); - sysUserService.updateSysUser(sysUser); + sysUserService.refreshRefUserRole(user,roleIds,getSessionUser().getUserName()); + sysUserService.updateSysUser(user); return ResultBean.success("操作成功") .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) - .setResultObject(sysUser); + .setResultObject(user); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); return ResultBean.fail(busExcep.getErrorShow()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java index e02123b..b8c487f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java @@ -49,7 +49,7 @@ public class MailQueueReceiver { sysMessageService.insertRefUserMessage(msg); SysMessage sysMessage = sysMessageService.getSysMessageById(msg.getMessageId().toString()); - SysUser sysUser = sysUserService.getSysUserById(msg.getReceiverId().toString()); + SysUser sysUser = sysUserService.getSysUserById(msg.getReceiverId()); MailUtil mailUtil = new MailUtil(); mailUtil.setSubject(sysMessage.getMessageTitle()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index 7420cd2..7ed97b5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -13,6 +13,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken; import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken; import cn.estsh.i3plus.pojo.base.shirotoken.UserToken; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; import cn.estsh.i3plus.pojo.platform.bean.*; import cn.estsh.i3plus.pojo.platform.repository.*; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; @@ -117,27 +118,7 @@ public class SysUserService implements ISysUserService { @Override public void updateSysUser(SysUser sysUser) throws Exception{ LOGGER.debug("平台用户 SYS_USER SysUser :{}", sysUser); - - SysUser loginUser = getSysUserByLoginName(sysUser.getUserLoginName()); - // 判断是否修改登录名称 - if (loginUser == null || loginUser.getId().equals(sysUser.getId())) { - // 密码加密 输入的密码不等于密码一致时修改密码 - if(null != sysUser.getUserLoginPassword() && sysUser.getUserLoginPassword().trim().length() > 0){ - if(sysUser.getUserLoginPassword().equals(loginUser.getUserLoginPassword())){ - String md5 = EncryptTool.hexMD5(sysUser.getUserLoginPassword()); - sysUser.setUserLoginPassword(md5); - } - } - - sysUserRDao.save(sysUser); - }else { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) - .setErrorDetail("用户名已存在") - .setErrorSolution("请重新输入用户名") - .build(); - } + sysUserRDao.save(sysUser); } @Override @@ -200,7 +181,7 @@ public class SysUserService implements ISysUserService { } @Override - public void refreshRefUserRole(SysUser sysUser, String[] roleIds, SessionUser user) { + public void refreshRefUserRole(SysUser sysUser, String[] roleIds, String userName) { LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser); LOGGER.debug("平台用户 SYS_USER String[] :{}", roleIds); @@ -224,6 +205,10 @@ public class SysUserService implements ISysUserService { refUserRole.setRoleNameRdd(role.getName()); refUserRole.setUserId(sysUser.getId()); refUserRole.setUserNameRdd(sysUser.getUserName()); + refUserRole.setCreateUser(userName); + refUserRole.setCreateDatetime(TimeTool.getNowTime(true)); + refUserRole.setModifyUser(userName); + refUserRole.setModifyDatetime(TimeTool.getNowTime(true)); refUserRoles.add(refUserRole); } @@ -282,9 +267,9 @@ public class SysUserService implements ISysUserService { } @Override - public SysUser getSysUserById(String id) { + public SysUser getSysUserById(Long id) { LOGGER.debug("平台用户 SYS_USER get By id :{}", id); - return sysUserRDao.getById(Long.parseLong(id)); + return sysUserRDao.getById(id); } @Override @@ -304,6 +289,21 @@ public class SysUserService implements ISysUserService { return refUserRoleRDao.findByProperty("userId",Long.parseLong(userId)); } + @Override + public boolean checkLoginName(String userLoginName, long id) { + int count; + if(id > 0){ + StringBuffer sw = new StringBuffer(); + HqlPack.getStringEqualPackOr(userLoginName,"userLoginName",sw); + HqlPack.getNumNOEqualPack(id,"id",sw); + count = sysUserRDao.findByHqlWhereCount(sw.toString()); + + }else{ + count = sysUserRDao.findByPropertyCount("userLoginName",userLoginName); + } + return count <= 0 ; + } + /** * 封装用户登陆信息 *