feat(REQ-3714): 调整发送mq

This commit is contained in:
zhanghonghao 2025-03-07 14:52:04 +08:00
parent d911db5166
commit 9ec0d538d3
2 changed files with 9 additions and 12 deletions

View File

@ -6,9 +6,8 @@ import cn.axzo.orgmanax.dto.common.util.NumberUtil;
import cn.axzo.orgmanax.dto.orguser.event.OrgUserStatusChangedEvent;
import cn.axzo.orgmanax.server.mq.enums.MQEventEnum;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.extra.spring.SpringUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
import java.util.Collection;
@ -21,13 +20,14 @@ import java.util.Objects;
*/
@Slf4j
@Component
public class OrgUserChangedEventProducer implements InitializingBean {
@RequiredArgsConstructor
public class OrgUserChangedEventProducer {
private static final String EVENT_INVALID = "the event is invalid. {}";
private static EventProducer<?> eventProducer;
private final EventProducer eventProducer;
public static void sendStatusEvent(OrgUserStatusChangedEvent event) {
public void sendStatusEvent(OrgUserStatusChangedEvent event) {
if (isInvalid(event)) {
log.info(EVENT_INVALID, event);
return;
@ -36,12 +36,12 @@ public class OrgUserChangedEventProducer implements InitializingBean {
eventProducer.send(map(event));
}
public static void batchSendStatusEvents(Collection<OrgUserStatusChangedEvent> events) {
public void batchSendStatusEvents(Collection<OrgUserStatusChangedEvent> events) {
if (CollUtil.isEmpty(events)) {
log.info("the events is empty.");
return;
}
events.forEach(OrgUserChangedEventProducer::sendStatusEvent);
events.forEach(this::sendStatusEvent);
}
@ -64,8 +64,4 @@ public class OrgUserChangedEventProducer implements InitializingBean {
.build();
}
@Override
public void afterPropertiesSet() throws Exception {
eventProducer = SpringUtil.getBean(EventProducer.class);
}
}

View File

@ -37,6 +37,7 @@ public class OrgUserFoundationServiceImpl implements OrgUserFoundationService {
private final WorkspaceGateway workspaceGateway;
private final OrgUserQueryRepository orgUserQueryRepository;
private final OrgUserUpsertRepository orgUserUpsertRepository;
private final OrgUserChangedEventProducer orgUserChangedEventProducer;
@Override
public void batchWithdrawOrQuit(OrgUserWithdrawOrQuitReq req) {
@ -91,7 +92,7 @@ public class OrgUserFoundationServiceImpl implements OrgUserFoundationService {
// 事务提交之后发送MQ
Function<OrgUserDTO, OrgUserStatusChangedEvent> eventMapper = e -> toOrgUserStatusChangedEvent(e, topNodeId);
List<OrgUserStatusChangedEvent> events = CollUtil.map(orgUsers, eventMapper, true);
OrgUserChangedEventProducer.batchSendStatusEvents(events);
orgUserChangedEventProducer.batchSendStatusEvents(events);
}
public static OrgUserStatusChangedEvent toOrgUserStatusChangedEvent(OrgUserDTO orgUser, Long topNodeId) {