Bladeren bron

add:中台增加权限管理(修改账户状态)

lyx 1 week geleden
bovenliggende
commit
0fe1b90d69

+ 30 - 0
alien-entity/src/main/java/shop/alien/entity/store/dto/SystemUserStatusDto.java

@@ -0,0 +1,30 @@
+package shop.alien.entity.store.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 系统用户状态修改DTO
+ *
+ * @author system
+ * @since 2025-12-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "SystemUserStatusDto对象", description = "系统用户状态修改信息")
+public class SystemUserStatusDto {
+
+    @ApiModelProperty(value = "用户ID", required = true)
+    private Integer userId;
+
+    @ApiModelProperty(value = "状态 1:启用 0:禁用", required = true)
+    private Integer status;
+
+    @ApiModelProperty(value = "操作原因/备注")
+    private String remark;
+}
+

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

@@ -9,6 +9,7 @@ import shop.alien.entity.store.LifeSys;
 import shop.alien.entity.store.UserLoginInfo;
 import shop.alien.entity.store.dto.SystemLoginDto;
 import shop.alien.entity.store.dto.SystemUserAddDto;
+import shop.alien.entity.store.dto.SystemUserStatusDto;
 import shop.alien.entity.store.vo.SystemLoginVo;
 import shop.alien.store.service.SystemService;
 import shop.alien.util.common.TokenInfo;
@@ -63,6 +64,15 @@ public class SystemController {
         return systemService.addUser(addDto);
     }
 
+    @ApiOperation("修改系统用户状态")
+    @ApiOperationSupport(order = 4)
+    @PostMapping(value = "/updateUserStatus")
+    public R<LifeSys> updateUserStatus(@RequestBody SystemUserStatusDto statusDto) {
+        log.info("SystemController.updateUserStatus => userId={}, status={}, remark={}", 
+                statusDto.getUserId(), statusDto.getStatus(), statusDto.getRemark());
+        return systemService.updateUserStatus(statusDto);
+    }
+
 
 
 /**

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

@@ -4,6 +4,7 @@ import shop.alien.entity.result.R;
 import shop.alien.entity.store.LifeSys;
 import shop.alien.entity.store.UserLoginInfo;
 import shop.alien.entity.store.dto.SystemUserAddDto;
+import shop.alien.entity.store.dto.SystemUserStatusDto;
 import shop.alien.entity.store.vo.SystemLoginVo;
 
 /**
@@ -36,4 +37,12 @@ public interface SystemService {
      */
     R<LifeSys> addUser(SystemUserAddDto addDto);
 
+    /**
+     * 修改系统用户状态
+     *
+     * @param statusDto 用户状态信息
+     * @return R<LifeSys>
+     */
+    R<LifeSys> updateUserStatus(SystemUserStatusDto statusDto);
+
 }

+ 49 - 0
alien-store/src/main/java/shop/alien/store/service/impl/SystemServiceImpl.java

@@ -10,6 +10,7 @@ import shop.alien.entity.result.R;
 import shop.alien.entity.store.LifeSys;
 import shop.alien.entity.store.UserLoginInfo;
 import shop.alien.entity.store.dto.SystemUserAddDto;
+import shop.alien.entity.store.dto.SystemUserStatusDto;
 import shop.alien.entity.store.vo.SystemLoginVo;
 import shop.alien.store.config.BaseRedisService;
 import shop.alien.mapper.LifeSysMapper;
@@ -185,6 +186,54 @@ public class SystemServiceImpl implements SystemService {
         return R.fail("新增账号失败,请稍后重试");
     }
 
+    @Override
+    public R<LifeSys> updateUserStatus(SystemUserStatusDto statusDto) {
+        // 校验用户ID
+        if (statusDto.getUserId() == null) {
+            return R.fail("用户ID不能为空");
+        }
+
+        // 校验状态值
+        if (statusDto.getStatus() == null) {
+            return R.fail("状态值不能为空");
+        }
+
+        if (statusDto.getStatus() != 0 && statusDto.getStatus() != 1) {
+            return R.fail("状态值只能是0(禁用)或1(启用)");
+        }
+
+        // 查询用户是否存在
+        LifeSys lifeSys = lifeSysMapper.selectById(statusDto.getUserId());
+        if (lifeSys == null) {
+            return R.fail("用户不存在");
+        }
+
+        // 更新用户状态
+        lifeSys.setStatus(statusDto.getStatus());
+        
+        // 如果提供了备注,也更新备注
+        if (StringUtils.hasText(statusDto.getRemark())) {
+            String currentRemark = lifeSys.getRemark();
+            String newRemark = statusDto.getRemark();
+            // 如果已有备注,追加新备注
+            if (StringUtils.hasText(currentRemark)) {
+                lifeSys.setRemark(currentRemark + " | " + newRemark);
+            } else {
+                lifeSys.setRemark(newRemark);
+            }
+        }
+
+        // 执行更新
+        int result = lifeSysMapper.updateById(lifeSys);
+        if (result > 0) {
+            // 清除密码信息,避免返回到前端
+            lifeSys.setUserPassword(null);
+            String statusText = statusDto.getStatus() == 1 ? "启用" : "禁用";
+            return R.data(lifeSys, "账号" + statusText + "成功");
+        }
+        return R.fail("修改状态失败,请稍后重试");
+    }
+
     public static String encryptToMD5(String input) {
         try {
             // 获取 MD5 算法的 MessageDigest 实例