Skip to content

Commit

Permalink
refactor: 优化部门管理相关 API,合并 DeptResp 及 DeptDetailResp
Browse files Browse the repository at this point in the history
  • Loading branch information
Charles7c committed Apr 10, 2024
1 parent bd0f40c commit a2cf072
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 122 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/**
* 状态
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -31,9 +39,10 @@
* @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;
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,14 @@
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;

/**
* 部门业务接口
*
* @author Charles7c
* @since 2023/1/22 17:54
*/
public interface DeptService extends BaseService<DeptResp, DeptDetailResp, DeptQuery, DeptReq>, IService<DeptDO> {}
public interface DeptService extends BaseService<DeptResp, DeptResp, DeptQuery, DeptReq>, IService<DeptDO> {}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
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;
Expand All @@ -49,7 +48,7 @@
*/
@Service
@RequiredArgsConstructor
public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptResp, DeptDetailResp, DeptQuery, DeptReq> implements DeptService {
public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptResp, DeptResp, DeptQuery, DeptReq> implements DeptService {

private final UserService userService;
private final RoleDeptService roleDeptService;
Expand All @@ -60,7 +59,7 @@ protected void beforeAdd(DeptReq req) {
boolean isExists = this.isNameExists(name, req.getParentId(), null);
CheckUtils.throwIf(isExists, "新增失败,[{}] 已存在", name);
req.setAncestors(this.getAncestors(req.getParentId()));
req.setStatus(DisEnableStatusEnum.DISABLE);
req.setStatus(DisEnableStatusEnum.ENABLE);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,9 @@
package top.charles7c.continew.admin.webapi.system;

import io.swagger.v3.oas.annotations.tags.Tag;

import org.springframework.web.bind.annotation.*;

import org.springframework.web.bind.annotation.RestController;
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.starter.extension.crud.annotation.CrudRequestMapping;
Expand All @@ -38,4 +35,4 @@
@Tag(name = "部门管理 API")
@RestController
@CrudRequestMapping(value = "/system/dept", api = {Api.TREE, Api.GET, Api.ADD, Api.UPDATE, Api.DELETE, Api.EXPORT})
public class DeptController extends BaseController<DeptService, DeptResp, DeptDetailResp, DeptQuery, DeptReq> {}
public class DeptController extends BaseController<DeptService, DeptResp, DeptResp, DeptQuery, DeptReq> {}

0 comments on commit a2cf072

Please sign in to comment.