From 07e115520126d32ddd78a2b3a030e8c552a90007 Mon Sep 17 00:00:00 2001 From: FLYPHT <1035748121@qq.com> Date: Sat, 17 Sep 2022 16:51:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../smtweb/system/bpm/web/login/AuthService.java | 35 ++++++++++++++++++++++ .../smtweb/system/bpm/web/login/LoginHelper.java | 8 +++-- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/AuthService.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/AuthService.java index b3a3b07..1759cdf 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/AuthService.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/AuthService.java @@ -14,10 +14,13 @@ import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.exception.BizException; import cc.smtweb.framework.core.session.SessionManager; import cc.smtweb.framework.core.session.UserSession; +import cc.smtweb.framework.core.util.CommUtil; import cc.smtweb.system.bpm.web.sys.user.party.Party; import cc.smtweb.system.bpm.web.sys.user.party.PartyCache; +import cc.smtweb.system.bpm.web.sys.user.role.RoleCache; import cc.smtweb.system.bpm.web.sys.user.user.User; import cc.smtweb.system.bpm.web.sys.user.user.UserCache; +import cc.smtweb.system.bpm.web.sys.user.user.UserRoleCache; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; @@ -153,7 +156,39 @@ public class AuthService { CacheManager.getIntance().refresh(); return R.success(); } + // 加载个人信息 + public R userInfo(@SwBody SwMap params, UserSession us) { + SwMap data = new SwMap(); + + User user = (User) UserCache.getInstance().get(us.getUserId()).clone(); + user.setId(us.getUserId()); + user.put("create_time", user.getCreate()); + user.put("sur_party", PartyCache.getInstance().get(us.getPartyId())); + user.put("sur_roles", RoleCache.getInstance().getNamesByIds(UserRoleCache.getInstance().getRoleIdByUP(us.getUserId(), us.getPartyId()))); + data.put("userInfo", user); + return R.success(data); + } + // 修改个人信息 + public R saveUser(@SwBody SwMap params, UserSession us) { + SwMap userInfo = params.readMap("userInfo"); + User user = UserCache.getInstance().get(us.getUserId()); + user.getData().putAll(userInfo); + DbEngine.getInstance().findDao(User.ENTITY_NAME).updateEntity(user); + UserCache.getInstance().put(user); + return R.success(); + } + // 修改密码 + public R changePwd(@SwBody SwMap params, UserSession us) { + String old_pwd = params.readString("old_pwd"); + String new_pwd = params.readString("new_pwd"); + User user = UserCache.getInstance().get(us.getUserId()); + if (!LoginHelper.verifyPwd(user, old_pwd)) { + return R.error("旧密码错误"); + } + LoginHelper.resetUserPwd(user, new_pwd); + return R.success(); + } // 创建前端登录对象值对象 private LoginAckVO createLoginAckVO(User user,UserSession userSession){ LoginAckVO loginAckVO = new LoginAckVO(); diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/LoginHelper.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/LoginHelper.java index 148e233..005f7c5 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/LoginHelper.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/login/LoginHelper.java @@ -165,6 +165,10 @@ public class LoginHelper { public static void checkPwdSecurity(String pwd) { } - - + // 重置密码 + public static void resetUserPwd(User user, String pwd) { + user.setPwd(LoginHelper.encodePwd(user.getId(), pwd)); + DbEngine.getInstance().findDao(User.ENTITY_NAME).updateEntity(user); + UserCache.getInstance().put(user); + } }