feat: 解决通过routerParams里面的taskNo

找到taskOrder的情况
This commit is contained in:
lilong 2024-02-28 15:38:07 +08:00
parent 705366f49b
commit c4b59d9574
2 changed files with 40 additions and 27 deletions

View File

@ -29,6 +29,7 @@ import com.google.common.collect.Sets;
import lombok.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Value;
@ -216,41 +217,49 @@ public class OuIdMigrateService {
log.info("zeroOuId, record:{}, cooperateShip:{}", record.getId(), JSONObject.toJSONString(cooperateShip));
if (cooperateShip == null) {
PendingMessageRecord.RouterParams routerParams = record.resolveRouterParams();
TaskOrderRsp taskOrderRsp = Optional.ofNullable(apolloWorkerTaskOrderApi.listTaskOrderInfo(Lists.newArrayList(record.getBizCode())).getData())
String taskNo = Optional.ofNullable(routerParams.getTaskNo())
.orElseGet(() -> routerParams.getTaskId());
if (StringUtils.isBlank(taskNo)) {
tryUpdate(record, null, "routerParams里面的taskNo不存在");
return;
}
TaskOrderRsp taskOrderRsp = Optional.ofNullable(apolloWorkerTaskOrderApi.listTaskOrderInfo(Lists.newArrayList(taskNo)).getData())
.map(data -> data.stream()
.findFirst()
.orElse(null))
.orElse(null);
if (taskOrderRsp == null) {
tryUpdate(record, null, "未通过bizCode找到对应的taskOrder");
} else {
Long orgNodeId = null;
if (Sets.newHashSet("fdf662e201c945dba040fc54db50a702",
"b8115314233d478ca70e9f50ca0b0dc3",
"a97ff39e4d39484ab7fccc55d50ea714",
"5791020e815741e4876328c98aa3bd34").contains(record.getTemplateCode())) {
orgNodeId = taskOrderRsp.getDistributorOrgNodeId();
} else if (Sets.newHashSet("f40eef2ee88e4a80a699389d009a1561",
"d1d4793c84e14d20ae1cbc399338efa3").contains(record.getTemplateCode())) {
orgNodeId = taskOrderRsp.getRecipientOrgNodeId();
}
return;
}
Long orgNodeId = null;
if (Sets.newHashSet("fdf662e201c945dba040fc54db50a702",
"b8115314233d478ca70e9f50ca0b0dc3",
"a97ff39e4d39484ab7fccc55d50ea714",
"5791020e815741e4876328c98aa3bd34").contains(record.getTemplateCode())) {
orgNodeId = taskOrderRsp.getDistributorOrgNodeId();
} else if (Sets.newHashSet("f40eef2ee88e4a80a699389d009a1561",
"d1d4793c84e14d20ae1cbc399338efa3").contains(record.getTemplateCode())) {
orgNodeId = taskOrderRsp.getRecipientOrgNodeId();
}
if (orgNodeId == null) {
tryUpdate(record, null, "模板code未找到对应的taskOrderNoderId");
} else {
OrganizationalNodeUserBasicQueryVO organizationalNodeUserBasicQueryVO = new OrganizationalNodeUserBasicQueryVO();
organizationalNodeUserBasicQueryVO.setNodeIds(Lists.newArrayList(orgNodeId));
organizationalNodeUserBasicQueryVO.setPersonIds(Sets.newHashSet(record.getExecutorPersonId()));
Optional<OrganizationalNodeUserBasicVO> nodeUserBasic = organizationalNodeUserApi.queryUserBasic(organizationalNodeUserBasicQueryVO).getData()
.stream()
.findFirst();
if (nodeUserBasic.isPresent()) {
tryUpdate(record, nodeUserBasic.get().getOrganizationalUnitId(), "通过taskOrder的nodeId找到nodeUser的ouId");
} else {
tryUpdate(record, null, "未通过taskOrder的orgNodeId找到nodeUser");
}
}
if (orgNodeId == null) {
tryUpdate(record, null, "模板code未找到对应的taskOrderNoderId");
return;
}
OrganizationalNodeUserBasicQueryVO organizationalNodeUserBasicQueryVO = new OrganizationalNodeUserBasicQueryVO();
organizationalNodeUserBasicQueryVO.setNodeIds(Lists.newArrayList(orgNodeId));
organizationalNodeUserBasicQueryVO.setPersonIds(Sets.newHashSet(record.getExecutorPersonId()));
Optional<OrganizationalNodeUserBasicVO> nodeUserBasic = organizationalNodeUserApi.queryUserBasic(organizationalNodeUserBasicQueryVO).getData()
.stream()
.findFirst();
if (nodeUserBasic.isPresent()) {
tryUpdate(record, nodeUserBasic.get().getOrganizationalUnitId(), "通过taskOrder的nodeId找到nodeUser的ouId");
} else {
tryUpdate(record, null, "未通过taskOrder的orgNodeId找到nodeUser");
}
} else {
tryUpdate(record, cooperateShip.getOrganizationalUnitId(), "通过cooperate ship找到对应的单位");

View File

@ -186,5 +186,9 @@ public class PendingMessageRecord extends BaseEntityExt<PendingMessageRecord> im
private String workspaceId;
private String ouId;
private String taskId;
private String taskNo;
}
}