feat(REQ-2348): job调整

This commit is contained in:
chenwenjian 2024-08-19 10:16:54 +08:00
parent ee41c7550a
commit 051bae12ce

View File

@ -45,6 +45,7 @@ public class HistoryWorkspaceGuideProcedureJob extends IJobHandler {
private final CooperateShipQueryApi cooperateShipQueryApi;
private final GuideCardProperties guideCardProperties;
/**
* 已存在项目操作步骤初始化
*
@ -69,15 +70,15 @@ public class HistoryWorkspaceGuideProcedureJob extends IJobHandler {
log.info("开始初始化项目操作步骤workspaceIds: {}", JSONUtil.toJsonStr(workspaceIds));
// 初始化项目的操作步骤全部初始化为已完成
List<GuideProcedureTemplate> templates = getProcedureTemplates(GuideProcedureTypeEnum.PROJECT);
workspaceIds.forEach(w -> initializeWorkspaceProcedureStatus(templates, w));
List<GuideProcedureTemplate> projectTemplates = getProcedureTemplates(GuideProcedureTypeEnum.PROJECT);
workspaceIds.forEach(w -> initializeWorkspaceProcedureStatus(projectTemplates, w));
// 通过项目获取所有参建单位
CooperateShipQueryReq shipQueryReq = new CooperateShipQueryReq();
shipQueryReq.setWorkspaceType(WorkspaceTypeEnum.GENERAL_PROJECT.value);
shipQueryReq.setWorkspaceIds(workspaceIds);
List<CooperateShipResp> cooperateShipResps = cooperateShipQueryApi.genericQuery(shipQueryReq).getData();
if (CollUtil.isEmpty(cooperateShipResps)){
if (CollUtil.isEmpty(cooperateShipResps)) {
return ReturnT.SUCCESS;
}
List<Long> ouIds = cooperateShipResps.stream()
@ -91,7 +92,7 @@ public class HistoryWorkspaceGuideProcedureJob extends IJobHandler {
shipQueryReq.setWorkspaceType(WorkspaceTypeEnum.GENERAL_ENT.value);
shipQueryReq.setOuIdList(ouIds);
cooperateShipResps = cooperateShipQueryApi.genericQuery(shipQueryReq).getData();
if (CollUtil.isEmpty(cooperateShipResps)){
if (CollUtil.isEmpty(cooperateShipResps)) {
return ReturnT.SUCCESS;
}
workspaceIds = cooperateShipResps.stream()
@ -101,16 +102,17 @@ public class HistoryWorkspaceGuideProcedureJob extends IJobHandler {
log.info("通过参建单位ouId获取所有单位workspaceIdworkspaceIds: {}", JSONUtil.toJsonStr(workspaceIds));
// 通过单位workspaceId初始化单位的操作步骤全部初始化为已完成
workspaceIds.forEach(w -> initializeWorkspaceProcedureStatus(templates, w));
List<GuideProcedureTemplate> entTemplates = getProcedureTemplates(GuideProcedureTypeEnum.ENT);
workspaceIds.forEach(w -> initializeWorkspaceProcedureStatus(entTemplates, w));
return ReturnT.SUCCESS;
}
private void initializeWorkspaceProcedureStatus(List<GuideProcedureTemplate> templates, Long w) {
List<GuideProcedureTemplate> wrokspaceProcedures = templates;
List<GuideProcedureTemplate> needCreateProcedures = wrokspaceProcedures;
List<GuideProcedureTemplate> needCreateProcedures = templates;
// 获取该租户已初始化的操作步骤
LambdaQueryWrapper<GuideTenantProcedureStatus> statusQueryWrapper = new LambdaQueryWrapper<>();
statusQueryWrapper.eq(GuideTenantProcedureStatus::getWorkspaceId, w);
statusQueryWrapper.eq(GuideTenantProcedureStatus::getIsDelete, 0);
List<GuideTenantProcedureStatus> procedureStatuses = guideTenantProcedureStatusMapper.selectList(statusQueryWrapper);
List<Long> todoProcedureIds = Collections.emptyList();
@ -123,7 +125,7 @@ public class HistoryWorkspaceGuideProcedureJob extends IJobHandler {
.map(GuideTenantProcedureStatus::getProcedureId)
.collect(Collectors.toList());
// 获取待初始化的操作步骤
needCreateProcedures = wrokspaceProcedures.stream()
needCreateProcedures = templates.stream()
.filter(t -> !procedureIds.contains(t.getId()))
.collect(Collectors.toList());
}
@ -148,7 +150,8 @@ public class HistoryWorkspaceGuideProcedureJob extends IJobHandler {
status.setStatus(GuideProcedureStatus.FINISHED);
LambdaUpdateWrapper<GuideTenantProcedureStatus> statusLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
statusLambdaUpdateWrapper.eq(GuideTenantProcedureStatus::getWorkspaceId, w)
.in(GuideTenantProcedureStatus::getProcedureId, todoProcedureIds);
.in(GuideTenantProcedureStatus::getProcedureId, todoProcedureIds)
.eq(GuideTenantProcedureStatus::getIsDelete, 0);
guideTenantProcedureStatusMapper.update(status, statusLambdaUpdateWrapper);
log.info("更新操作步骤状态: workspaceId: {}, procedureIds{}", w, JSONUtil.toJsonStr(todoProcedureIds));
}
@ -163,6 +166,7 @@ public class HistoryWorkspaceGuideProcedureJob extends IJobHandler {
private List<GuideProcedureTemplate> getProcedureTemplates(GuideProcedureTypeEnum type) {
LambdaQueryWrapper<GuideProcedureTemplate> templateQueryWrapper = new LambdaQueryWrapper<>();
templateQueryWrapper.eq(GuideProcedureTemplate::getType, type);
templateQueryWrapper.eq(GuideProcedureTemplate::getIsDelete, 0);
return procedureTemplateMapper.selectList(templateQueryWrapper);
}