瀏覽代碼

add:中台增加权限管理(重置账户密码功能)

lyx 1 周之前
父節點
當前提交
692389e1f0

+ 7 - 0
alien-store/src/main/java/shop/alien/store/controller/SystemController.java

@@ -84,6 +84,13 @@ public class SystemController {
         return systemService.updateUser(updateDto);
     }
 
+    @ApiOperation("重置密码")
+    @ApiOperationSupport(order = 6)
+    @GetMapping(value = "/resetPassword")
+    public R<LifeSys> resetPassword(@RequestParam Integer userId) {
+        log.info("SystemController.resetPassword => userId={}", userId);
+        return systemService.resetPassword(userId);
+    }
 
 /**
  * 废弃

+ 7 - 0
alien-store/src/main/java/shop/alien/store/service/SystemService.java

@@ -54,4 +54,11 @@ public interface SystemService {
      */
     R<LifeSys> updateUserStatus(SystemUserStatusDto statusDto);
 
+    /**
+     * 重置系统用户密码
+     *
+     * @param userId 用户ID
+     * @return R<LifeSys>
+     */
+    R resetPassword(Integer userId);
 }

+ 29 - 1
alien-store/src/main/java/shop/alien/store/service/impl/SystemServiceImpl.java

@@ -51,6 +51,8 @@ public class SystemServiceImpl implements SystemService {
     @Value("${jwt.expiration-time}")
     private String effectiveTime;
 
+    private final String defaultPassword = "123456";
+
     @Override
     public SystemLoginVo login(String username, String password) {
         int effectiveTimeInt = Integer.parseInt(effectiveTime.substring(0, effectiveTime.length() - 1));
@@ -176,7 +178,7 @@ public class SystemServiceImpl implements SystemService {
         lifeSys.setEmail(addDto.getEmail());
         // 密码使用MD5加密后存储
 //        lifeSys.setUserPassword(encryptToMD5(addDto.getPassword()));
-        lifeSys.setUserPassword("123456");
+        lifeSys.setUserPassword(defaultPassword);
 
         // 不再将角色ID保存到life_sys表的role_id字段,而是保存到中间关系表
         // lifeSys.setRoleId(addDto.getRoleIds());
@@ -389,6 +391,32 @@ public class SystemServiceImpl implements SystemService {
         return R.fail("修改状态失败,请稍后重试");
     }
 
+    @Override
+    public R resetPassword(Integer userId) {
+        // 校验用户ID
+        if (userId == null) {
+            return R.fail("用户ID不能为空");
+        }
+
+        // 查询用户是否存在
+        LifeSys lifeSys = lifeSysMapper.selectById(userId);
+        if (lifeSys == null) {
+            return R.fail("用户不存在");
+        }
+
+        // 重置密码为默认值(例如 "123456")
+        lifeSys.setUserPassword(defaultPassword);
+
+        // 执行更新
+        int result = lifeSysMapper.updateById(lifeSys);
+        if (result > 0) {
+            // 清除密码信息,避免返回到前端
+            lifeSys.setUserPassword(null);
+            return R.data(lifeSys, "密码重置成功,新密码为:" + defaultPassword);
+        }
+        return R.fail("密码重置失败,请稍后重试");
+    }
+
     public static String encryptToMD5(String input) {
         try {
             // 获取 MD5 算法的 MessageDigest 实例