feat(REQ-3282): 调整岗位分页的参数
This commit is contained in:
parent
9cba45b82d
commit
d543184f53
@ -5,7 +5,6 @@ import cn.axzo.foundation.result.ApiResult;
|
||||
import cn.axzo.orgmanax.dto.job.dto.OrgJobDTO;
|
||||
import cn.axzo.orgmanax.dto.job.req.CreateOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.DeleteOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.ListOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.PageOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.UpdateOrgJobReq;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
@ -27,9 +26,6 @@ public interface OrgJobApi {
|
||||
@PostMapping("/api/job/delete")
|
||||
ApiResult<Void> delete(@RequestBody @Validated DeleteOrgJobReq req);
|
||||
|
||||
@PostMapping("/api/job/list")
|
||||
ApiResult<PageResp<OrgJobDTO>> list(@RequestBody @Validated ListOrgJobReq req);
|
||||
|
||||
/**
|
||||
* 分页列表接口。
|
||||
* XXX:本接口默认分页,单页最多返回1000条数据。调用方使用时需注意。
|
||||
|
||||
@ -7,7 +7,7 @@ package cn.axzo.orgmanax.dto.job.dto;
|
||||
* @date 2024/2/27
|
||||
* @version 1.0
|
||||
*/
|
||||
public interface OrgJobCodeConstants {
|
||||
public interface OrgJobConstants {
|
||||
|
||||
/** 项目内工人 **/
|
||||
String PROJ_WORKER = "projWorker";
|
||||
@ -36,4 +36,5 @@ public interface OrgJobCodeConstants {
|
||||
String OLD_CONFIG = "oldJobConfigs";
|
||||
String CODE_KEY = "code";
|
||||
String OLD_NEW_JOB_CODE_MAP_KEY = "job_code_mapping";
|
||||
Integer JOB_PAGE_SIZE = 1000;
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package cn.axzo.orgmanax.dto.job.dto;
|
||||
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobCodeConstants.CODE_KEY;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobCodeConstants.OLD_CONFIG;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobConstants.CODE_KEY;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobConstants.OLD_CONFIG;
|
||||
|
||||
import cn.axzo.orgmanax.dto.job.enums.OrgJobFlagEnum;
|
||||
import cn.axzo.orgmanax.dto.job.enums.OrgJobTypeEnum;
|
||||
|
||||
@ -1,42 +0,0 @@
|
||||
package cn.axzo.orgmanax.dto.job.req;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import cn.axzo.orgmanax.dto.job.enums.OrgJobTypeEnum;
|
||||
import java.util.Set;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@SuperBuilder
|
||||
public class ListOrgJobReq extends PageReqV2 {
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 岗位id集合
|
||||
*/
|
||||
private Set<Long> jobIds;
|
||||
/**
|
||||
* 岗位编码集合
|
||||
*/
|
||||
private Set<String> jobCodes;
|
||||
/**
|
||||
* 岗位类型
|
||||
*/
|
||||
private OrgJobTypeEnum type;
|
||||
/**
|
||||
* 搜索关键字
|
||||
* Notice: 名称或别名的模糊搜索
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
}
|
||||
@ -59,4 +59,25 @@ public class PageOrgJobReq extends PageReqV2 {
|
||||
*/
|
||||
private OrgJobTypeEnum type;
|
||||
|
||||
/**
|
||||
* 岗位类型 1:总包单位 2:建设单位 3:监理单位 4:劳务分包 5:专业分包 6:OMS 7:企业通用 9:班组项目内
|
||||
*/
|
||||
private List<Integer> types;
|
||||
|
||||
/**
|
||||
* 可为空,即加载默认和自定义所有岗位 true预定义岗位 false 自定义岗位
|
||||
*/
|
||||
private Boolean readonly;
|
||||
|
||||
// workspace和unitId 只有自定义类型使用
|
||||
/**
|
||||
* 单位/团队 ID 列表
|
||||
*/
|
||||
private List<Long> unitIds;
|
||||
|
||||
/**
|
||||
* 工作台id 列表
|
||||
*/
|
||||
private List<Long> workspaceIds;
|
||||
|
||||
}
|
||||
|
||||
@ -6,11 +6,10 @@ import cn.axzo.orgmanax.api.orgjob.feign.OrgJobApi;
|
||||
import cn.axzo.orgmanax.dto.job.dto.OrgJobDTO;
|
||||
import cn.axzo.orgmanax.dto.job.req.CreateOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.DeleteOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.ListOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.PageOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.UpdateOrgJobReq;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.OrgJobService;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobAggregatePageParam;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobPageParam;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -39,13 +38,8 @@ public class OrgJobController implements OrgJobApi {
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<PageResp<OrgJobDTO>> list(ListOrgJobReq req) {
|
||||
return ApiResult.success(orgJobService.list(req));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<PageResp<OrgJobDTO>> page(PageOrgJobReq req) {
|
||||
return ApiResult.success(orgJobService.page(BeanUtil.copyProperties(req, OrgJobAggregatePageParam.class)));
|
||||
return ApiResult.success(orgJobService.page(BeanUtil.copyProperties(req, OrgJobPageParam.class)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.foundation;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.orgmanax.dto.job.req.ListOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.dto.OrgJobDTO;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.dto.OrgJobCreator;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobPageParam;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -35,5 +35,5 @@ public interface OrgJobFoundationService {
|
||||
* 查询岗位信息
|
||||
* @return
|
||||
*/
|
||||
PageResp<OrgJobDTO> page(ListOrgJobReq req);
|
||||
PageResp<OrgJobDTO> page(OrgJobPageParam req);
|
||||
}
|
||||
|
||||
@ -2,12 +2,12 @@ package cn.axzo.orgmanax.server.orgjob.foundation.impl;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.orgmanax.dto.job.dto.OrgJobDTO;
|
||||
import cn.axzo.orgmanax.dto.job.req.ListOrgJobReq;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobUpsertRepository;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.OrgJobFoundationService;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.dto.OrgJobCreator;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobPageParam;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -39,7 +39,7 @@ public class OrgJobFoundationServiceImpl implements OrgJobFoundationService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResp<OrgJobDTO> page(ListOrgJobReq req) {
|
||||
public PageResp<OrgJobDTO> page(OrgJobPageParam req) {
|
||||
PageResp<OrgJobQueryRepository.JobResp> page = orgJobQueryRepository.page(convert(req));
|
||||
return PageResp.<OrgJobDTO>builder()
|
||||
.size(page.getSize())
|
||||
@ -49,7 +49,7 @@ public class OrgJobFoundationServiceImpl implements OrgJobFoundationService {
|
||||
.build();
|
||||
}
|
||||
|
||||
public OrgJobQueryRepository.ListReq convert(ListOrgJobReq req) {
|
||||
public OrgJobQueryRepository.ListReq convert(OrgJobPageParam req) {
|
||||
OrgJobQueryRepository.ListReq param = BeanUtil.copyProperties(req, OrgJobQueryRepository.ListReq.class);
|
||||
param.setIds(req.getJobIds());
|
||||
param.setCodes(req.getJobCodes());
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.foundation.impl;
|
||||
|
||||
import static cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobPageParam.JOB_PAGE_SIZE;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobConstants.JOB_PAGE_SIZE;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.orgmanax.dto.job.dto.OrgJobGroupDTO;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.foundation.impl;
|
||||
|
||||
import static cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobPageParam.JOB_PAGE_SIZE;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobConstants.JOB_PAGE_SIZE;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.orgmanax.dto.job.dto.OrgJobGroupRelationDTO;
|
||||
|
||||
@ -4,9 +4,8 @@ import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.orgmanax.dto.job.dto.OrgJobDTO;
|
||||
import cn.axzo.orgmanax.dto.job.req.CreateOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.DeleteOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.ListOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.UpdateOrgJobReq;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobAggregatePageParam;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobPageParam;
|
||||
|
||||
public interface OrgJobService {
|
||||
|
||||
@ -32,14 +31,7 @@ public interface OrgJobService {
|
||||
void delete(DeleteOrgJobReq req);
|
||||
|
||||
/**
|
||||
* 查询岗位
|
||||
* @param req
|
||||
* @return
|
||||
* 分页查询岗位
|
||||
*/
|
||||
PageResp<OrgJobDTO> list(ListOrgJobReq req);
|
||||
|
||||
/**
|
||||
* 聚合查询岗位
|
||||
*/
|
||||
PageResp<OrgJobDTO> page(OrgJobAggregatePageParam req);
|
||||
PageResp<OrgJobDTO> page(OrgJobPageParam req);
|
||||
}
|
||||
|
||||
@ -1,77 +0,0 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.service.dto;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import cn.axzo.orgmanax.dto.job.enums.OrgJobGroupFlagEnum;
|
||||
import cn.axzo.orgmanax.dto.job.enums.OrgJobTypeEnum;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/9/12
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrgJobAggregatePageParam extends PageReqV2 {
|
||||
|
||||
/**
|
||||
* 岗位分组标识集合
|
||||
*/
|
||||
private Set<OrgJobGroupFlagEnum> orgJobGroupFlags;
|
||||
/**
|
||||
* 分组编码集合
|
||||
*/
|
||||
private Set<String> orgJobGroupCodes;
|
||||
/**
|
||||
* 岗位id集合
|
||||
*/
|
||||
private Set<Long> jobIds;
|
||||
/**
|
||||
* 岗位编码集合
|
||||
*/
|
||||
private Set<String> jobCodes;
|
||||
/**
|
||||
* 岗位类型
|
||||
*/
|
||||
private OrgJobTypeEnum type;
|
||||
/**
|
||||
* 搜索关键字
|
||||
* Notice: 名称或别名的模糊搜索
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
/**
|
||||
* 是否需要查询角色信息
|
||||
*/
|
||||
@Builder.Default
|
||||
private Boolean needSaasRole = false;
|
||||
/**
|
||||
* 是否需要查询岗位分组信息
|
||||
*/
|
||||
@Builder.Default
|
||||
private Boolean needJobGroup = false;
|
||||
|
||||
public boolean isInvalid() {
|
||||
return CollUtil.isEmpty(orgJobGroupFlags)
|
||||
&& CollUtil.isEmpty(orgJobGroupCodes)
|
||||
&& CollUtil.isEmpty(jobIds)
|
||||
&& CollUtil.isEmpty(jobCodes)
|
||||
&& Objects.isNull(type)
|
||||
&& StringUtils.isBlank(keyword);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString();
|
||||
}
|
||||
}
|
||||
@ -1,13 +1,14 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.service.dto;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import cn.axzo.orgmanax.dto.job.enums.OrgJobGroupFlagEnum;
|
||||
import cn.axzo.orgmanax.dto.job.enums.OrgJobTypeEnum;
|
||||
import cn.axzo.orgmanax.dto.job.req.ListOrgJobReq;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
@ -16,7 +17,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/9/18
|
||||
* @date 2024/9/12
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@ -25,8 +26,15 @@ import org.apache.commons.lang3.StringUtils;
|
||||
public class OrgJobPageParam extends PageReqV2 {
|
||||
|
||||
public static final OrgJobPageParam EMPTY_INSTANCE = new OrgJobPageParam();
|
||||
public static final Integer JOB_PAGE_SIZE = 1000;
|
||||
|
||||
/**
|
||||
* 岗位分组标识集合
|
||||
*/
|
||||
private Set<OrgJobGroupFlagEnum> orgJobGroupFlags;
|
||||
/**
|
||||
* 分组编码集合
|
||||
*/
|
||||
private Set<String> orgJobGroupCodes;
|
||||
/**
|
||||
* 岗位id集合
|
||||
*/
|
||||
@ -45,36 +53,47 @@ public class OrgJobPageParam extends PageReqV2 {
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
public static OrgJobPageParam from(OrgJobAggregatePageParam param) {
|
||||
OrgJobPageParam jobPageParam = new OrgJobPageParam();
|
||||
jobPageParam.setType(param.getType());
|
||||
jobPageParam.setKeyword(param.getKeyword());
|
||||
jobPageParam.setJobIds(param.getJobIds());
|
||||
jobPageParam.setJobCodes(param.getJobCodes());
|
||||
jobPageParam.setPage(param.getPage());
|
||||
jobPageParam.setPageSize(param.getPageSize());
|
||||
return jobPageParam;
|
||||
}
|
||||
/**
|
||||
* 是否需要查询角色信息
|
||||
*/
|
||||
@Builder.Default
|
||||
private Boolean needSaasRole = false;
|
||||
/**
|
||||
* 是否需要查询岗位分组信息
|
||||
*/
|
||||
@Builder.Default
|
||||
private Boolean needJobGroup = false;
|
||||
|
||||
/**
|
||||
* 岗位类型 1:总包单位 2:建设单位 3:监理单位 4:劳务分包 5:专业分包 6:OMS 7:企业通用 9:班组项目内
|
||||
*/
|
||||
private List<Integer> types;
|
||||
|
||||
/**
|
||||
* 可为空,即加载默认和自定义所有岗位 true预定义岗位 false 自定义岗位
|
||||
*/
|
||||
private Boolean readonly;
|
||||
|
||||
// workspace和unitId 只有自定义类型使用
|
||||
/**
|
||||
* 单位/团队 ID 列表
|
||||
*/
|
||||
private List<Long> unitIds;
|
||||
|
||||
/**
|
||||
* 工作台id 列表
|
||||
*/
|
||||
private List<Long> workspaceIds;
|
||||
|
||||
public boolean isInvalid() {
|
||||
return CollUtil.isEmpty(jobIds)
|
||||
return CollUtil.isEmpty(orgJobGroupFlags)
|
||||
&& CollUtil.isEmpty(orgJobGroupCodes)
|
||||
&& CollUtil.isEmpty(jobIds)
|
||||
&& CollUtil.isEmpty(jobCodes)
|
||||
&& Objects.isNull(type)
|
||||
&& StringUtils.isBlank(keyword);
|
||||
}
|
||||
|
||||
public ListOrgJobReq convert() {
|
||||
return BeanUtil.toBean(this, ListOrgJobReq.class);
|
||||
}
|
||||
|
||||
// public Integer getPage() {
|
||||
// return Optional.ofNullable(super.getPage()).orElse(1);
|
||||
// }
|
||||
//
|
||||
// public Integer getPageSize() {
|
||||
// return Optional.ofNullable(super.getPageSize()).orElse(20);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString();
|
||||
|
||||
@ -1,27 +1,25 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.service.impl;
|
||||
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobCodeConstants.CODE_KEY;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobCodeConstants.OLD_CONFIG;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobCodeConstants.OLD_NEW_JOB_CODE_MAP_KEY;
|
||||
import static cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobPageParam.JOB_PAGE_SIZE;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobConstants.CODE_KEY;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobConstants.JOB_PAGE_SIZE;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobConstants.OLD_CONFIG;
|
||||
import static cn.axzo.orgmanax.dto.job.dto.OrgJobConstants.OLD_NEW_JOB_CODE_MAP_KEY;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
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.OrgJobTypeEnum;
|
||||
import cn.axzo.orgmanax.dto.job.req.CreateOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.DeleteOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.ListOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.req.UpdateOrgJobReq;
|
||||
import cn.axzo.orgmanax.dto.job.dto.OrgJobGroupDTO;
|
||||
import cn.axzo.orgmanax.dto.job.dto.OrgJobGroupRelationDTO;
|
||||
import cn.axzo.orgmanax.infra.client.tyr.RoleGateway;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.OrgJobFoundationService;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.OrgJobGroupFoundationService;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.OrgJobGroupRelationFoundationService;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.dto.OrgJobCreator;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.OrgJobService;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.dto.OrgJobAggregatePageParam;
|
||||
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;
|
||||
@ -86,18 +84,13 @@ public class OrgJobServiceImpl implements OrgJobService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResp<OrgJobDTO> list(ListOrgJobReq req) {
|
||||
return foundationService.page(req);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResp<OrgJobDTO> page(OrgJobAggregatePageParam param) {
|
||||
public PageResp<OrgJobDTO> page(OrgJobPageParam param) {
|
||||
if (param.isInvalid()) {
|
||||
log.info("org job page param is invalid. param:{}", JSONUtil.toJsonStr(param));
|
||||
return PageResp.<OrgJobDTO>builder().build();
|
||||
}
|
||||
OrgJobPageParam orgJobPageParam = resolveJobPageParam(param);
|
||||
PageResp<OrgJobDTO> orgJobs = foundationService.page(orgJobPageParam.convert());
|
||||
PageResp<OrgJobDTO> orgJobs = foundationService.page(param);
|
||||
if (CollUtil.isEmpty(orgJobs.getData())) {
|
||||
log.info("org job page there is not any job. param:{}", JSONUtil.toJsonStr(orgJobPageParam));
|
||||
return PageResp.<OrgJobDTO>builder().build();
|
||||
@ -183,12 +176,11 @@ public class OrgJobServiceImpl implements OrgJobService {
|
||||
.forEach(e -> e.setJobGroup(groupMap.get(relationGroup.get(e.getCode()))));
|
||||
}
|
||||
|
||||
private OrgJobPageParam resolveJobPageParam(OrgJobAggregatePageParam param) {
|
||||
OrgJobPageParam jobPageParam = OrgJobPageParam.from(param);
|
||||
jobPageParam.setJobCodes(resolveJobCodes(param.getJobCodes()));
|
||||
private OrgJobPageParam resolveJobPageParam(OrgJobPageParam param) {
|
||||
param.setJobCodes(resolveJobCodes(param.getJobCodes()));
|
||||
if (CollUtil.isEmpty(param.getOrgJobGroupCodes())
|
||||
&& CollUtil.isEmpty(param.getOrgJobGroupFlags())) {
|
||||
return jobPageParam;
|
||||
return param;
|
||||
}
|
||||
// 通过分组相关参数参数JOB
|
||||
OrgJobGroupPageParam groupListParam = OrgJobGroupPageParam.builder()
|
||||
@ -201,20 +193,20 @@ public class OrgJobServiceImpl implements OrgJobService {
|
||||
JSONUtil.toJsonStr(groupListParam));
|
||||
return OrgJobPageParam.EMPTY_INSTANCE;
|
||||
}
|
||||
if (CollUtil.isEmpty(jobPageParam.getJobCodes())) {
|
||||
if (CollUtil.isEmpty(param.getJobCodes())) {
|
||||
// 直接设置jobCodes入参
|
||||
jobPageParam.setJobCodes(jobCodes);
|
||||
param.setJobCodes(jobCodes);
|
||||
} else {
|
||||
// jobCodes取交集
|
||||
Collection<String> intersection = CollUtil.intersection(jobPageParam.getJobCodes(), jobCodes);
|
||||
Collection<String> intersection = CollUtil.intersection(param.getJobCodes(), jobCodes);
|
||||
if (CollUtil.isEmpty(intersection)) {
|
||||
log.info("resolveJobPageParam the intersection is empty. param:{}",
|
||||
JSONUtil.toJsonStr(groupListParam));
|
||||
return OrgJobPageParam.EMPTY_INSTANCE;
|
||||
}
|
||||
jobPageParam.setJobCodes(Sets.newHashSet(intersection));
|
||||
param.setJobCodes(Sets.newHashSet(intersection));
|
||||
}
|
||||
return jobPageParam;
|
||||
return param;
|
||||
}
|
||||
|
||||
private Set<String> resolveJobCodesByGroup(OrgJobGroupPageParam groupListParam) {
|
||||
@ -251,14 +243,13 @@ public class OrgJobServiceImpl implements OrgJobService {
|
||||
}
|
||||
|
||||
public List<OrgJobDTO> whileQuery(OrgJobPageParam param) {
|
||||
ListOrgJobReq listParam = ListOrgJobReq.builder().type(param.getType()).build();
|
||||
List<OrgJobDTO> jobs = new ArrayList<>();
|
||||
PageResp<OrgJobDTO> jobPage;
|
||||
int pageNumber = 0;
|
||||
param.setPageSize(JOB_PAGE_SIZE);
|
||||
do {
|
||||
param.setPage(++pageNumber);
|
||||
jobPage = foundationService.page(listParam);
|
||||
jobPage = foundationService.page(param);
|
||||
if (CollUtil.isNotEmpty(jobPage.getData())) {
|
||||
jobs.addAll(jobPage.getData());
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user