REQ-3345: 调整类

This commit is contained in:
yanglin 2025-02-06 11:44:39 +08:00
parent 88c1d86612
commit 7bd2ca0d07
9 changed files with 47 additions and 46 deletions

View File

@ -1,4 +1,4 @@
package cn.axzo.im.event.inner;
package cn.axzo.im.center.api.enums;
import cn.axzo.framework.rocketmq.Event;
import lombok.Getter;
@ -9,7 +9,7 @@ import lombok.Getter;
* @Created by lilong
*/
@Getter
public enum EventTypeEnum {
public enum MqEventType {
MESSAGE_HISTORY_CREATED("message-history", "message-history-created", "发送记录创建"),
MESSAGE_HISTORY_UPDATED("message-history", "message-history-updated", "发送记录修改"),
@ -27,7 +27,7 @@ public enum EventTypeEnum {
SAAS_ROLE_USER_RELATION_UPSERT("saas-role-user-relation", "saas-role-user-relation-upsert", "更新用户角色信息"),
;
EventTypeEnum(String model, String name, String desc) {
MqEventType(String model, String name, String desc) {
this.eventCode = Event.EventCode.builder()
.module(model)
.name(name)

View File

@ -2,6 +2,7 @@ package cn.axzo.im.group;
import cn.axzo.basics.common.BeanMapper;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.im.center.api.enums.MqEventType;
import cn.axzo.im.center.api.vo.group.GroupInfo;
import cn.axzo.im.center.api.vo.group.GroupMemberInfo;
import cn.axzo.im.center.api.vo.mq.GroupChangedMessage;
@ -10,7 +11,6 @@ import cn.axzo.im.config.MqProducer;
import cn.axzo.im.dao.repository.GroupDao;
import cn.axzo.im.entity.Group;
import cn.axzo.im.entity.GroupMember;
import cn.axzo.im.event.inner.EventTypeEnum;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -26,7 +26,7 @@ class GroupBroadcaster {
private final MqProducer mqProducer;
private final GroupDao groupDao;
void fireGroupChanged(Group group, EventTypeEnum eventType) {
void fireGroupChanged(Group group, MqEventType eventType) {
GroupChangedMessage message = new GroupChangedMessage();
message.setGroup(BeanMapper.copyBean(group, GroupInfo.class));
Event event = Event.builder()
@ -41,7 +41,7 @@ class GroupBroadcaster {
void fireMembersChanged(Group group,
Collection<GroupMember> accounts,
EventTypeEnum eventType) {
MqEventType eventType) {
if (accounts.isEmpty()) return;
Group effectiveGroup = groupDao.getById(group.getId());
for (GroupMember account : accounts) {

View File

@ -1,6 +1,7 @@
package cn.axzo.im.group;
import cn.axzo.basics.common.exception.ServiceException;
import cn.axzo.im.center.api.enums.MqEventType;
import cn.axzo.im.center.api.vo.PersonAccountAttribute;
import cn.axzo.im.center.api.vo.req.GroupAddMembersRequest;
import cn.axzo.im.center.api.vo.req.GroupCreateRequest;
@ -21,7 +22,6 @@ import cn.axzo.im.dao.repository.GroupDao;
import cn.axzo.im.dao.repository.GroupMemberDao;
import cn.axzo.im.entity.Group;
import cn.axzo.im.entity.GroupMember;
import cn.axzo.im.event.inner.EventTypeEnum;
import cn.axzo.im.group.member.GroupMemberSyncer;
import cn.axzo.im.service.AccountService;
import cn.axzo.im.service.domain.ImAccounts;
@ -78,9 +78,9 @@ public class GroupManager {
BizAssertions.assertTrue(nimResponse.isSuccess(), "创建群失败: {}", nimResponse.getDesc());
groupDao.updateTid(group.getId(), nimResponse.getTid());
group = groupDao.getById(group.getId());
groupBroadcaster.fireGroupChanged(group, EventTypeEnum.GROUP_CREATED);
groupBroadcaster.fireGroupChanged(group, MqEventType.GROUP_CREATED);
groupMemberSyncer.syncMembers(group);
groupBroadcaster.fireMembersChanged(group, groupMemberDao.getByTid(nimResponse.getTid()), EventTypeEnum.GROUP_ADD_MEMBERS);
groupBroadcaster.fireMembersChanged(group, groupMemberDao.getByTid(nimResponse.getTid()), MqEventType.GROUP_ADD_MEMBERS);
GroupCreateResponse response = new GroupCreateResponse();
response.setTid(nimResponse.getTid());
response.setAccountsNotFound(imAccounts.getAccountNotFoundPersons(
@ -100,7 +100,7 @@ public class GroupManager {
BizAssertions.assertTrue(nimResponse.isSuccess(), "解散群失败: {}", nimResponse.getDesc());
groupDao.setDismissed(group.getTid());
group = groupDao.getById(group.getId());
groupBroadcaster.fireGroupChanged(group, EventTypeEnum.GROUP_DISMISSED);
groupBroadcaster.fireGroupChanged(group, MqEventType.GROUP_DISMISSED);
}
@Transactional
@ -135,7 +135,7 @@ public class GroupManager {
groupBroadcaster.fireMembersChanged(
group,
groupMemberDao.getByPersons(group.getTid(), toAddMembers),
EventTypeEnum.GROUP_ADD_MEMBERS);
MqEventType.GROUP_ADD_MEMBERS);
GroupAddMembersResponse response = new GroupAddMembersResponse();
response.setAccountsNotFound(imAccounts.getAccountNotFoundPersons(
groupSupport, "添加群成员", group, request.getMembers()));
@ -165,7 +165,7 @@ public class GroupManager {
groupMemberSyncer.syncMembers(group);
// 不比较直接发消息
groupBroadcaster.fireMembersChanged(
group, toRemoveMembers, EventTypeEnum.GROUP_REMOVE_MEMBERS);
group, toRemoveMembers, MqEventType.GROUP_REMOVE_MEMBERS);
}
@NotNull

View File

@ -5,12 +5,12 @@ import cn.axzo.basics.common.exception.ServiceException;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventHandler;
import cn.axzo.im.center.api.enums.MqEventType;
import cn.axzo.im.center.api.vo.req.chatgroup.ChatGroupGenericSearchReq;
import cn.axzo.im.center.api.vo.req.chatgroup.UserAddChatGroupReq;
import cn.axzo.im.center.common.enums.AppTypeEnum;
import cn.axzo.im.center.common.enums.ChatGroupUserDataSourceEnum;
import cn.axzo.im.entity.ChatGroup;
import cn.axzo.im.event.inner.EventTypeEnum;
import cn.axzo.im.event.payload.SaasRoleUserRelationUpsertPayload;
import cn.axzo.im.gateway.TyrApiGateway;
import cn.axzo.im.service.ChatGroupService;
@ -55,8 +55,8 @@ public class ChatGroupChangeOwnerEventHandler implements EventHandler, Initializ
@Override
public void onEvent(Event event, EventConsumer.Context context) {
if (!EventTypeEnum.SAAS_ROLE_USER_RELATION_REMOVED.getName().equalsIgnoreCase(event.getEventCode().getName())
&& !EventTypeEnum.SAAS_ROLE_USER_RELATION_UPSERT.getName().equalsIgnoreCase(event.getEventCode().getName())) {
if (!MqEventType.SAAS_ROLE_USER_RELATION_REMOVED.getName().equalsIgnoreCase(event.getEventCode().getName())
&& !MqEventType.SAAS_ROLE_USER_RELATION_UPSERT.getName().equalsIgnoreCase(event.getEventCode().getName())) {
return;
}
@ -64,13 +64,13 @@ public class ChatGroupChangeOwnerEventHandler implements EventHandler, Initializ
long start = System.currentTimeMillis();
try {
//角色删除
if (EventTypeEnum.SAAS_ROLE_USER_RELATION_REMOVED.getName().equalsIgnoreCase(event.getEventCode().getName())) {
if (MqEventType.SAAS_ROLE_USER_RELATION_REMOVED.getName().equalsIgnoreCase(event.getEventCode().getName())) {
this.handleMqMessageRoleRemove(event);
log.info("ChatGroupChangeOwnerEventHandler-handle-roleRemove mq event, event={},used={}ms", JSON.toJSONString(event), System.currentTimeMillis() - start);
return;
}
//角色变更
if (EventTypeEnum.SAAS_ROLE_USER_RELATION_UPSERT.getName().equalsIgnoreCase(event.getEventCode().getName())) {
if (MqEventType.SAAS_ROLE_USER_RELATION_UPSERT.getName().equalsIgnoreCase(event.getEventCode().getName())) {
this.handleMqMessageRoleUpsert(event);
log.info("ChatGroupChangeOwnerEventHandler-handle-upsert mq event, event={},used={}ms", JSON.toJSONString(event), System.currentTimeMillis() - start);
}
@ -213,8 +213,8 @@ public class ChatGroupChangeOwnerEventHandler implements EventHandler, Initializ
@Override
public void afterPropertiesSet() {
Event.EventCode removedEventCode = new Event.EventCode(EventTypeEnum.SAAS_ROLE_USER_RELATION_REMOVED.getModel(), EventTypeEnum.SAAS_ROLE_USER_RELATION_REMOVED.getName());
Event.EventCode upsertEventCode = new Event.EventCode(EventTypeEnum.SAAS_ROLE_USER_RELATION_UPSERT.getModel(), EventTypeEnum.SAAS_ROLE_USER_RELATION_UPSERT.getName());
Event.EventCode removedEventCode = new Event.EventCode(MqEventType.SAAS_ROLE_USER_RELATION_REMOVED.getModel(), MqEventType.SAAS_ROLE_USER_RELATION_REMOVED.getName());
Event.EventCode upsertEventCode = new Event.EventCode(MqEventType.SAAS_ROLE_USER_RELATION_UPSERT.getModel(), MqEventType.SAAS_ROLE_USER_RELATION_UPSERT.getName());
eventConsumer.registerHandler(removedEventCode, this);
eventConsumer.registerHandler(upsertEventCode, this);
}

View File

@ -4,10 +4,10 @@ import cn.axzo.basics.profiles.dto.basic.PersonProfileDto;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventHandler;
import cn.axzo.im.center.api.enums.MqEventType;
import cn.axzo.im.center.api.vo.req.chatgroup.ChatGroupCreateReq;
import cn.axzo.im.center.common.enums.AppTypeEnum;
import cn.axzo.im.center.common.enums.ChatGroupUserDataSourceEnum;
import cn.axzo.im.event.inner.EventTypeEnum;
import cn.axzo.im.event.payload.ChatGroupCreatePayload;
import cn.axzo.im.gateway.ProfilesApiGateway;
import cn.axzo.im.service.ChatGroupService;
@ -52,7 +52,7 @@ public class ChatGroupEventHandler implements EventHandler, InitializingBean {
@Override
public void onEvent(Event event, EventConsumer.Context context) {
if (!EventTypeEnum.MESSAGE_CHAT_GROUP_CREATE.getName().equalsIgnoreCase(event.getEventCode().getName())) {
if (!MqEventType.MESSAGE_CHAT_GROUP_CREATE.getName().equalsIgnoreCase(event.getEventCode().getName())) {
return;
}
@ -140,7 +140,7 @@ public class ChatGroupEventHandler implements EventHandler, InitializingBean {
@Override
public void afterPropertiesSet() {
Event.EventCode eventCode = new Event.EventCode(EventTypeEnum.MESSAGE_CHAT_GROUP_CREATE.getModel(), EventTypeEnum.MESSAGE_CHAT_GROUP_CREATE.getName());
Event.EventCode eventCode = new Event.EventCode(MqEventType.MESSAGE_CHAT_GROUP_CREATE.getModel(), MqEventType.MESSAGE_CHAT_GROUP_CREATE.getName());
eventConsumer.registerHandler(eventCode, this);
}
}

View File

@ -4,6 +4,7 @@ import cn.axzo.apollo.core.service.ServiceException;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventHandler;
import cn.axzo.im.center.api.enums.MqEventType;
import cn.axzo.im.center.api.vo.req.chatgroup.ChatGroupCreateReq;
import cn.axzo.im.center.api.vo.req.chatgroup.ChatGroupGenericSearchReq;
import cn.axzo.im.center.common.enums.AppTypeEnum;
@ -13,7 +14,6 @@ import cn.axzo.im.channel.netease.dto.ChatGroupQueryResponse;
import cn.axzo.im.config.JobCodeProperties;
import cn.axzo.im.entity.ChatGroup;
import cn.axzo.im.entity.dto.OrganizationalNodeUserDTO;
import cn.axzo.im.event.inner.EventTypeEnum;
import cn.axzo.im.event.payload.OrganizationalNodeUser;
import cn.axzo.im.event.payload.OrganizationalNodeUserPayload;
import cn.axzo.im.event.payload.OrganizationalNodeUserUpsertedPayload;
@ -77,10 +77,10 @@ public class OrganizationalNodeUserChangeEventHandler implements EventHandler, I
@Override
public void onEvent(Event event, EventConsumer.Context context) {
if (!EventTypeEnum.NODE_USER_CREATE.getName().equalsIgnoreCase(event.getEventCode().getName())
&& !EventTypeEnum.NODE_USER_UPDATE.getName().equalsIgnoreCase(event.getEventCode().getName())
&& !EventTypeEnum.NODE_USER_DELETE.getName().equalsIgnoreCase(event.getEventCode().getName())
&& !EventTypeEnum.NODE_USER_UPSERTED.getName().equalsIgnoreCase(event.getEventCode().getName())) {
if (!MqEventType.NODE_USER_CREATE.getName().equalsIgnoreCase(event.getEventCode().getName())
&& !MqEventType.NODE_USER_UPDATE.getName().equalsIgnoreCase(event.getEventCode().getName())
&& !MqEventType.NODE_USER_DELETE.getName().equalsIgnoreCase(event.getEventCode().getName())
&& !MqEventType.NODE_USER_UPSERTED.getName().equalsIgnoreCase(event.getEventCode().getName())) {
return;
}
log.info("im-organizationalNodeUserChange-start mq,eventModule:{},eventName:{}, event:{}", event.getEventCode().getModule(), event.getEventCode().getName(), JSON.toJSONString(event));
@ -114,8 +114,8 @@ public class OrganizationalNodeUserChangeEventHandler implements EventHandler, I
private OrgNodeUserPayLoadBean buildPayload(Event event) {
if (EventTypeEnum.NODE_USER_CREATE.getName().equalsIgnoreCase(event.getEventCode().getName())
|| EventTypeEnum.NODE_USER_UPDATE.getName().equalsIgnoreCase(event.getEventCode().getName())) {
if (MqEventType.NODE_USER_CREATE.getName().equalsIgnoreCase(event.getEventCode().getName())
|| MqEventType.NODE_USER_UPDATE.getName().equalsIgnoreCase(event.getEventCode().getName())) {
//解析数据
OrganizationalNodeUserPayload payload = event.normalizedData(OrganizationalNodeUserPayload.class);
OrgNodeUserPayLoad newNodeUser = this.buildPayload(payload.getId());
@ -123,7 +123,7 @@ public class OrganizationalNodeUserChangeEventHandler implements EventHandler, I
.build();
}
if (EventTypeEnum.NODE_USER_DELETE.getName().equalsIgnoreCase(event.getEventCode().getName())) {
if (MqEventType.NODE_USER_DELETE.getName().equalsIgnoreCase(event.getEventCode().getName())) {
//解析数据
OrganizationalNodeUserPayload payload = event.normalizedData(OrganizationalNodeUserPayload.class);
OrgNodeUserPayLoad newNodeUser = this.buildDeletePayload(payload);
@ -131,7 +131,7 @@ public class OrganizationalNodeUserChangeEventHandler implements EventHandler, I
.build();
}
if (EventTypeEnum.NODE_USER_UPSERTED.getName().equalsIgnoreCase(event.getEventCode().getName())) {
if (MqEventType.NODE_USER_UPSERTED.getName().equalsIgnoreCase(event.getEventCode().getName())) {
//解析数据
OrganizationalNodeUserUpsertedPayload payload = event.normalizedData(OrganizationalNodeUserUpsertedPayload.class);
if (Objects.isNull(payload.getOldValue()) || Objects.isNull(payload.getNewValue())) {
@ -157,7 +157,7 @@ public class OrganizationalNodeUserChangeEventHandler implements EventHandler, I
.nodeId(newNodeUserVO.getOrganizationalNodeId())
.jobId(newNodeUserVO.getOrganizationalJobId())
.personId(newNodeUserVO.getPersonId())
.tag(EventTypeEnum.NODE_USER_UPDATE.getName())
.tag(MqEventType.NODE_USER_UPDATE.getName())
.build();
}
@ -172,7 +172,7 @@ public class OrganizationalNodeUserChangeEventHandler implements EventHandler, I
.nodeId(payload.getOrganizationalNodeId())
.jobId(payload.getOrganizationalJobId())
.personId(payload.getPersonId())
.tag(EventTypeEnum.NODE_USER_DELETE.getName())
.tag(MqEventType.NODE_USER_DELETE.getName())
.build();
}
@ -188,7 +188,7 @@ public class OrganizationalNodeUserChangeEventHandler implements EventHandler, I
.nodeId(oldValue.getOrganizationalNodeId())
.jobId(oldValue.getOrganizationalJobId())
.personId(oldValue.getPersonId())
.tag(EventTypeEnum.NODE_USER_UPDATE.getName())
.tag(MqEventType.NODE_USER_UPDATE.getName())
.build();
}
@ -361,17 +361,17 @@ public class OrganizationalNodeUserChangeEventHandler implements EventHandler, I
log.info("doEnterOrExitChatGroup,tag:{},groupId:{},currentImAccount:{},owner:{},containJobCode:{}", tag, chatGroup.getId(), currentImAccount, owner, containJobCode);
}
//orgNodeUser新增人,并且当前群不包含人
if (tag.equals(EventTypeEnum.NODE_USER_CREATE.getName()) && containJobCode) {
if (tag.equals(MqEventType.NODE_USER_CREATE.getName()) && containJobCode) {
//拉人进群
return this.chatGroupService.userAddChatGroup(chatGroup.getId(), chatGroup.getTid(), owner, Sets.newHashSet(currentImAccount), chatGroup.getName(), ChatGroupUserDataSourceEnum.USER_CHANGE, 0);
}
//orgNodeUser删除人 并且当前成员不包含人
if (tag.equals(EventTypeEnum.NODE_USER_DELETE.getName()) && members.contains(currentImAccount)) {
if (tag.equals(MqEventType.NODE_USER_DELETE.getName()) && members.contains(currentImAccount)) {
//踢出群
return this.chatGroupService.kickChatGroup(chatGroup.getId(), chatGroup.getTid(), owner,currentImAccount);
}
//以下orgNodeUser更新
if (!tag.equals(EventTypeEnum.NODE_USER_UPDATE.getName())) {
if (!tag.equals(MqEventType.NODE_USER_UPDATE.getName())) {
return false;
}
@ -407,10 +407,10 @@ public class OrganizationalNodeUserChangeEventHandler implements EventHandler, I
@Override
public void afterPropertiesSet() {
Event.EventCode nodeUserCreateEventCode = new Event.EventCode(EventTypeEnum.NODE_USER_CREATE.getModel(), EventTypeEnum.NODE_USER_CREATE.getName());
Event.EventCode nodeUserUpdateEventCode = new Event.EventCode(EventTypeEnum.NODE_USER_UPDATE.getModel(), EventTypeEnum.NODE_USER_UPDATE.getName());
Event.EventCode nodeUserDeleteEventCode = new Event.EventCode(EventTypeEnum.NODE_USER_DELETE.getModel(), EventTypeEnum.NODE_USER_DELETE.getName());
Event.EventCode nodeUserUpsertedEventCode = new Event.EventCode(EventTypeEnum.NODE_USER_UPSERTED.getModel(), EventTypeEnum.NODE_USER_UPSERTED.getName());
Event.EventCode nodeUserCreateEventCode = new Event.EventCode(MqEventType.NODE_USER_CREATE.getModel(), MqEventType.NODE_USER_CREATE.getName());
Event.EventCode nodeUserUpdateEventCode = new Event.EventCode(MqEventType.NODE_USER_UPDATE.getModel(), MqEventType.NODE_USER_UPDATE.getName());
Event.EventCode nodeUserDeleteEventCode = new Event.EventCode(MqEventType.NODE_USER_DELETE.getModel(), MqEventType.NODE_USER_DELETE.getName());
Event.EventCode nodeUserUpsertedEventCode = new Event.EventCode(MqEventType.NODE_USER_UPSERTED.getModel(), MqEventType.NODE_USER_UPSERTED.getName());
eventConsumer.registerHandler(nodeUserCreateEventCode, this);
eventConsumer.registerHandler(nodeUserUpdateEventCode, this);

View File

@ -7,10 +7,10 @@ import cn.axzo.basics.profiles.dto.mq.ProfileMQBaseEntity;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventHandler;
import cn.axzo.im.center.api.enums.MqEventType;
import cn.axzo.im.channel.netease.dto.NimGetAccountInfoResponse;
import cn.axzo.im.entity.AccountRegister;
import cn.axzo.im.entity.bo.AccountQueryParam;
import cn.axzo.im.event.inner.EventTypeEnum;
import cn.axzo.im.service.AccountService;
import cn.azxo.framework.common.model.CommonResponse;
import com.alibaba.fastjson.JSON;
@ -90,7 +90,7 @@ public class PersonProfileAvatarUpdateEventHandler implements EventHandler, Init
@Override
public void afterPropertiesSet() {
Event.EventCode eventCode = new Event.EventCode(EventTypeEnum.UPDATE_AVATAR.getModel(), EventTypeEnum.UPDATE_AVATAR.getName());
Event.EventCode eventCode = new Event.EventCode(MqEventType.UPDATE_AVATAR.getModel(), MqEventType.UPDATE_AVATAR.getName());
eventConsumer.registerHandler(eventCode, this);
}
}

View File

@ -91,7 +91,8 @@ import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import static cn.axzo.im.event.inner.EventTypeEnum.MESSAGE_CHAT_GROUP_CREATE;
import static cn.axzo.im.center.api.enums.MqEventType.MESSAGE_CHAT_GROUP_CREATE;
/**
* @author xudawei@axzo.cn

View File

@ -48,9 +48,9 @@ import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
import static cn.axzo.im.center.api.enums.MqEventType.MESSAGE_HISTORY_CREATED;
import static cn.axzo.im.center.api.enums.MqEventType.MESSAGE_HISTORY_UPDATED;
import static cn.axzo.im.config.BizResultCode.ACQUIRE_RATE_LIMITER_FAIL;
import static cn.axzo.im.event.inner.EventTypeEnum.MESSAGE_HISTORY_CREATED;
import static cn.axzo.im.event.inner.EventTypeEnum.MESSAGE_HISTORY_UPDATED;
import static java.util.stream.Collectors.toList;
@Slf4j