|
@@ -198,6 +198,19 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
|
|
|
}
|
|
|
|
|
|
public void initImGroupMember(ImGroupMember imGroupMember, ImGroup.GroupTypeEnum groupType){
|
|
|
+ try {
|
|
|
+ List<GroupMemberWrapper.Member> members = imPluginContext.getPluginService().groupUserGagList(imGroupMember.getImGroupId());
|
|
|
+ if(CollectionUtils.isNotEmpty(members)){
|
|
|
+ List<String> imGroupUserIds = members.stream().map(e -> e.getId()).collect(Collectors.toList());
|
|
|
+ if(CollectionUtils.isNotEmpty(imGroupUserIds)){
|
|
|
+ if(imGroupUserIds.contains(imGroupMember.getUserId().toString())){
|
|
|
+ imGroupMember.setMuteFlag(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
//是否有群主
|
|
|
if(!imGroupMember.getIsAdmin()){
|
|
|
ImGroupMember admin = imGroupMemberDao.getAdmin(imGroupMember.getImGroupId());
|
|
@@ -244,12 +257,28 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
|
|
|
if (CollectionUtils.isEmpty(imGroupMembers)) {
|
|
|
return;
|
|
|
}
|
|
|
+ String imGroupId = imGroupMembers.get(0).getImGroupId();
|
|
|
+ try {
|
|
|
+ List<GroupMemberWrapper.Member> members = imPluginContext.getPluginService().groupUserGagList(imGroupId);
|
|
|
+ if(CollectionUtils.isNotEmpty(members)){
|
|
|
+ List<String> imGroupUserIds = members.stream().map(e -> e.getId()).collect(Collectors.toList());
|
|
|
+ if(CollectionUtils.isNotEmpty(imGroupUserIds)){
|
|
|
+ for (ImGroupMember imGroupMember : imGroupMembers) {
|
|
|
+ if(imGroupUserIds.contains(imGroupMember.getUserId().toString())){
|
|
|
+ imGroupMember.setMuteFlag(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
//是否有群主
|
|
|
long count = imGroupMembers.stream().filter(e -> e.getIsAdmin()).count();
|
|
|
if(count > 0){
|
|
|
return;
|
|
|
}
|
|
|
- ImGroupMember admin = imGroupMemberDao.getAdmin(imGroupMembers.get(0).getImGroupId());
|
|
|
+ ImGroupMember admin = imGroupMemberDao.getAdmin(imGroupId);
|
|
|
if(Objects.nonNull(admin)){
|
|
|
return;
|
|
|
}
|