From 25ca8ba06c6ded0b4f8956d31ef91adba4d66fcb Mon Sep 17 00:00:00 2001 From: lizhanhao Date: Mon, 24 Feb 2025 19:33:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BF=AE=E6=94=B9=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/controller/UserController.java | 9 +++++- .../pojo/req/ChangePasswordRequest.java | 32 +++++++++++++++++++ .../software/manage/service/UserService.java | 9 ++++++ .../service/serviceimpl/UserServiceImpl.java | 25 +++++++++++++++ .../enums/ElectromagneticErrorEnum.java | 2 ++ 5 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/ChangePasswordRequest.java diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java index ce6fd12..4817b5b 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java @@ -16,8 +16,8 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; -@RequestMapping("/data/ed/user") @RestController +@RequestMapping("/data/ed/user") public class UserController { @Resource @@ -102,6 +102,13 @@ public class UserController { } } + @RequiredRole(AdminTypeEnum.SYSTEM) + @PutMapping("/changePassword") + @UserOperation(value="修改了用户密码", modelName = UserOperationModuleEnum.USER) + public ElectromagneticResult changePassword(@RequestBody ChangePasswordRequest request) { + return userService.changePassword(request.getUserId(), request.getOldPassword(), request.getNewPassword()); + } + @RequiredRole(AdminTypeEnum.SECURITY) @GetMapping(value = "/resetPassword/{userId}") @UserOperation(value="重置了密码", modelName = UserOperationModuleEnum.USER) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/ChangePasswordRequest.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/ChangePasswordRequest.java new file mode 100644 index 0000000..44cd774 --- /dev/null +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/ChangePasswordRequest.java @@ -0,0 +1,32 @@ +package com.electromagnetic.industry.software.manage.pojo.req; + +public class ChangePasswordRequest { + private String userId; + private String oldPassword; + private String newPassword; + + // Getters and Setters + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getOldPassword() { + return oldPassword; + } + + public void setOldPassword(String oldPassword) { + this.oldPassword = oldPassword; + } + + public String getNewPassword() { + return newPassword; + } + + public void setNewPassword(String newPassword) { + this.newPassword = newPassword; + } +} diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/UserService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/UserService.java index 6ea227a..d599810 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/UserService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/UserService.java @@ -91,4 +91,13 @@ public interface UserService { * @param userId */ Boolean resetPassword(String userId); + + /** + * + * @param userId 用户ID + * @param oldPassword + * @param newPassword + * @return + */ + ElectromagneticResult changePassword(String userId, String oldPassword, String newPassword); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/UserServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/UserServiceImpl.java index 0d02056..afd5662 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/UserServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/UserServiceImpl.java @@ -284,6 +284,31 @@ public class UserServiceImpl implements UserService { return Boolean.TRUE; } + /** + * 修改用户密码 + * + * @param userId 用户ID + * @param oldPassword 旧密码 + * @param newPassword 新密码 + * @return 修改结果 + */ + @Override + public ElectromagneticResult changePassword(String userId, String oldPassword, String newPassword) { + User user = userMapper.getSingleUser(userId); + if (user == null) { + return ElectromagneticResultUtil.fail("53106", "USER_NOT_FOUND"); + } + + if (!matchPassword(user, oldPassword)) { + return ElectromagneticResultUtil.fail("53107", "OLD_PASSWORD_INCORRECT"); + } + + user.setUserPwd(SignUtils.MD5(newPassword + user.getSalt())); + user.setModifier(UserThreadLocal.getUserId()); + user.setModifierName(UserThreadLocal.getUsername()); + return ElectromagneticResultUtil.success(userMapper.modify(user) > 0); + } + /** * 重置密码 * diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/ElectromagneticErrorEnum.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/ElectromagneticErrorEnum.java index 9a00cf4..259be3c 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/ElectromagneticErrorEnum.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/ElectromagneticErrorEnum.java @@ -159,6 +159,8 @@ public enum ElectromagneticErrorEnum implements ErrorEnum { TESTDRILLINGDATA_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53103", "TESTDRILLINGDATA_ERROR", "下钻服务测试失败!"), DRILLINGCONFIG_ORGLEVE_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53104", " DRILLINGCONFIG_ORGLEVE_ERROR", "下钻机构权限勾选不正确!"), BRANCH_ORGANIZATION_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53105", "BRANCH_ORGANIZATION_ERROR", "获取用户配置机构信息!"), + USER_NOT_FOUND(ErrorLevels.ERROR, ErrorTypes.BIZ, "53106", "USER_NOT_FOUND", "用户不存在"), + OLD_PASSWORD_INCORRECT(ErrorLevels.ERROR, ErrorTypes.BIZ, "53107", "OLD_PASSWORD_INCORRECT", "旧密码不正确"), ;