feat(REQ-3488): 班组类别api调整

This commit is contained in:
songyuanlun 2025-01-09 18:29:59 +08:00
parent a1cc81d355
commit d30990fd71
10 changed files with 36 additions and 245 deletions

View File

@ -4,18 +4,14 @@ import cn.axzo.foundation.page.PageResp;
import cn.axzo.foundation.result.ApiResult;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
import cn.axzo.orgmanax.dto.project.team.req.GroupTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.OperateOrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.OrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.PageOrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.PreCheckRemoveTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.RemoveProjectTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.SaveProjectTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.SingletonOrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.TreeOrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.resp.RemoveTeamCategoryCheckResp;
import cn.axzo.orgmanax.dto.project.team.resp.SingletonOrgTeamCategoryResp;
import cn.axzo.orgmanax.dto.project.team.resp.TeamCategoryGroupResp;
import java.util.List;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
@ -35,14 +31,6 @@ import org.springframework.web.bind.annotation.RequestBody;
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
public interface OrgProjectTeamCategoryApi {
/**
* 班组分类信息列表查询-非通用接口
* 分组查询
* 用到 org_project_team_category 表数据
*/
@PostMapping("/api/project/team-category/group-list")
ApiResult<List<TeamCategoryGroupResp>> groupList(@RequestBody GroupTeamCategoryReq req);
/**
* todo 三期实现
* 删除项目班组的分类进行check
@ -67,18 +55,6 @@ public interface OrgProjectTeamCategoryApi {
@PostMapping("/api/project/team-category/remove")
ApiResult<Void> removeTeamCategory(@RequestBody @Valid RemoveProjectTeamCategoryReq req);
/**
* @// TODO: 接口重复
* 用到 org_project_team_category 表数据
* 获取项目内 经营范围的 拼接字符串
* {@link OrgProjectTeamCategoryApi#groupList(cn.axzo.orggateway.api.project.team.req.GroupTeamCategoryReq)}
* 业务方自行通过这个接口返回的 projectTeamId 分组来拼接 经营范围
* 拼接经营范围方法参考cn.axzo.maokai.labour.server.util.BusinessScopeUtil#buildProjectBusinessScopeString
*/
// @PostMapping("/api/project/team-category/business-scope/list")
// ApiResult<List<ConvergeTeamCategoryResp>> listBusinessScope(
// @RequestBody @Valid PageTeamCategoryReq req);
/**
* 操作班组类别
*/
@ -93,16 +69,6 @@ public interface OrgProjectTeamCategoryApi {
@PostMapping(value = "/api/project/team-category/upsert")
ApiResult<Void> replace(@RequestBody @NotEmpty List<OrgTeamCategoryReq> req);
/**
* 单个班组的班组列表查询
*
* @param req 单个班组信息
* @return 班组类别列表
* reqresp 和其他的完全不同且内部逻辑也不同无法合并
*/
@PostMapping(value = "/api/project/team-category/list-by-node")
ApiResult<SingletonOrgTeamCategoryResp> listByNode(@RequestBody @Valid SingletonOrgTeamCategoryReq req);
// ---------------- 新版接口 ----------------
/**
* 列表分页查询

View File

@ -1,55 +0,0 @@
package cn.axzo.orgmanax.dto.project.team.req;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class GroupTeamCategoryReq {
/**
* 班组ID
*/
private Long teamId;
/**
* 班组ID
*/
private List<Long> teamIdList;
/**
* 邀请ID
*/
private Long inviteId;
/**
* 邀请ID
*/
private List<Long> inviteIdList;
/**
* 工作台ID
*/
private Long workspaceId;
/**
* 经营范围类型1-经营范围2-专业经营范围经营范围子级 不传默认值为2
*/
private Integer type;
/**
* 经营范围类型
*/
private List<Integer> types;
/**
* 上级节点code
*/
private String parentCategoryCode;
/**
* 当前节点code
*/
private List<String> categoryCodeList;
}

View File

@ -2,6 +2,7 @@ package cn.axzo.orgmanax.dto.project.team.req;
import cn.axzo.foundation.page.PageReqV2;
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
import java.util.Set;
import lombok.AllArgsConstructor;
@ -26,6 +27,11 @@ public class PageOrgTeamCategoryReq extends PageReqV2 {
*/
private Set<Long> orgNodeIds;
/**
* 租户id
*/
private Long workspaceId;
/**
* 班组类别列表 categoryTypes
* @see TeamCategoryTypeEnum
@ -37,6 +43,17 @@ public class PageOrgTeamCategoryReq extends PageReqV2 {
*/
private Set<String> categoryCodes;
/**
* 班组类别使用场景
* @see TeamSceneEnum
*/
private String scene;
/**
* 上级节点code
*/
private String parentCategoryCode;
/**
* 数据有效性标记
* @see ValidationEnum

View File

@ -1,36 +0,0 @@
package cn.axzo.orgmanax.dto.project.team.req;
import cn.axzo.foundation.page.PageReqV2;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@EqualsAndHashCode(callSuper = true)
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class PageTeamCategoryReq extends PageReqV2 {
/**
* 平台班组id
*/
private Long platTeamId;
/**
* 经营范围/经营范围子级codeList
*/
private List<String> categoryCodeList;
/**
* 状态列表
*/
private List<Integer> statusList;
/**
* 项目内班组idList
*/
private List<Long> projectTeamIds;
}

View File

@ -1,33 +0,0 @@
package cn.axzo.orgmanax.dto.project.team.req;
import com.alibaba.fastjson.JSON;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @description
* 查询班组类别入参模型
* @author luofu
* @version 1.0
* @date 2024/6/4
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SingletonOrgTeamCategoryReq implements Serializable {
private static final long serialVersionUID = -8514259693439832528L;
@NotNull(message = "orgNodeId can not be null")
private Long orgNodeId;
@Override
public String toString() {
return JSON.toJSONString(this);
}
}

View File

@ -1,6 +1,7 @@
package cn.axzo.orgmanax.dto.project.team.req;
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
import java.util.Set;
import lombok.AllArgsConstructor;
@ -23,6 +24,11 @@ public class TreeOrgTeamCategoryReq {
*/
private Set<Long> orgNodeIds;
/**
* 租户id
*/
private Long workspaceId;
/**
* 班组类别列表 categoryTypes
* @see TeamCategoryTypeEnum
@ -34,6 +40,17 @@ public class TreeOrgTeamCategoryReq {
*/
private Set<String> categoryCodes;
/**
* 班组类别使用场景
* @see TeamSceneEnum
*/
private String scene;
/**
* 上级节点code
*/
private String parentCategoryCode;
/**
* 数据有效性标记
* @see ValidationEnum

View File

@ -1,44 +0,0 @@
package cn.axzo.orgmanax.dto.project.team.resp;
import cn.axzo.orgmanax.dto.project.team.req.TeamCategoryTreeNode;
import com.alibaba.fastjson.JSON;
import java.io.Serializable;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @description
* 单个班组的班组类别数据模型
* @author luofu
* @version 1.0
* @date 2024/6/4
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SingletonOrgTeamCategoryResp implements Serializable {
private static final long serialVersionUID = -4548376381178801676L;
/**
* 部门id
*/
private Long orgNodeId;
/**
* 租户id
*/
private Long workspaceId;
/**
* 班组类别列表
*/
private List<TeamCategoryTreeNode> categories;
@Override
public String toString() {
return JSON.toJSONString(this);
}
}

View File

@ -1,29 +0,0 @@
package cn.axzo.orgmanax.dto.project.team.resp;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @author syl
* @date 2024/12/18
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class TeamCategoryGroupResp {
/**
* 班组id
*/
private Long projectTeamId;
/**
* 经营范围列表
*/
private List<TeamCategoryAggregateDTO> categoryList;
}

View File

@ -5,18 +5,14 @@ import cn.axzo.foundation.result.ApiResult;
import cn.axzo.orgmanax.api.project.team.feign.OrgProjectTeamCategoryApi;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
import cn.axzo.orgmanax.dto.project.team.req.GroupTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.OperateOrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.OrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.PageOrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.PreCheckRemoveTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.RemoveProjectTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.SaveProjectTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.SingletonOrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.req.TreeOrgTeamCategoryReq;
import cn.axzo.orgmanax.dto.project.team.resp.RemoveTeamCategoryCheckResp;
import cn.axzo.orgmanax.dto.project.team.resp.SingletonOrgTeamCategoryResp;
import cn.axzo.orgmanax.dto.project.team.resp.TeamCategoryGroupResp;
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamCategoryService;
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
import cn.hutool.json.JSONUtil;
@ -38,11 +34,6 @@ public class OrgProjectTeamCategoryController implements OrgProjectTeamCategoryA
private final ProjectTeamCategoryService projectTeamCategoryService;
@Override
public ApiResult<List<TeamCategoryGroupResp>> groupList(GroupTeamCategoryReq req) {
return null;
}
@Override
public ApiResult<RemoveTeamCategoryCheckResp> preCheckRemoveTeamCategory(PreCheckRemoveTeamCategoryReq req) {
return null;
@ -68,11 +59,6 @@ public class OrgProjectTeamCategoryController implements OrgProjectTeamCategoryA
return null;
}
@Override
public ApiResult<SingletonOrgTeamCategoryResp> listByNode(SingletonOrgTeamCategoryReq req) {
return null;
}
@Override
public ApiResult<PageResp<TeamCategoryDTO>> list(PageOrgTeamCategoryReq req) {
log.info("team_category page request param: [{}]", JSONUtil.toJsonStr(req));

View File

@ -77,6 +77,7 @@ public class ListTeamCategoryReq extends PageReqV2 {
public static ListTeamCategoryReq convertListReq(PageOrgTeamCategoryReq req){
ListTeamCategoryReq param = BeanUtil.copyProperties(req, ListTeamCategoryReq.class);
param.setParentCode(req.getParentCategoryCode());
if (Objects.isNull(req.getValid())) {
param.setValidList(Sets.newHashSet(ValidationEnum.EFFECTIVE.getCode()));
} else if (Objects.equals(ValidationEnum.ALL.getCode(), req.getValid())) {
@ -89,6 +90,7 @@ public class ListTeamCategoryReq extends PageReqV2 {
public static ListTeamCategoryReq convertTreeReq(TreeOrgTeamCategoryReq req){
ListTeamCategoryReq param = BeanUtil.copyProperties(req, ListTeamCategoryReq.class);
param.setParentCode(req.getParentCategoryCode());
if (Objects.isNull(req.getValid())) {
param.setValidList(Sets.newHashSet(ValidationEnum.EFFECTIVE.getCode()));
} else if (Objects.equals(ValidationEnum.ALL.getCode(), req.getValid())) {