From f3fa7e92e77eeb70f1df1f5bda219e11b9ba7e05 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Wed, 14 Jan 2026 16:32:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7=E6=9C=AA?= =?UTF-8?q?=E5=85=A5=E8=81=8C=E4=BC=81=E4=B8=9A=EF=BC=8C=E5=BF=98=E8=AE=B0?= =?UTF-8?q?=E5=AF=86=E7=A0=81=E5=8A=9F=E8=83=BD=E5=92=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=AF=86=E7=A0=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcloud/basic/info/domain/model/UserE.java | 9 +++ .../repository/impl/UserRepositoryImpl.java | 59 ++++++++++++++----- 2 files changed, 54 insertions(+), 14 deletions(-) diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java index 09c5ff04..b14cbbcd 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java @@ -306,6 +306,13 @@ public class UserE extends BaseE { String s1 = MD5.md5(password); return s.equalsIgnoreCase(s1); } + public Boolean checkUserEncryptionPassword(String password, String content) { + String newPassword = DataEncryptDecryptUtil.sm2Decrypt(privateKey, publicKey, password); + String oldPassword = DataEncryptDecryptUtil.sm2Decrypt(privateKey, publicKey, content); +// String s1 = MD5.md5(password); + return newPassword.equalsIgnoreCase(oldPassword); + + } public static void main(String[] args) { String publicKey = "0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee"; @@ -382,5 +389,7 @@ public class UserE extends BaseE { } } + + } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java index ff2d6c82..68351ce3 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java @@ -417,14 +417,24 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i userDOUpdate.setId(id); userDOUpdate.setPassword(password); updateById(userDOUpdate); + SingleResponse detail = null; + try { + log.info("updateXgf,GBS获取用户信息{}", id); + detail = userFacade.getDetail(id); + log.info("updateXgf,GBS获取用户信息返回: {}", JSONUtil.toJsonStr(detail)); + } catch (Exception e) { + log.error("updateXgf,GBS获取用户信息失败: {}", e.getMessage()); + } + if(detail.getData() != null){ + //更新gbs密码 + UserUpdatePasswordCmd userUpdatePasswordCmd = new UserUpdatePasswordCmd(); + userUpdatePasswordCmd.setId(id); + userUpdatePasswordCmd.setPassword(password); + log.info("更新用户密码id:{}", id); + Response response = userFacade.updatePassword(userUpdatePasswordCmd); + log.info("更新密码结果:{}", response); + } - //更新gbs密码 - UserUpdatePasswordCmd userUpdatePasswordCmd = new UserUpdatePasswordCmd(); - userUpdatePasswordCmd.setId(id); - userUpdatePasswordCmd.setPassword(password); - log.info("更新用户密码id:{}", id); - Response response = userFacade.updatePassword(userUpdatePasswordCmd); - log.info("更新密码结果:{}", response); } @Override @@ -476,17 +486,38 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i @Override public Response updatePassword(UserDO userDO) { + UserDO oldUserDO = getById(userDO.getId()); // TODO 验证老密码是否正确 if (userDO.getPassword() != null && !userDO.getPassword().equals("")) { - AccountPasswordCheckCmd accountPasswordCheckCmd = new AccountPasswordCheckCmd(); - accountPasswordCheckCmd.setUserId(userDO.getId()); - accountPasswordCheckCmd.setPassword(userDO.getPassword()); - SingleResponse response = accountFacade.checkPassword(accountPasswordCheckCmd); - if (!response.isSuccess()) { - return Response.buildFailure("原密码不正确"); + SingleResponse detail = null; + try { + log.info("updateXgf,GBS获取用户信息{}", userDO.getId()); + detail = userFacade.getDetail(userDO.getId()); + log.info("updateXgf,GBS获取用户信息返回: {}", JSONUtil.toJsonStr(detail)); + } catch (Exception e) { + log.error("updateXgf,GBS获取用户信息失败: {}", e.getMessage()); } + if(detail.getData() != null){ + AccountPasswordCheckCmd accountPasswordCheckCmd = new AccountPasswordCheckCmd(); + accountPasswordCheckCmd.setUserId(userDO.getId()); + accountPasswordCheckCmd.setPassword(userDO.getPassword()); + SingleResponse response = accountFacade.checkPassword(accountPasswordCheckCmd); + if (!response.isSuccess()) { + return Response.buildFailure("原密码不正确"); + } + }else{ + //验证本地密码 + UserE userE = new UserE(); + Boolean checkUserPassword = userE.checkUserEncryptionPassword(userDO.getPassword(), oldUserDO.getPassword()); + if(!checkUserPassword){ + throw new BizException("密码错误"); + } + } + + }else{ + throw new BizException("请输入原密码"); } - UserDO oldUserDO = getById(userDO.getId()); + //修改多个密码 String phone = oldUserDO.getPhone();