feat(REQ-3714): 处理项目内工人退场和发送mq删除

This commit is contained in:
zhanghonghao 2025-03-12 17:17:14 +08:00
parent a3bce5367e
commit f4a85a986f
3 changed files with 16 additions and 9 deletions

View File

@ -58,6 +58,7 @@ public class OrgUserChangedEventProducer {
MQEventEnum mqEvent = MQEventEnum.ORG_USER_MOVEMENT;
return Event.builder()
.shardingKey(String.valueOf(event.getPersonId()))
.targetId(String.valueOf(event.getPersonId()))
.targetType(mqEvent.getModel())
.eventCode(mqEvent.getEventCode())
.data(event)

View File

@ -29,6 +29,7 @@ import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
import cn.axzo.orgmanax.infra.dao.unit.repository.UnitQueryRepository;
import cn.axzo.orgmanax.server.mq.OrganizationalNodeUserUpsertedPayload;
import cn.axzo.orgmanax.server.mq.enums.MQEventEnum;
import cn.axzo.orgmanax.server.node.event.inner.NodeEventType;
import cn.axzo.orgmanax.server.nodeuser.event.inner.payload.NodeUserUpsertedPayload;
import cn.axzo.orgmanax.server.nodeuser.foundation.NodeUserFoundationService;
@ -49,11 +50,7 @@ import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -218,7 +215,7 @@ public class NodeUserFoundationServiceImpl implements NodeUserFoundationService
OrgProjectWorkerWithdrawReq workerReq = new OrgProjectWorkerWithdrawReq();
workerReq.setWorkspaceId(req.getWorkspaceId());
if (req.isUnitDelete()) {
quitReq.setOuId(req.getOuId());
workerReq.setOuId(req.getOuId());
workerReq.setWorkspaceId(nodeUserList.get(0).getWorkspaceId());
}
workerReq.setPersonIds(req.getPersonIds());
@ -239,6 +236,15 @@ public class NodeUserFoundationServiceImpl implements NodeUserFoundationService
.build();
eventProducer.send(OrganizationalNodeUserUpsertedPayload.from(null, e, "-1",
new JSONObject().fluentPut("operateLogSaveParam", saveParam)));
MQEventEnum mqEvent = MQEventEnum.NODE_USER_DELETE;
Event nodeUserDelete = Event.builder()
.shardingKey(String.valueOf(e.getPersonId()))
.targetId(String.valueOf(e.getPersonId()))
.targetType(mqEvent.getModel())
.eventCode(mqEvent.getEventCode())
.data(e)
.build();
eventProducer.send(nodeUserDelete);
}
private void checkDeleteReq(NodeUserDelete req) {

View File

@ -42,9 +42,9 @@ public class OrgProjectWorkerFoundationServiceImpl implements OrgProjectWorkerFo
Date now = new Date();
List<OrgProjectWorker> orgProjectWorkers = projectWorkerResps.stream().map(e -> {
OrgProjectWorker orgProjectWorker = BeanUtil.toBean(e, OrgProjectWorker.class);
e.setStatus(ProjectWorkerStatusEnum.WITHDRAW.getValue());
e.setResignAt(now);
e.setUpdateAt(now);
orgProjectWorker.setStatus(ProjectWorkerStatusEnum.WITHDRAW.getValue());
orgProjectWorker.setResignAt(now);
orgProjectWorker.setUpdateAt(now);
return orgProjectWorker;
}).collect(Collectors.toList());
orgProjectWorkerUpsertRepository.batchUpdate(orgProjectWorkers);