From 8f658735b115435976184bff834f6106c92971a2 Mon Sep 17 00:00:00 2001 From: wynne1005 Date: Tue, 13 Apr 2021 14:59:02 +0800 Subject: [PATCH] =?UTF-8?q?refactor(core):=20=E6=96=B0=E5=A2=9E=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E9=BB=98=E8=AE=A4=E6=B7=BB=E5=8A=A0UserPassword?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增用户默认添加UserPassword --- .../core/apiservice/controller/base/WhiteController.java | 3 +++ .../apiservice/controller/busi/PersonnelController.java | 13 +++++++++++++ .../core/apiservice/serviceimpl/busi/SysUserService.java | 13 ++++++++++--- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 2e08c19..eac36b2 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -337,13 +337,16 @@ public class WhiteController extends CoreBaseController { result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_PASSWORD.getDescription()).setCode(ImppExceptionEnum.LOGIN_EXCEPTION_USER_PASSWORD.getCode()); result.setErrorMsg(e.getMessage()); userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR; + LOGGER.warn("Impp业务异常AuthenticationException 登录失败 ", e); } catch (ImppBusiException e) { result = ResultBean.fail(e); userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR; + LOGGER.warn("Impp业务异常ImppBusiException 登录失败 ", e); } catch (Exception e) { result = ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()) .setErrorMsg(LocaleUtils.getEnumLocaleResDesc(ImppExceptionEnum.SYSTEM_EXCEPTION, ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription())); userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR; + LOGGER.warn("Impp业务异常Exception 登录失败 ", e); } finally { // 记录登录记录 recordSysUserLog(null, loginModel.getLoginName(), userLoginStatus.getValue()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java index cd0c3a8..5417f96 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java @@ -22,6 +22,7 @@ import cn.estsh.i3plus.pojo.model.platform.UserDetailModel; import cn.estsh.i3plus.pojo.model.platform.UserDetailPagerModel; import cn.estsh.i3plus.pojo.model.platform.UserRolePagerModel; import cn.estsh.i3plus.pojo.platform.bean.*; +import cn.estsh.i3plus.pojo.platform.repository.SysUserPasswordRepository; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -87,6 +88,9 @@ public class PersonnelController extends CoreBaseController { @Autowired private SysUserPasswordUtil userPasswordUtil; + @Autowired + private SysUserPasswordRepository userPasswordRDao; + /** * 添加用户信息 * @@ -150,6 +154,15 @@ public class PersonnelController extends CoreBaseController { user.setUserInfoId(info.getId()); user.setUserPasswordLastModifyTime(TimeTool.getNowTime(true)); refreshSysUserPassword(user); + SysUser userSaved=personnelService.saveSysUser(user); + + // 添加保存passwordId进SysUser表 + SysUserPassword pwd = new SysUserPassword(); + pwd.setUserId(userSaved.getId()); + pwd.setUserPassword(userSaved.getUserLoginPassword()); + ConvertBean.serviceModelInitialize(pwd, userSaved.getUserName()); + SysUserPassword savedPassword = userPasswordRDao.save(pwd); + user.setUserLoginPasswordId(savedPassword.getId()); personnelService.saveSysUser(user); info.setUserId(user.getId()); 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 75f1e0e..2d6b3d7 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 @@ -729,10 +729,17 @@ public class SysUserService implements ISysUserService { public SysUser validatePasswordByLoginNameAndReturnUser(String loginName, String password) { SysUser userDb = getSysUserByLoginName(loginName); ValidatorBean.checkNotNull(userDb, "不存在的用户信息"); - SysUserPassword userPassword = userPasswordService.get(userDb.getUserLoginPasswordId()); - if (!userPassword.getUserPassword().equals(SysUserPasswordUtil.encoder(password))) { - throw new IncorrectCredentialsException("用户密码错误"); + if (userDb.getUserLoginPasswordId() == null || userDb.getUserLoginPasswordId() <= 0) { + if (!userDb.getUserLoginPassword().equals(SysUserPasswordUtil.encoder(password))) { + throw new IncorrectCredentialsException("用户密码错误"); + } + } else { + SysUserPassword userPassword = userPasswordService.get(userDb.getUserLoginPasswordId()); + if (!userPassword.getUserPassword().equals(SysUserPasswordUtil.encoder(password))) { + throw new IncorrectCredentialsException("用户密码错误"); + } } + return userDb; }