REQ-3345: 发送消息时重新查询数据

This commit is contained in:
yanglin 2025-02-07 14:00:08 +08:00
parent c274f7d105
commit c27fbb079f
2 changed files with 10 additions and 14 deletions

View File

@ -1,7 +1,6 @@
package cn.axzo.im.group.member;
import cn.axzo.im.center.api.vo.PersonAccountAttribute;
import cn.axzo.im.center.common.enums.AppTypeEnum;
import cn.axzo.im.center.common.enums.GroupMemberType;
import cn.axzo.im.center.common.enums.YesOrNo;
import cn.axzo.im.channel.netease.client.NimClient;
@ -25,6 +24,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import static cn.axzo.im.center.api.vo.PersonAccountAttribute.robot;
/**
* @author yanglin
*/
@ -66,24 +67,19 @@ public class GroupMemberSyncer {
private List<GroupMember> parseGroupMembers(Group group, NimGroupInfo groupInfo) {
ArrayList<GroupMember> accounts = new ArrayList<>();
for (NimGroupMemberInfo member : groupInfo.getOwnerAndMembers()) {
PersonAccountAttribute person = ImAccountParser.parsePerson(member.getAccid()).orElse(null);
PersonAccountAttribute person = ImAccountParser
.parsePerson(member.getAccid())
.orElse(robot());
GroupMember account = new GroupMember();
accounts.add(account);
account.setTid(group.getTid());
account.setImAccount(member.getAccid());
account.setMemberType(groupInfo.getOwner().equals(member)
? GroupMemberType.OWNER : GroupMemberType.MEMBER);
if (person == null) {
account.setPersonId(0L);
account.setPersonOuId(0L);
account.setAppType(AppTypeEnum.NONE);
account.setIsRobot(YesOrNo.YES);
} else {
account.setPersonId(Long.valueOf(person.getPersonId()));
account.setPersonId(person.personIdAsLong());
account.setPersonOuId(person.ouIdOrDefault());
account.setAppType(person.getAppType());
account.setIsRobot(YesOrNo.NO);
}
account.setIsRobot(person.isRobot() ? YesOrNo.YES : YesOrNo.NO);
}
return accounts;
}

View File

@ -95,7 +95,7 @@ class GroupMessageSyncHandler implements Runnable {
messages.add(message);
message.setTid(group.getTid());
message.setFromAccount(nimMessage.getFrom());
message.setFromPersonId(Long.parseLong(person.getPersonId()));
message.setFromPersonId(person.personIdAsLong());
message.setFromPersonOuId(person.getOuId());
message.setFromPersonAppType(person.getAppType());
message.setIsFromRobot(person.isRobot() ? YesOrNo.YES : YesOrNo.NO);