REQ-3345: 发送消息时重新查询数据
This commit is contained in:
parent
c274f7d105
commit
c27fbb079f
@ -1,7 +1,6 @@
|
|||||||
package cn.axzo.im.group.member;
|
package cn.axzo.im.group.member;
|
||||||
|
|
||||||
import cn.axzo.im.center.api.vo.PersonAccountAttribute;
|
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.GroupMemberType;
|
||||||
import cn.axzo.im.center.common.enums.YesOrNo;
|
import cn.axzo.im.center.common.enums.YesOrNo;
|
||||||
import cn.axzo.im.channel.netease.client.NimClient;
|
import cn.axzo.im.channel.netease.client.NimClient;
|
||||||
@ -25,6 +24,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import static cn.axzo.im.center.api.vo.PersonAccountAttribute.robot;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author yanglin
|
* @author yanglin
|
||||||
*/
|
*/
|
||||||
@ -66,24 +67,19 @@ public class GroupMemberSyncer {
|
|||||||
private List<GroupMember> parseGroupMembers(Group group, NimGroupInfo groupInfo) {
|
private List<GroupMember> parseGroupMembers(Group group, NimGroupInfo groupInfo) {
|
||||||
ArrayList<GroupMember> accounts = new ArrayList<>();
|
ArrayList<GroupMember> accounts = new ArrayList<>();
|
||||||
for (NimGroupMemberInfo member : groupInfo.getOwnerAndMembers()) {
|
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();
|
GroupMember account = new GroupMember();
|
||||||
accounts.add(account);
|
accounts.add(account);
|
||||||
account.setTid(group.getTid());
|
account.setTid(group.getTid());
|
||||||
account.setImAccount(member.getAccid());
|
account.setImAccount(member.getAccid());
|
||||||
account.setMemberType(groupInfo.getOwner().equals(member)
|
account.setMemberType(groupInfo.getOwner().equals(member)
|
||||||
? GroupMemberType.OWNER : GroupMemberType.MEMBER);
|
? GroupMemberType.OWNER : GroupMemberType.MEMBER);
|
||||||
if (person == null) {
|
account.setPersonId(person.personIdAsLong());
|
||||||
account.setPersonId(0L);
|
account.setPersonOuId(person.ouIdOrDefault());
|
||||||
account.setPersonOuId(0L);
|
account.setAppType(person.getAppType());
|
||||||
account.setAppType(AppTypeEnum.NONE);
|
account.setIsRobot(person.isRobot() ? YesOrNo.YES : YesOrNo.NO);
|
||||||
account.setIsRobot(YesOrNo.YES);
|
|
||||||
} else {
|
|
||||||
account.setPersonId(Long.valueOf(person.getPersonId()));
|
|
||||||
account.setPersonOuId(person.ouIdOrDefault());
|
|
||||||
account.setAppType(person.getAppType());
|
|
||||||
account.setIsRobot(YesOrNo.NO);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return accounts;
|
return accounts;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -95,7 +95,7 @@ class GroupMessageSyncHandler implements Runnable {
|
|||||||
messages.add(message);
|
messages.add(message);
|
||||||
message.setTid(group.getTid());
|
message.setTid(group.getTid());
|
||||||
message.setFromAccount(nimMessage.getFrom());
|
message.setFromAccount(nimMessage.getFrom());
|
||||||
message.setFromPersonId(Long.parseLong(person.getPersonId()));
|
message.setFromPersonId(person.personIdAsLong());
|
||||||
message.setFromPersonOuId(person.getOuId());
|
message.setFromPersonOuId(person.getOuId());
|
||||||
message.setFromPersonAppType(person.getAppType());
|
message.setFromPersonAppType(person.getAppType());
|
||||||
message.setIsFromRobot(person.isRobot() ? YesOrNo.YES : YesOrNo.NO);
|
message.setIsFromRobot(person.isRobot() ? YesOrNo.YES : YesOrNo.NO);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user