From c27fbb079f1f74b46e74c31c172e81a0dc6f181a Mon Sep 17 00:00:00 2001 From: yanglin Date: Fri, 7 Feb 2025 14:00:08 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3345:=20=E5=8F=91=E9=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=97=B6=E9=87=8D=E6=96=B0=E6=9F=A5=E8=AF=A2=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../im/group/member/GroupMemberSyncer.java | 22 ++++++++----------- .../message/GroupMessageSyncHandler.java | 2 +- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/im-center-server/src/main/java/cn/axzo/im/group/member/GroupMemberSyncer.java b/im-center-server/src/main/java/cn/axzo/im/group/member/GroupMemberSyncer.java index c7f14d6..dba0113 100644 --- a/im-center-server/src/main/java/cn/axzo/im/group/member/GroupMemberSyncer.java +++ b/im-center-server/src/main/java/cn/axzo/im/group/member/GroupMemberSyncer.java @@ -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 parseGroupMembers(Group group, NimGroupInfo groupInfo) { ArrayList 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.setPersonOuId(person.ouIdOrDefault()); - account.setAppType(person.getAppType()); - account.setIsRobot(YesOrNo.NO); - } + account.setPersonId(person.personIdAsLong()); + account.setPersonOuId(person.ouIdOrDefault()); + account.setAppType(person.getAppType()); + account.setIsRobot(person.isRobot() ? YesOrNo.YES : YesOrNo.NO); } return accounts; } diff --git a/im-center-server/src/main/java/cn/axzo/im/group/message/GroupMessageSyncHandler.java b/im-center-server/src/main/java/cn/axzo/im/group/message/GroupMessageSyncHandler.java index 8d45970..d10786b 100644 --- a/im-center-server/src/main/java/cn/axzo/im/group/message/GroupMessageSyncHandler.java +++ b/im-center-server/src/main/java/cn/axzo/im/group/message/GroupMessageSyncHandler.java @@ -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);