feat(REQ-3282): 岗位接口移除查询角色信息,二期实现

This commit is contained in:
songyuanlun 2024-12-30 18:03:55 +08:00
parent 692035078f
commit c6352b38eb
5 changed files with 54 additions and 59 deletions

View File

@ -135,8 +135,10 @@ public class OrgJobDTO implements Serializable {
/**
* 角色信息
* todo 2024年12月30日 已和周敏确认暂不用该字段
* 二期才会用到此字段
*/
private List<RoleDTO> saasRoles;
//private List<RoleDTO> saasRoles;
public Set<Long> mergeAndDistinctRolesIds() {
Set<Long> roleIds = Sets.newHashSet();

View File

@ -115,10 +115,10 @@
<version>${revision}</version>
</dependency>
<dependency>
<!--<dependency>
<groupId>cn.axzo.tyr</groupId>
<artifactId>tyr-client</artifactId>
<version>${revision}</version>
</dependency>
</dependency>-->
</dependencies>
</project>

View File

@ -1,15 +1,11 @@
package cn.axzo.orgmanax.infra.client.tyr;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.infra.client.util.RpcWrapper;
import cn.axzo.tyr.feign.api.RoleApi;
import cn.axzo.tyr.feign.req.PageRoleReq;
import cn.axzo.tyr.feign.resp.RoleResp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* todo 暂时注释tyr不上线
* @author syl
* @date 2024/12/23
*/
@ -18,9 +14,9 @@ import org.springframework.stereotype.Component;
@RequiredArgsConstructor
public class RoleGateway {
private final RoleApi roleApi;
public PageResp<RoleResp> page(PageRoleReq req) {
return RpcWrapper.wrapApiResult(() -> roleApi.page(req));
}
// private final RoleApi roleApi;
//
// public PageResp<RoleResp> page(PageRoleReq req) {
// return RpcWrapper.wrapApiResult(() -> roleApi.page(req));
// }
}

View File

@ -3,7 +3,6 @@ package cn.axzo.orgmanax.server;
import cn.axzo.foundation.exception.BusinessException;
import cn.axzo.foundation.result.ApiResult;
import cn.axzo.orgmanax.common.config.BizResultCode;
import cn.azxo.framework.common.model.CommonResponse;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;

View File

@ -11,7 +11,6 @@ import cn.axzo.orgmanax.dto.cooperateship.req.ListOrgCooperateShipReq;
import cn.axzo.orgmanax.dto.job.dto.OrgJobDTO;
import cn.axzo.orgmanax.dto.job.dto.OrgJobGroupDTO;
import cn.axzo.orgmanax.dto.job.dto.OrgJobGroupRelationDTO;
import cn.axzo.orgmanax.dto.job.dto.RoleDTO;
import cn.axzo.orgmanax.dto.job.enums.OrgJobGroupFlagEnum;
import cn.axzo.orgmanax.dto.job.enums.OrgJobTypeEnum;
import cn.axzo.orgmanax.dto.job.req.CreateOrgJobReq;
@ -28,8 +27,6 @@ import cn.axzo.orgmanax.server.orgjob.service.OrgJobService;
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobGroupPageParam;
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobGroupRelationPageParam;
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobPageParam;
import cn.axzo.tyr.feign.req.PageRoleReq;
import cn.axzo.tyr.feign.resp.RoleResp;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONUtil;
@ -108,8 +105,8 @@ public class OrgJobServiceImpl implements OrgJobService {
buildOrgGroup4OrgJob(orgJobs.getData());
}
if (BooleanUtils.isTrue(param.getNeedSaasRole())) {
// 设置角色信息
buildSaasRole4OrgJob(orgJobs.getData());
// todo 设置角色信息
// buildSaasRole4OrgJob(orgJobs.getData());
}
return orgJobs;
}
@ -180,47 +177,48 @@ public class OrgJobServiceImpl implements OrgJobService {
return flags;
}
private void buildSaasRole4OrgJob(List<OrgJobDTO> orgJobs) {
Set<Long> roleIds = orgJobs.stream()
.flatMap(e -> e.mergeAndDistinctRolesIds().stream())
.collect(Collectors.toSet());
Map<Long, RoleResp> saasRoleMap = listSaasRoles(roleIds);
if (CollUtil.isEmpty(saasRoleMap)) {
return;
}
orgJobs.forEach(e -> {
Set<Long> mergedRoleIds = e.mergeAndDistinctRolesIds();
if (CollUtil.isNotEmpty(mergedRoleIds)) {
List<RoleResp> roles = mergedRoleIds.stream()
.map(saasRoleMap::get)
.filter(Objects::nonNull)
.collect(Collectors.toList());
e.setSaasRoles(BeanUtil.copyToList(roles, RoleDTO.class));
}
});
}
// todo 暂时注释二期才使用
// private void buildSaasRole4OrgJob(List<OrgJobDTO> orgJobs) {
// Set<Long> roleIds = orgJobs.stream()
// .flatMap(e -> e.mergeAndDistinctRolesIds().stream())
// .collect(Collectors.toSet());
// Map<Long, RoleResp> saasRoleMap = listSaasRoles(roleIds);
// if (CollUtil.isEmpty(saasRoleMap)) {
// return;
// }
// orgJobs.forEach(e -> {
// Set<Long> mergedRoleIds = e.mergeAndDistinctRolesIds();
// if (CollUtil.isNotEmpty(mergedRoleIds)) {
// List<RoleResp> roles = mergedRoleIds.stream()
// .map(saasRoleMap::get)
// .filter(Objects::nonNull)
// .collect(Collectors.toList());
// e.setSaasRoles(BeanUtil.copyToList(roles, RoleDTO.class));
// }
// });
// }
private Map<Long, RoleResp> listSaasRoles(Set<Long> roleIds) {
if (CollUtil.isEmpty(roleIds)) {
return Collections.emptyMap();
}
List<RoleResp> roles = new ArrayList<>();
PageRoleReq param = PageRoleReq.builder().roleIds(roleIds).build();
PageResp<RoleResp> rolePage;
int pageNumber = 0;
param.setPageSize(JOB_PAGE_SIZE);
do {
param.setPage(++pageNumber);
rolePage = roleGateway.page(param);
if (CollUtil.isNotEmpty(rolePage.getData())) {
roles.addAll(rolePage.getData());
}
} while (rolePage.hasNext());
return roles.stream()
.collect(Collectors.toMap(RoleResp::getRoleId, Function.identity(), (oldVal, newVal) -> oldVal));
}
// private Map<Long, RoleResp> listSaasRoles(Set<Long> roleIds) {
// if (CollUtil.isEmpty(roleIds)) {
// return Collections.emptyMap();
// }
// List<RoleResp> roles = new ArrayList<>();
// PageRoleReq param = PageRoleReq.builder().roleIds(roleIds).build();
//
// PageResp<RoleResp> rolePage;
// int pageNumber = 0;
// param.setPageSize(JOB_PAGE_SIZE);
// do {
// param.setPage(++pageNumber);
// rolePage = roleGateway.page(param);
// if (CollUtil.isNotEmpty(rolePage.getData())) {
// roles.addAll(rolePage.getData());
// }
// } while (rolePage.hasNext());
//
// return roles.stream()
// .collect(Collectors.toMap(RoleResp::getRoleId, Function.identity(), (oldVal, newVal) -> oldVal));
// }
private void buildOrgGroup4OrgJob(List<OrgJobDTO> orgJobs) {
// 查询岗位与分组的关联关系