Browse Source

Merge branch 'feature/0517-groupforbid' into develop-new

yuanliang 1 year ago
parent
commit
f6183c5200

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/im/impl/ImGroupCoreServiceImpl.java

@@ -840,6 +840,7 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
             // 更新群成员禁言状态
             List<ImGroupMember> list = imGroupMemberService.lambdaQuery()
                     .eq(ImGroupMember::getGroupId, member.getGroupId())
+                    .eq(ImGroupMember::getRoleType, member.getGroupRoleType())
                     .in(ImGroupMember::getUserId, userIds)
                     .list();
             if (CollectionUtils.isEmpty(list)) {

+ 6 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupMemberServiceImpl.java

@@ -230,11 +230,16 @@ public class ImGroupMemberServiceImpl extends ServiceImpl<ImGroupMemberDao, ImGr
     public List<ImGroupMember> findChatGroupAllMemberInfo(Map<String, Object> params) {
 
         Object search = params.get("search");
+        Object groupMute = params.get("groupMute");
+        Object groupRoleTypes = params.get("groupRoleTypes");
         List<ImGroupMember> members = getBaseMapper().selectList(Wrappers.<ImGroupMember>query().lambda()
                 .and(Objects.nonNull(search) && StringUtils.isNotEmpty(search.toString()),
                         e->e.eq(ImGroupMember::getUserId, search).or()
                                 .like(ImGroupMember::getNickname, search))
-                .eq(ImGroupMember::getGroupId,params.get("groupId")).orderByDesc(ImGroupMember::getId));
+                .eq(ImGroupMember::getGroupId,params.get("groupId"))
+                .eq(groupMute != null,ImGroupMember::getGroupMute,Boolean.valueOf(groupMute.toString()))
+                .apply(groupRoleTypes != null, "find_in_set(group_role_type_,'"+(((List)groupRoleTypes).stream().map(r->r.toString()).collect(Collectors.joining(",")))+"')")
+                .orderByDesc(ImGroupMember::getId));
 
         if (CollectionUtils.isNotEmpty(members)) {
 

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/im/ImGroupMemberWrapper.java

@@ -176,6 +176,9 @@ public class ImGroupMemberWrapper {
         @ApiModelProperty("群禁言状态")
         private Boolean groupMute;
 
+        @ApiModelProperty("禁言角色身份,默认为成员Member")
+        private EImGroupMemberRoleType groupRoleType = EImGroupMemberRoleType.Member;
+
         @ApiModelProperty("群成员ID")
         @Size(min = 1, message = "群成员不能为空")
         private List<String> userIds = new ArrayList<>();