From d5ecca7b6b0fb7948b3a065ceb1b219550cbba0c Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Mon, 17 Oct 2022 14:26:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E5=90=88=E7=A7=BB=E5=8A=A8=E7=AB=AF?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=98=AF=E5=90=A6=E6=9B=B4=E6=94=B9=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=8C=E6=9B=B4=E6=94=B9=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=E8=BF=94=E5=9B=9E=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anrui/portal/api/sysuser/SysUserVo.java | 3 ++ .../api/sysuser/app/AppSysUserFeign.java | 2 +- .../portal/biz/sysuser/SysUserService.java | 40 ++++++++++++++++--- .../biz/sysuser/app/AppSysUserRest.java | 7 ++-- 4 files changed, 42 insertions(+), 10 deletions(-) diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java index df03f08fe6..dda423b6ad 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java @@ -85,4 +85,7 @@ public class SysUserVo implements Vo { private List orgList = new ArrayList<>(); private String defaultOrgPath; private String defaultOrgPathName; + + @ApiModelProperty("是否需要更换密码") + private Boolean needResetPsd; } diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/AppSysUserFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/AppSysUserFeign.java index d59e04ee4e..882b9dac89 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/AppSysUserFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/AppSysUserFeign.java @@ -44,7 +44,7 @@ public interface AppSysUserFeign { @ApiOperation(value = "手机更改密码") @ResponseBody @PostMapping("/updatePassword") - public ResultBean updatePassword(@RequestParam(value = "userSid", required = true) String userSid, + public ResultBean updatePassword(@RequestParam(value = "userSid", required = true) String userSid, @RequestParam(value = "appId", required = true) String appId, @RequestParam(value = "oldPassword", required = true) String oldPassword, @RequestParam(value = "newPassword", required = true) String newPassword, diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java index 1d9577a27b..71429a7db0 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java @@ -234,20 +234,37 @@ public class SysUserService extends MybatisBaseService { return baseMapper.updatePassword(sid, password); } - public ResultBean updatePasswordApp(SysUser user, String oldPassword, String newPassword, String token) { + public ResultBean updatePasswordApp(SysUser user, String oldPassword, String newPassword, String token) { + ResultBean rb = ResultBean.fireFail(); String oldPasswordMd5 = Encodes.md5(oldPassword); if (!oldPasswordMd5.equals(user.getPassword())) { - return ResultBean.fireFail().setMsg("原始密码输入错误"); + return rb.setMsg("原始密码输入错误"); } if (!newPassword.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,10}$")) { - return ResultBean.fireFail().setMsg("密码格式错误,必须为8至10位大小写字母和数字的组合"); + return rb.setMsg("密码格式错误,必须为8至10位大小写字母和数字的组合"); } int i = baseMapper.updatePasswordApp(user.getSid(), Encodes.md5(newPassword)); + SysUserVo sysUserVo = selectUserOne(user); + if (sysUserVo == null) { + sysUserVo = new SysUserVo(); + } else { + //查询是否需要更换密码 + boolean isTrue = false; + String mobile = user.getMobile(); + if (StringUtils.isNotBlank(mobile)) { + String password = mobile.substring(5, 11); + String md5 = Encodes.md5(password); + if (user.getPassword().equals(md5)) { + isTrue = true; + } + } + sysUserVo.setNeedResetPsd(isTrue); + } if (i == 1) { redisUtil.remove(token); - return ResultBean.fireSuccess().setMsg("修改成功"); + return rb.success().setData(sysUserVo); } else { - return ResultBean.fireSuccess().setMsg("修改失败"); + return rb.setMsg("修改失败"); } } @@ -338,7 +355,7 @@ public class SysUserService extends MybatisBaseService { userInfoOneVo.setDepartmentName(sysStaffOrgVo.getOrgName()); userInfoOneVo.setDepartmentSid(sysStaffOrgVo.getOrgSid()); SysOrganization sysOrganizationOne = sysOrganizationService.fetchBySid(sysStaffOrgVo.getOrgSid()); - if(sysOrganizationOne != null){ + if (sysOrganizationOne != null) { String psid = sysOrganizationOne.getPsid(); String name = sysOrganizationService.fetchBySid(psid).getName(); userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName()); @@ -407,6 +424,17 @@ public class SysUserService extends MybatisBaseService { sysUserVo.setToken(newToken); // 更新用户中的token updateToken(user.getSid(), newToken); + //查询是否需要更换密码 + boolean isTrue = false; + String mobile = user.getMobile(); + if (StringUtils.isNotBlank(mobile)) { + String password = mobile.substring(5, 11); + String md5 = Encodes.md5(password); + if (user.getPassword().equals(md5)) { + isTrue = true; + } + } + sysUserVo.setNeedResetPsd(isTrue); return sysUserVo; } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java index aae5293c86..72d8ffadeb 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java @@ -278,14 +278,15 @@ public class AppSysUserRest implements AppSysUserFeign { } @Override - public ResultBean updatePassword(String userSid, String appId, String oldPassword, String newPassword, HttpServletRequest httpServletRequest) { + public ResultBean updatePassword(String userSid, String appId, String oldPassword, String newPassword, HttpServletRequest httpServletRequest) { + ResultBean rb = ResultBean.fireFail(); String token = httpServletRequest.getHeader("token"); SysUser user = sysUserService.fetchBySid(userSid); if (user == null) { - return ResultBean.fireFail().setMsg("抱歉,用户不存在"); + return rb.setMsg("抱歉,用户不存在"); } if (!appId.equals(user.getAppId())) { - return new ResultBean().fail().setMsg("当前设备与账号不匹配,请解绑后再试"); + return rb.setMsg("当前设备与账号不匹配,请解绑后再试"); } return sysUserService.updatePasswordApp(user, oldPassword, newPassword, token); }