From a2cf072609ac33543605ecbb5f8e498237bc3d91 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Wed, 10 Apr 2024 21:27:46 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E7=AE=A1=E7=90=86=E7=9B=B8=E5=85=B3=20API=EF=BC=8C?= =?UTF-8?q?=E5=90=88=E5=B9=B6=20DeptResp=20=E5=8F=8A=20DeptDetailResp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/system/model/query/DeptQuery.java | 8 +- .../system/model/resp/DeptDetailResp.java | 101 ------------------ .../admin/system/model/resp/DeptResp.java | 33 +++++- .../system/model/resp/UserDetailResp.java | 2 +- .../admin/system/service/DeptService.java | 5 +- .../system/service/impl/DeptServiceImpl.java | 5 +- .../admin/webapi/system/DeptController.java | 7 +- 7 files changed, 39 insertions(+), 122 deletions(-) delete mode 100644 continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/DeptDetailResp.java diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/query/DeptQuery.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/query/DeptQuery.java index 6f02a0ad..d1508add 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/query/DeptQuery.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/query/DeptQuery.java @@ -38,11 +38,11 @@ public class DeptQuery implements Serializable { private static final long serialVersionUID = 1L; /** - * 名称 + * 关键词 */ - @Schema(description = "名称", example = "测试部") - @Query(type = QueryType.LIKE) - private String name; + @Schema(description = "关键词", example = "测试部") + @Query(columns = {"name", "description"}, type = QueryType.LIKE) + private String description; /** * 状态 diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/DeptDetailResp.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/DeptDetailResp.java deleted file mode 100644 index 4874a3bf..00000000 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/DeptDetailResp.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package top.charles7c.continew.admin.system.model.resp; - -import cn.crane4j.annotation.AssembleMethod; -import cn.crane4j.annotation.ContainerMethod; -import cn.crane4j.annotation.Mapping; -import cn.crane4j.annotation.condition.ConditionOnExpression; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum; -import top.charles7c.continew.admin.system.service.DeptService; -import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter; -import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp; - -import java.io.Serial; - -/** - * 部门详情信息 - * - * @author Charles7c - * @since 2023/2/1 22:19 - */ -@Data -@ExcelIgnoreUnannotated -@Schema(description = "部门详情信息") -public class DeptDetailResp extends BaseDetailResp { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 名称 - */ - @Schema(description = "名称", example = "测试部") - @ExcelProperty(value = "名称") - private String name; - - /** - * 上级部门 ID - */ - @Schema(description = "上级部门 ID", example = "2") - @ConditionOnExpression(value = "#target.parentId != 0") - @AssembleMethod(targetType = DeptService.class, method = @ContainerMethod(bindMethod = "get", resultType = DeptDetailResp.class), props = @Mapping(src = "name", ref = "parentName")) - private Long parentId; - - /** - * 上级部门 - */ - @Schema(description = "上级部门", example = "天津总部") - @ExcelProperty(value = "上级部门") - private String parentName; - - /** - * 排序 - */ - @Schema(description = "排序", example = "1") - private Integer sort; - - /** - * 状态 - */ - @Schema(description = "状态(1:启用;2:禁用)", type = "Integer", allowableValues = {"1", "2"}, example = "1") - @ExcelProperty(value = "状态", converter = ExcelBaseEnumConverter.class) - private DisEnableStatusEnum status; - - /** - * 是否为系统内置数据 - */ - @Schema(description = "是否为系统内置数据", example = "false") - @ExcelProperty(value = "系统内置") - private Boolean isSystem; - - /** - * 描述 - */ - @Schema(description = "描述", example = "测试部描述信息") - @ExcelProperty(value = "描述") - private String description; - - @Override - public Boolean getDisabled() { - return this.getIsSystem(); - } -} diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/DeptResp.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/DeptResp.java index dc57dbe7..aebd2b3e 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/DeptResp.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/DeptResp.java @@ -16,11 +16,19 @@ package top.charles7c.continew.admin.system.model.resp; +import cn.crane4j.annotation.AssembleMethod; +import cn.crane4j.annotation.ContainerMethod; +import cn.crane4j.annotation.Mapping; +import cn.crane4j.annotation.condition.ConditionOnExpression; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum; +import top.charles7c.continew.admin.system.service.DeptService; import top.charles7c.continew.starter.extension.crud.annotation.TreeField; -import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp; +import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter; +import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp; import java.io.Serial; @@ -31,9 +39,10 @@ import java.io.Serial; * @since 2023/1/22 13:53 */ @Data +@ExcelIgnoreUnannotated @TreeField(value = "id", nameKey = "name") @Schema(description = "部门信息") -public class DeptResp extends BaseResp { +public class DeptResp extends BaseDetailResp { @Serial private static final long serialVersionUID = 1L; @@ -42,36 +51,50 @@ public class DeptResp extends BaseResp { * 名称 */ @Schema(description = "名称", example = "测试部") + @ExcelProperty(value = "名称") private String name; /** * 上级部门 ID */ @Schema(description = "上级部门 ID", example = "2") + @ConditionOnExpression(value = "#target.parentId != 0") + @AssembleMethod(targetType = DeptService.class, method = @ContainerMethod(bindMethod = "get", resultType = DeptResp.class), props = @Mapping(src = "name", ref = "parentName")) private Long parentId; /** - * 排序 + * 上级部门 */ - @Schema(description = "排序", example = "3") - private Integer sort; + @Schema(description = "上级部门", example = "天津总部") + @ExcelProperty(value = "上级部门") + private String parentName; /** * 状态 */ @Schema(description = "状态(1:启用;2:禁用)", type = "Integer", allowableValues = {"1", "2"}, example = "1") + @ExcelProperty(value = "状态", converter = ExcelBaseEnumConverter.class) private DisEnableStatusEnum status; + /** + * 排序 + */ + @Schema(description = "排序", example = "3") + @ExcelProperty(value = "排序") + private Integer sort; + /** * 是否为系统内置数据 */ @Schema(description = "是否为系统内置数据", example = "false") + @ExcelProperty(value = "系统内置") private Boolean isSystem; /** * 描述 */ @Schema(description = "描述", example = "测试部描述信息") + @ExcelProperty(value = "描述") private String description; @Override 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 e9ee623b..dbe2df29 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 @@ -125,7 +125,7 @@ public class UserDetailResp extends BaseDetailResp { * 部门 ID */ @Schema(description = "部门 ID", example = "5") - @AssembleMethod(targetType = DeptService.class, method = @ContainerMethod(bindMethod = "get", resultType = DeptDetailResp.class), props = @Mapping(src = "name", ref = "deptName")) + @AssembleMethod(targetType = DeptService.class, method = @ContainerMethod(bindMethod = "get", resultType = DeptResp.class), props = @Mapping(src = "name", ref = "deptName")) private Long deptId; /** diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/DeptService.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/DeptService.java index 0bfc41f1..57e4fdc9 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/DeptService.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/DeptService.java @@ -19,10 +19,9 @@ package top.charles7c.continew.admin.system.service; import top.charles7c.continew.admin.system.model.entity.DeptDO; import top.charles7c.continew.admin.system.model.query.DeptQuery; import top.charles7c.continew.admin.system.model.req.DeptReq; -import top.charles7c.continew.admin.system.model.resp.DeptDetailResp; import top.charles7c.continew.admin.system.model.resp.DeptResp; -import top.charles7c.continew.starter.extension.crud.service.BaseService; import top.charles7c.continew.starter.data.mybatis.plus.service.IService; +import top.charles7c.continew.starter.extension.crud.service.BaseService; /** * 部门业务接口 @@ -30,4 +29,4 @@ import top.charles7c.continew.starter.data.mybatis.plus.service.IService; * @author Charles7c * @since 2023/1/22 17:54 */ -public interface DeptService extends BaseService, IService {} +public interface DeptService extends BaseService, IService {} diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/DeptServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/DeptServiceImpl.java index fd38cdfc..de5006dc 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/DeptServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/DeptServiceImpl.java @@ -27,7 +27,6 @@ import top.charles7c.continew.admin.system.mapper.DeptMapper; import top.charles7c.continew.admin.system.model.entity.DeptDO; import top.charles7c.continew.admin.system.model.query.DeptQuery; import top.charles7c.continew.admin.system.model.req.DeptReq; -import top.charles7c.continew.admin.system.model.resp.DeptDetailResp; import top.charles7c.continew.admin.system.model.resp.DeptResp; import top.charles7c.continew.admin.system.service.DeptService; import top.charles7c.continew.admin.system.service.RoleDeptService; @@ -49,7 +48,7 @@ import java.util.Optional; */ @Service @RequiredArgsConstructor -public class DeptServiceImpl extends BaseServiceImpl implements DeptService { +public class DeptServiceImpl extends BaseServiceImpl implements DeptService { private final UserService userService; private final RoleDeptService roleDeptService; @@ -60,7 +59,7 @@ public class DeptServiceImpl extends BaseServiceImpl {} +public class DeptController extends BaseController {}