feat(REQ-3488): 添加其他服务依赖maokai的枚举类等
This commit is contained in:
parent
cfc6a3c862
commit
d38ffbedea
@ -199,6 +199,10 @@ public class NodeProfile {
|
||||
PROJECT_TEAM_ID("项目班组id", Long.class, Arrays.asList("projectTeamId", "belongProjectTeamId")),
|
||||
PLAT_TEAM_ID("平台班组id", Long.class, Arrays.asList("platTeamId", "belongPlatTeamId")),
|
||||
PROJECT_GROUP_ID("项目小组id", Long.class, Arrays.asList("projectGroupId")),
|
||||
PROJECT_GROUP_OWNER_PROJECT_WORKER_ID("项目小组owner项目工人id", Long.class, Arrays.asList("ownerProjectWorkerId")),
|
||||
PROJECT_GROUP_TYPE("项目小组类型", Integer.class, Arrays.asList("type")),
|
||||
PROJECT_GROUP_CREATE_AT("项目小组创建时间", Integer.class, Arrays.asList("createAt")),
|
||||
PROJECT_GROUP_UPDATE_AT("项目小组修改时间", Integer.class, Arrays.asList("updateAt")),
|
||||
|
||||
;
|
||||
|
||||
@ -206,7 +210,7 @@ public class NodeProfile {
|
||||
/**
|
||||
* 解析类型
|
||||
*/
|
||||
private Class aClass;
|
||||
private Class resolveClass;
|
||||
/**
|
||||
* 解析字段名
|
||||
*/
|
||||
@ -219,7 +223,7 @@ public class NodeProfile {
|
||||
.map(profile -> {
|
||||
List<String> resolveFieldNames = resolveType.getResolveFieldName();
|
||||
for (String field : resolveFieldNames) {
|
||||
Object object = profile.getObject(field, resolveType.aClass);
|
||||
Object object = profile.getObject(field, resolveType.resolveClass);
|
||||
if (object != null) {
|
||||
return object;
|
||||
}
|
||||
|
||||
@ -56,10 +56,7 @@ public class OrgProjectGroupController implements OrgProjectGroupApi {
|
||||
|
||||
@Override
|
||||
public ApiResult<ProjectGroupListResp> getNoLeaderGroupList(Long workspaceId, Long platTeamId, Boolean isReturnWorker) {
|
||||
|
||||
|
||||
orgProjectGroupService.getNoLeaderGroupList(workspaceId, platTeamId, isReturnWorker);
|
||||
return null;
|
||||
return ApiResult.success(orgProjectGroupService.getNoLeaderGroupList(workspaceId, platTeamId, isReturnWorker));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,23 +1,36 @@
|
||||
package cn.axzo.orgmanax.server.project.group.service.impl;
|
||||
|
||||
import cn.axzo.orgmanax.api.project.group.enums.ProjectGroupTypeEnum;
|
||||
import cn.axzo.orgmanax.dto.project.worker.enums.ProjectWorkerStatusEnum;
|
||||
import cn.axzo.orgmanax.dto.common.IdentityType;
|
||||
import cn.axzo.orgmanax.dto.common.PersonProfileBriefDTO;
|
||||
import cn.axzo.orgmanax.dto.node.dto.NodeProfile;
|
||||
import cn.axzo.orgmanax.dto.node.dto.OrgNodeDTO;
|
||||
import cn.axzo.orgmanax.dto.node.enums.NodeTypeEnum;
|
||||
import cn.axzo.orgmanax.dto.node.req.ListNodeReq;
|
||||
import cn.axzo.orgmanax.dto.nodeuser.dto.NodeUserDTO;
|
||||
import cn.axzo.orgmanax.dto.nodeuser.dto.NodeUserProfile;
|
||||
import cn.axzo.orgmanax.dto.nodeuser.enums.ProjectGroupWorkerStatusEnum;
|
||||
import cn.axzo.orgmanax.dto.nodeuser.req.ListNodeUserReq;
|
||||
import cn.axzo.orgmanax.dto.project.group.enums.ProjectGroupStatusEnum;
|
||||
import cn.axzo.orgmanax.dto.project.group.resp.NoleaderProjectGroupWorkerRes;
|
||||
import cn.axzo.orgmanax.dto.project.group.resp.ProjectGroupListResp;
|
||||
import cn.axzo.orgmanax.dto.project.group.resp.ProjectWorkerSkillTagRes;
|
||||
import cn.axzo.orgmanax.infra.dao.workerprofession.repository.WorkerProfessionSkillTagRepository;
|
||||
import cn.axzo.orgmanax.server.node.service.NodeService;
|
||||
import cn.axzo.orgmanax.server.nodeuser.service.NodeUserService;
|
||||
import cn.axzo.orgmanax.server.project.group.service.OrgProjectGroupService;
|
||||
import cn.axzo.orgmanax.server.workerprofession.service.OrgProjectWorkerProfessionService;
|
||||
import cn.axzo.orgmanax.server.workerprofession.service.OrgProjectWorkerProfessionSkillService;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -30,15 +43,15 @@ import java.util.stream.Collectors;
|
||||
public class OrgProjectGroupServiceImpl implements OrgProjectGroupService {
|
||||
|
||||
private NodeService nodeService;
|
||||
private NodeUserService nodeUserService;
|
||||
private OrgProjectWorkerProfessionSkillService orgProjectWorkerProfessionSkillService;
|
||||
private OrgProjectWorkerProfessionService orgProjectWorkerProfessionService;
|
||||
|
||||
|
||||
@Override
|
||||
public ProjectGroupListResp getNoLeaderGroupList(Long workspaceId, Long platTeamId, Boolean isReturnWorker) {
|
||||
log.info("getNoLeaderGroupList : workspaceId={}, platTeamId={}, isReturnWorker={}", workspaceId, platTeamId, isReturnWorker);
|
||||
//1.默认不返回工人列表
|
||||
if (isReturnWorker == null) {
|
||||
isReturnWorker = false;
|
||||
}
|
||||
|
||||
List<OrgNodeDTO> orgNodeDTOS = nodeService.list(ListNodeReq.builder()
|
||||
.workspaceIds(Sets.newHashSet(workspaceId))
|
||||
.platTeamIds(Sets.newHashSet(platTeamId))
|
||||
@ -49,37 +62,91 @@ public class OrgProjectGroupServiceImpl implements OrgProjectGroupService {
|
||||
.ownerProjectWorkerIds(Arrays.asList(0L))
|
||||
.build());
|
||||
|
||||
ProjectGroupListResp res = new ProjectGroupListResp();
|
||||
if (ObjectUtil.isEmpty(orgNodeDTOS)) {
|
||||
Collections.emptyList();
|
||||
res.setProjectGroupList(new ArrayList<>());
|
||||
return res;
|
||||
}
|
||||
|
||||
convert(orgNodeDTOS, workspaceId);
|
||||
List<ProjectGroupListResp.ProjectGroupInfo> projectGroupInfos = convert(orgNodeDTOS, workspaceId);
|
||||
res.setProjectGroupList(projectGroupInfos);
|
||||
|
||||
//1.默认不返回工人列表
|
||||
if (isReturnWorker == null) {
|
||||
isReturnWorker = false;
|
||||
}
|
||||
|
||||
if (isReturnWorker) {
|
||||
for (ProjectGroupListResp.ProjectGroupInfo projectGroupInfo : projectGroupInfos) {
|
||||
List<NodeUserDTO> nodeUserDTOS = nodeUserService.list(ListNodeUserReq.builder()
|
||||
.projectGroupWorkerStatus(ProjectGroupWorkerStatusEnum.VALID.getValue())
|
||||
.projectWorkerStatuses(Arrays.asList(ProjectWorkerStatusEnum.ACTIVE.value))
|
||||
.projectGroupId(projectGroupInfo.getId())
|
||||
.identityType(IdentityType.WORKER.getCode())
|
||||
.filterIncludeNodeTypes(Arrays.asList(NodeTypeEnum.PROJECT_GROUP.getValue()))
|
||||
.needs(ListNodeUserReq.Needs.builder().personProfile(true).build())
|
||||
.build());
|
||||
if (ObjectUtil.isEmpty(nodeUserDTOS)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
//TODO
|
||||
// List<Long> projectWorkerIdList = nodeUserDTOS.stream().map(nodeUserDTO -> NodeUserProfile.resolveProjectWorkerId(nodeUserDTO)).collect(Collectors.toList());
|
||||
// //获取工种
|
||||
// orgProjectWorkerProfessionService.listValid()
|
||||
//
|
||||
// //获取技能标签
|
||||
// List<WorkerProfessionSkillTagRepository.WorkerProfessionSkillTagResp> skillTagResps = orgProjectWorkerProfessionSkillService.list(WorkerProfessionSkillTagRepository.PageReq.builder()
|
||||
// .workspaceId(projectGroupInfo.getWorkspaceId())
|
||||
// .projectWorkerIds(projectWorkerIdList)
|
||||
// .build());
|
||||
// Map<Long, List<WorkerProfessionSkillTagRepository.WorkerProfessionSkillTagResp>> workerSkillTagMap =
|
||||
// skillTagResps.stream().collect(Collectors.groupingBy(WorkerProfessionSkillTagRepository.WorkerProfessionSkillTagResp::getProjectWorkerId));
|
||||
// List<NoleaderProjectGroupWorkerRes> groupWorkerlist = new ArrayList<>();
|
||||
// for (NodeUserDTO nodeUserDTO : nodeUserDTOS) {
|
||||
// NoleaderProjectGroupWorkerRes workerRes = new NoleaderProjectGroupWorkerRes();
|
||||
//
|
||||
// PersonProfileBriefDTO personProfile = nodeUserDTO.getPersonProfile();
|
||||
// workerRes.setFaceUrl(personProfile.getAvatarUrl());
|
||||
// workerRes.setPhone(personProfile.getPhone());
|
||||
// workerRes.setName(personProfile.getRealName());
|
||||
// workerRes.setIdentityId(nodeUserDTO.getIdentityId());
|
||||
// workerRes.setProjectWorkerId(NodeUserProfile.resolveProjectWorkerId(nodeUserDTO));
|
||||
// workerRes.setProfessionList(BeanConvertUtils.copyList(oneWideByParam.getProfessionList(),
|
||||
// NoleaderProjectGroupWorkerRes.ProjectGroupWorkerProfession.class));
|
||||
// workerRes.setProfessionCategory(oneWideByParam.getWorkerProfessionCategory());
|
||||
// List<LabourProjectWorkerSkillTag> skillTagList = workerSkillTagMap
|
||||
// .getOrDefault(worker.getProjectWorkerId(), null);
|
||||
// log.info("工人{}技能标签:{}", oneWideByParam.getWorkerName(), JSON.toJSONString(skillTagList));
|
||||
// if (CollectionUtil.isNotEmpty(skillTagList)) {
|
||||
// workerRes.setSkillTagList(BeanConvertUtils.copyList(skillTagList,
|
||||
// ProjectWorkerSkillTagRes.class, (s, t) -> {
|
||||
// t.setId(s.getSkillTagId());
|
||||
// t.setName(s.getSkillTagName());
|
||||
// }));
|
||||
// }
|
||||
// groupWorkerlist.add(workerRes);
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private List<ProjectGroupListResp.ProjectGroupInfo> convert(List<OrgNodeDTO> orgNodeDTOS, Long workspaceId) {
|
||||
//todo
|
||||
// return orgNodeDTOS.stream().map(orgNodeDTO -> {
|
||||
// ProjectGroupListResp.ProjectGroupInfo projectGroupInfo = new ProjectGroupListResp.ProjectGroupInfo();
|
||||
// projectGroupInfo.setId(NodeProfile.resolveProjectGroupId(orgNodeDTO));
|
||||
// projectGroupInfo.setName(orgNodeDTO.getNodeName());
|
||||
// projectGroupInfo.setWorkspaceId(workspaceId);
|
||||
// projectGroupInfo.setBelongProjectTeamId(NodeProfile.resolveProjectTeamId(orgNodeDTO));
|
||||
// projectGroupInfo.setBelongPlatTeamId(NodeProfile.resolvePlatTeamId(orgNodeDTO));
|
||||
// projectGroupInfo.setOwnerProjectWorkerId(orgNodeDTO.get);
|
||||
// projectGroupInfo.setOwnerWorkerName();
|
||||
// projectGroupInfo.setOwnerWorkerPhone();
|
||||
// projectGroupInfo.setOwnerWorkerFaceUrl();
|
||||
// projectGroupInfo.setGroupType();
|
||||
// projectGroupInfo.setCreateAt();
|
||||
// projectGroupInfo.setUpdateAt();
|
||||
// projectGroupInfo.setProjectGroupWorkerList();
|
||||
// }).collect(Collectors.toList());
|
||||
return null;
|
||||
|
||||
return orgNodeDTOS.stream().map(orgNodeDTO -> {
|
||||
ProjectGroupListResp.ProjectGroupInfo projectGroupInfo = new ProjectGroupListResp.ProjectGroupInfo();
|
||||
projectGroupInfo.setId(NodeProfile.resolveProjectGroupId(orgNodeDTO));
|
||||
projectGroupInfo.setName(orgNodeDTO.getNodeName());
|
||||
projectGroupInfo.setWorkspaceId(workspaceId);
|
||||
projectGroupInfo.setBelongProjectTeamId(NodeProfile.resolveProjectTeamId(orgNodeDTO));
|
||||
projectGroupInfo.setBelongPlatTeamId(NodeProfile.resolvePlatTeamId(orgNodeDTO));
|
||||
projectGroupInfo.setOwnerProjectWorkerId(NodeProfile.resolve(orgNodeDTO, NodeProfile.NodeProfileResolveTypeEnum.PROJECT_GROUP_OWNER_PROJECT_WORKER_ID));
|
||||
projectGroupInfo.setGroupType(NodeProfile.resolve(orgNodeDTO, NodeProfile.NodeProfileResolveTypeEnum.PROJECT_GROUP_TYPE));
|
||||
projectGroupInfo.setCreateAt(NodeProfile.resolve(orgNodeDTO, NodeProfile.NodeProfileResolveTypeEnum.PROJECT_GROUP_CREATE_AT));
|
||||
projectGroupInfo.setUpdateAt(NodeProfile.resolve(orgNodeDTO, NodeProfile.NodeProfileResolveTypeEnum.PROJECT_GROUP_UPDATE_AT));
|
||||
return projectGroupInfo;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ package cn.axzo.orgmanax.server.project.worker.service.impl;
|
||||
|
||||
import cn.axzo.orgmanax.api.invite.enums.WorkerInviteStatusEnum;
|
||||
import cn.axzo.orgmanax.api.project.group.enums.ProjectGroupTypeEnum;
|
||||
import cn.axzo.orgmanax.api.project.worker.enums.ProjectWorkerStatusEnum;
|
||||
import cn.axzo.orgmanax.dto.project.worker.enums.ProjectWorkerStatusEnum;
|
||||
import cn.axzo.orgmanax.dto.common.IdentityType;
|
||||
import cn.axzo.orgmanax.dto.node.dto.NodeProfile;
|
||||
import cn.axzo.orgmanax.dto.node.dto.OrgNodeDTO;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package cn.axzo.orgmanax.server.workerprofession.service.impl;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.orgmanax.api.project.worker.enums.ProjectWorkerStatusEnum;
|
||||
import cn.axzo.orgmanax.dto.project.worker.enums.ProjectWorkerStatusEnum;
|
||||
import cn.axzo.orgmanax.dto.common.IdentityType;
|
||||
import cn.axzo.orgmanax.dto.common.util.NumberUtil;
|
||||
import cn.axzo.orgmanax.dto.common.util.TreeUtil;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user