From 5269608c61b1f5a6a9f61cd45b349f28db714232 Mon Sep 17 00:00:00 2001
From: Charles7c <charles7c@126.com>
Date: Sun, 14 Apr 2024 12:19:15 +0800
Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E7=94=A8?=
 =?UTF-8?q?=E6=88=B7=E7=AE=A1=E7=90=86=E7=9B=B8=E5=85=B3=20API?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../admin/system/model/query/UserQuery.java   |  8 +++----
 .../admin/system/model/resp/RoleResp.java     | 12 +++++------
 .../system/model/resp/UserDetailResp.java     |  6 +++---
 .../admin/system/model/resp/UserResp.java     | 21 +++++++++++++++++--
 .../system/service/impl/UserServiceImpl.java  |  2 +-
 .../admin/webapi/system/UserController.java   |  2 +-
 6 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/query/UserQuery.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/query/UserQuery.java
index 6eb5c108..3306bfca 100644
--- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/query/UserQuery.java
+++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/query/UserQuery.java
@@ -42,11 +42,11 @@ public class UserQuery implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
-     * 用户名
+     * 关键词
      */
-    @Schema(description = "用户名", example = "zhangsan")
-    @Query(columns = {"username", "nickname"}, type = QueryType.LIKE)
-    private String username;
+    @Schema(description = "关键词", example = "zhangsan")
+    @Query(columns = {"username", "nickname", "description"}, type = QueryType.LIKE)
+    private String description;
 
     /**
      * 状态
diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/RoleResp.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/RoleResp.java
index 2ceef0b8..1f0d6e47 100644
--- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/RoleResp.java
+++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/RoleResp.java
@@ -16,15 +16,13 @@
 
 package top.charles7c.continew.admin.system.model.resp;
 
-import java.io.Serial;
-
-import lombok.Data;
-
 import io.swagger.v3.oas.annotations.media.Schema;
-
+import lombok.Data;
 import top.charles7c.continew.admin.common.enums.DataScopeEnum;
 import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
-import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
+import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
+
+import java.io.Serial;
 
 /**
  * 角色信息
@@ -34,7 +32,7 @@ import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
  */
 @Data
 @Schema(description = "角色信息")
-public class RoleResp extends BaseResp {
+public class RoleResp extends BaseDetailResp {
 
     @Serial
     private static final long serialVersionUID = 1L;
diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserDetailResp.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserDetailResp.java
index dbe2df29..093d9e2d 100644
--- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserDetailResp.java
+++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserDetailResp.java
@@ -142,10 +142,10 @@ public class UserDetailResp extends BaseDetailResp {
     private List<Long> roleIds;
 
     /**
-     * 所属角色
+     * 角色
      */
-    @Schema(description = "所属角色", example = "测试人员")
-    @ExcelProperty(value = "所属角色")
+    @Schema(description = "角色", example = "测试人员")
+    @ExcelProperty(value = "角色")
     private String roleNames;
 
     @Override
diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserResp.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserResp.java
index 88a10eee..cf865a14 100644
--- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserResp.java
+++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserResp.java
@@ -16,12 +16,16 @@
 
 package top.charles7c.continew.admin.system.model.resp;
 
+import cn.crane4j.annotation.AssembleMethod;
+import cn.crane4j.annotation.ContainerMethod;
+import cn.crane4j.annotation.Mapping;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
 import top.charles7c.continew.admin.common.enums.GenderEnum;
 import top.charles7c.continew.admin.common.util.helper.LoginHelper;
-import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
+import top.charles7c.continew.admin.system.service.DeptService;
+import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
 import top.charles7c.continew.starter.security.mask.annotation.JsonMask;
 import top.charles7c.continew.starter.security.mask.enums.MaskType;
 
@@ -36,7 +40,7 @@ import java.util.Objects;
  */
 @Data
 @Schema(description = "用户信息")
-public class UserResp extends BaseResp {
+public class UserResp extends BaseDetailResp {
 
     @Serial
     private static final long serialVersionUID = 1L;
@@ -97,6 +101,19 @@ public class UserResp extends BaseResp {
     @Schema(description = "描述", example = "张三描述信息")
     private String description;
 
+    /**
+     * 部门 ID
+     */
+    @Schema(description = "部门 ID", example = "5")
+    @AssembleMethod(targetType = DeptService.class, method = @ContainerMethod(bindMethod = "get", resultType = DeptResp.class), props = @Mapping(src = "name", ref = "deptName"))
+    private Long deptId;
+
+    /**
+     * 所属部门
+     */
+    @Schema(description = "所属部门", example = "测试部")
+    private String deptName;
+
     @Override
     public Boolean getDisabled() {
         return this.getIsSystem() || Objects.equals(this.getId(), LoginHelper.getUserId());
diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java
index 4d569fd2..50349d7d 100644
--- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java
+++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java
@@ -122,7 +122,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
                 .getNickname());
             Collection<Long> disjunctionRoleIds = CollUtil.disjunction(req.getRoleIds(), userRoleService
                 .listRoleIdByUserId(id));
-            CheckUtils.throwIfNotEmpty(disjunctionRoleIds, "[{}] 是系统内置用户,不允许变更所属角色", oldUser.getNickname());
+            CheckUtils.throwIfNotEmpty(disjunctionRoleIds, "[{}] 是系统内置用户,不允许变更角色", oldUser.getNickname());
         }
         // 更新信息
         super.update(req, id);
diff --git a/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/webapi/system/UserController.java b/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/webapi/system/UserController.java
index a1b3619e..e725e099 100644
--- a/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/webapi/system/UserController.java
+++ b/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/webapi/system/UserController.java
@@ -67,7 +67,7 @@ public class UserController extends BaseController<UserService, UserResp, UserDe
         return R.ok("新增成功", id);
     }
 
-    @Operation(summary = "重置密码", description = "重置用户登录密码为默认密码")
+    @Operation(summary = "重置密码", description = "重置用户登录密码")
     @Parameter(name = "id", description = "ID", example = "1", in = ParameterIn.PATH)
     @SaCheckPermission("system:user:password:reset")
     @PatchMapping("/{id}/password")