From 6f852cbd9f7c814b7e232de56091a9afcdee14d4 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Thu, 8 Nov 2018 16:35:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BF=AE=E6=94=B9=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E5=8A=9F=E8=83=BD=20=E6=9B=B4=E6=96=B0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=20Bug=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysUserService.java | 8 ++ .../controller/busi/SysUserController.java | 105 ++++++++++++--------- .../serviceimpl/busi/SysUserService.java | 29 +++++- 3 files changed, 99 insertions(+), 43 deletions(-) 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 a557ced..4737678 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 @@ -48,6 +48,14 @@ public interface ISysUserService { void updateSysUser(SysUser sysUser) throws Exception; /** + * 修改用户密码 + * @param userIdStr 需要修改的用户ID + * @param password 旧密码 + * @param newPwd 新密码 + */ + void updateSysUserPassword(String userIdStr,String password,String newPwd) throws Exception; + + /** * 新增用户信息 * @param sysUser 新增用户 * @return 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 ed59659..bd08ae2 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 @@ -7,6 +7,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.RefUserRole; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysUser; import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo; import cn.estsh.impp.framework.boot.auth.AuthUtil; @@ -137,6 +138,68 @@ public class SysUserController { } } + @PutMapping(value = "/status") + @ApiOperation(value = "修改用户状态", notes = "根据ID修改用户状态") + public ResultBean updateStatus(String id, int status) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "用户id 不能为空"); + ValidatorBean.checkNotZero(status, "用户状态不能为空"); + + sysUserService.updateSysUserStatus(id, status, AuthUtil.getSessionUser()); + return new ResultBean(true); + } catch (ImppBusiException busExcep) { + LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); + return ResultBean.fail(busExcep.getErrorShow()); + } catch (Exception e) { + LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); + return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); + } + } + + @PutMapping(value = "/batch-status") + @ApiOperation(value = "批量修改系统功能状态", notes = "根据ID修改系统功能状态") + public ResultBean updateBatchStatus(String[] ids,int status) { + try { + ids = ConvertBean.modelSafeArrayNumber(ids,true); + + // 数据校验 + ValidatorBean.checkNotNull(ids, "功能id 不能为空"); + ValidatorBean.checkNotZero(status, "功能状态不能为空"); + + sysUserService.updateBatchSysUserStatus(ids,status,AuthUtil.getSessionUser()); + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); + return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); + } + } + + @PutMapping(value = "/update-password") + @ApiOperation(value = "修改密码", notes = "修改当前登录用户密码") + public ResultBean updateSysUserPassword(String password,String newPwd) { + try { + SessionUser sessionUser = AuthUtil.getSessionUser(); + // 数据校验 + ValidatorBean.checkNotNull(password, "旧密码不能为空"); + ValidatorBean.checkNotNull(newPwd, "新密码不能为空"); + + sysUserService.updateSysUserPassword(sessionUser.getUser().getId().toString(),password,newPwd); + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); + return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); + } + } + @GetMapping(value = "/list") @ApiOperation(value = "查询所有用户", notes = "查询所有系统用户") public ResultBean findAll() { @@ -195,25 +258,6 @@ public class SysUserController { } } - @PutMapping(value = "/status") - @ApiOperation(value = "修改用户状态", notes = "根据ID修改用户状态") - public ResultBean updateStatus(String id, int status) { - try { - // 数据校验 - ValidatorBean.checkNotNull(id, "用户id 不能为空"); - ValidatorBean.checkNotZero(status, "用户状态不能为空"); - - sysUserService.updateSysUserStatus(id, status, AuthUtil.getSessionUser()); - return new ResultBean(true); - } catch (ImppBusiException busExcep) { - LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); - } catch (Exception e) { - LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); - return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); - } - } - @DeleteMapping(value = "/batch-delete") @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") public ResultBean deleteBatchSysUserByIds(String[] ids){ @@ -239,28 +283,6 @@ public class SysUserController { } } - @PutMapping(value = "/batch-status") - @ApiOperation(value = "批量修改系统功能状态", notes = "根据ID修改系统功能状态") - public ResultBean updateBatchStatus(String[] ids,int status) { - try { - ids = ConvertBean.modelSafeArrayNumber(ids,true); - - // 数据校验 - ValidatorBean.checkNotNull(ids, "功能id 不能为空"); - ValidatorBean.checkNotZero(status, "功能状态不能为空"); - - sysUserService.updateBatchSysUserStatus(ids,status,AuthUtil.getSessionUser()); - - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - } catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); - }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); - } - } - @GetMapping(value = "/find-ref-role/{userId}") @ApiOperation(value = "查询角色的所有角色权限关系", notes = "查询角色的所有角色权限关系") public ResultBean findRefRoleMenu(@PathVariable("userId") String userId) { @@ -279,5 +301,4 @@ public class SysUserController { } } - } 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 57be59e..1c9014c 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 @@ -156,6 +156,33 @@ public class SysUserService implements ISysUserService { } @Override + public void updateSysUserPassword(String userIdStr, String password, String newPwd) throws Exception { + LOGGER.info("平台用户 SYS_USER userIdStr:{} password:{} newPwd:{}", userIdStr,password,newPwd); + SysUser user = sysUserRDao.getById(Long.parseLong(userIdStr)); + if(user != null){ + String md5 = EncryptTool.hexMD5(password); + if(md5.equals(user.getUserLoginPassword())){ + user.setUserLoginPassword(EncryptTool.hexMD5(newPwd)); + sysUserRDao.save(user); + }else { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.LOGIN_USER_NAME_PASSWORD_UPDATE_EXCEPTION.getCode()) + .setErrorDetail("旧密码错误") + .setErrorSolution("请重新输入") + .build(); + } + }else { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("用户不存在") + .setErrorSolution("请重新操作") + .build(); + } + } + + @Override public SysUser insertSysUser(SysUser sysUser )throws Exception { LOGGER.info("平台用户 SYS_USER SysUser:{}", sysUser); @@ -380,7 +407,7 @@ public class SysUserService implements ISysUserService { sessionUser.setLanguageCode(languageCode); sessionUser.setUserName(user.getName()); sessionUser.setUserTypeId(CommonEnumUtil.USER_TYPE.valueOf(userType)); - sessionUser.setUserCode(user.getUserInfo().getLanguageCode()); + sessionUser.setUserCode(user.getUserEmpNo()); sessionUser.setRoleList(user.getRoleList()); sessionUser.setDepartmentList(user.getDepartmentList()); sessionUser.setPositionList(user.getPositionList());