ソースを参照

Merge branch 'zx_saas_imGroup' of http://git.dayaedu.com/yonge/mec into test

zouxuan 1 年間 前
コミット
310318e8d9

+ 0 - 4
mec-application/src/main/java/com/ym/mec/teacher/controller/ImGroupMemberController.java

@@ -36,10 +36,6 @@ public class ImGroupMemberController extends BaseController {
 		if (CollectionUtils.isEmpty(member.getUserIds())) {
 			throw BizException.from("群成员不能为空");
 		}
-		// 群成员禁言时长无效
-		if (member.getGroupMute() && Optional.of(member.getMuteTime()).orElse(0) <= 0) {
-			throw BizException.from("群成员禁言时长无效");
-		}
 		// 更新群成员禁言
 		imGroupMemberService.groupMemberMute(member);
 		return succeed();

+ 0 - 4
mec-application/src/main/java/com/ym/mec/web/controller/ImGroupMemberController.java

@@ -40,10 +40,6 @@ public class ImGroupMemberController extends BaseController {
 		if (CollectionUtils.isEmpty(member.getUserIds())) {
 			throw BizException.from("群成员不能为空");
 		}
-		// 群成员禁言时长无效
-		if (member.getGroupMute() && Optional.of(member.getMuteTime()).orElse(0) <= 0) {
-			throw BizException.from("群成员禁言时长无效");
-		}
 		// 更新群成员禁言
 		imGroupMemberService.groupMemberMute(member);
 		return succeed();

+ 0 - 4
mec-application/src/main/java/com/ym/mec/web/controller/education/EduImGroupMemberController.java

@@ -36,10 +36,6 @@ public class EduImGroupMemberController extends BaseController {
 		if (CollectionUtils.isEmpty(member.getUserIds())) {
 			throw BizException.from("群成员不能为空");
 		}
-		// 群成员禁言时长无效
-		if (member.getGroupMute() && Optional.of(member.getMuteTime()).orElse(0) <= 0) {
-			throw BizException.from("群成员禁言时长无效");
-		}
 		// 更新群成员禁言
 		imGroupMemberService.groupMemberMute(member);
 		return succeed();

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/ImGroupMemberWrapper.java

@@ -158,8 +158,8 @@ public class ImGroupMemberWrapper {
         @ApiModelProperty(value = "群ID",required = true)
         private String groupId;
 
-        @ApiModelProperty("禁言时长(分钟), 0取消禁方;不能小于0")
-        private Integer muteTime;
+//        @ApiModelProperty("禁言时长(分钟), 0取消禁方;不能小于0")
+//        private Integer muteTime;
 
         @ApiModelProperty("群禁言状态")
         private Boolean groupMute;
@@ -167,13 +167,13 @@ public class ImGroupMemberWrapper {
         @ApiModelProperty("群成员ID")
         private List<String> userIds;
 
-        public Integer getMuteTime() {
+        /*public Integer getMuteTime() {
             // 禁言时长不能小于0,最小为1分钟
             if (Objects.nonNull(muteTime) && muteTime < 0) {
                 return 1;
             }
             return Optional.ofNullable(muteTime).orElse(0);
-        }
+        }*/
 
         public String jsonString() {
             return JSON.toJSONString(this);

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -22,6 +22,7 @@ import com.microsvc.toolkit.middleware.im.ImPluginContext;
 import com.microsvc.toolkit.middleware.im.impl.RongCloudImPlugin;
 import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.enums.EFriendRoleType;
 import com.ym.mec.biz.dal.enums.im.ClientEnum;
 import com.ym.mec.biz.dal.enums.im.EImGroupRoleType;
 import com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper;
@@ -529,6 +530,9 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
                 imGroupMember.setImGroupId(imGroupModel.getId());
                 imGroupMember.setIsAdmin(false);
                 imGroupMember.setRoleType(imGroupModel.getUserRole());
+                if(StringUtils.isNotEmpty(imGroupModel.getUserRole())){
+                    imGroupMember.setType(EFriendRoleType.getByName(imGroupModel.getUserRole()).name());
+                }
                 imGroupMember.setUpdateTime(date);
                 imGroupMember.setUserId(Integer.parseInt(userId));
                 imGroupMember.setNickname(realNameMap.get(imGroupMember.getUserId()));

+ 6 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -157,9 +157,9 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		imGroupMember.setRoleType(roleType);
 		if(StringUtils.isNotEmpty(roleType)){
 			imGroupMember.setType(EFriendRoleType.getByName(roleType).name());
-			imGroupMember.setNickname(user.getRealName());
+			imGroupMember.setNickname(StringUtils.isEmpty(user.getRealName())?user.getUsername():user.getRealName());
 		}else {
-			imGroupMember.setNickname(user.getUsername());
+			imGroupMember.setNickname(StringUtils.isEmpty(user.getUsername())?user.getRealName():user.getUsername());
 		}
 		imGroupMember.setUpdateTime(date);
 		imGroupMember.setUserId(userId);
@@ -355,9 +355,9 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		imGroupMember.setRoleType(roleType);
 		if(StringUtils.isNotEmpty(roleType)){
 			imGroupMember.setType(EFriendRoleType.getByName(roleType).name());
-			imGroupMember.setNickname(user.getRealName());
+			imGroupMember.setNickname(StringUtils.isEmpty(user.getRealName())?user.getUsername():user.getRealName());
 		}else {
-			imGroupMember.setNickname(user.getUsername());
+			imGroupMember.setNickname(StringUtils.isEmpty(user.getUsername())?user.getRealName():user.getUsername());
 		}
 		imGroupMember.setUpdateTime(date);
 		imGroupMember.setUserId(user.getId());
@@ -434,6 +434,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 			if(StringUtils.isEmpty(entry.getValue())){
 				usernameIds.add(entry.getKey());
 			}else {
+				imGroupMember.setType(EFriendRoleType.getByName(entry.getValue()).name());
 				realNameIds.add(entry.getKey());
 			}
 			imGroupMember.setUpdateTime(date);
@@ -656,7 +657,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 			ImPluginService pluginService = imPluginContext.getPluginService();
 			if (member.getGroupMute()) {
 				// 群成员禁言
-				pluginService.groupUserGagCreate(member.getUserIds(), member.getGroupId(), member.getMuteTime().longValue());
+				pluginService.groupUserGagCreate(member.getUserIds(), member.getGroupId(), -1L);
 			} else {
 				// 群成员解除禁言
 				pluginService.groupUserGagRemove(member.getUserIds(), member.getGroupId());

+ 10 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -234,8 +234,6 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         imGroup.setType(type);
         imGroup.setGroupType(imGroupDto.getGroupType());
         imGroup.setUpdateTime(date);
-
-
         try {
             String imGroupId = createImGroup(imGroup, null, null);
             imGroup.setId(imGroupId);
@@ -243,11 +241,8 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             log.error("群组创建失败",e);
             throw new BizException("群组创建失败");
         }
-
+        //当前用户不知道具体角色,由于是通过后台添加,所以默认给了乐团主管
         List<ImGroupMember> groupMemberList = imGroupMemberDao.queryMembers(groupId, userIdList, TenantContextHolder.getTenantId());
-        if(currentUserId != null){
-            groupMemberList.get(0).setRoleType("乐团主管");
-        }
         imGroupMemberService.initImGroupMembers(groupMemberList,imGroup.getGroupType());
         addImGroupMember(groupId, groupMemberList);
         return groupId;
@@ -592,7 +587,9 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             imGroupMember.setIsAdmin(schoolStaffType.equals(ESchoolStaffType.ORCHESTRA_LEADER));
             imGroupMember.setRoleType(schoolStaffType.getDescribe());
             imGroupMember.setNickname(name);
-            imGroupMember.setType(EFriendRoleType.getByName(schoolStaffType.getDescribe()).name());
+            if (StringUtils.isNotEmpty(schoolStaffType.getDescribe())) {
+                imGroupMember.setType(EFriendRoleType.getByName(schoolStaffType.getDescribe()).name());
+            }
             imGroupMember.setTenantId(imGroup.getTenantId());
             imGroupMemberDao.insert(imGroupMember);
 
@@ -672,7 +669,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             imGroupMember.setUserId(groupMember.getUserId().intValue());
             imGroupMember.setIsAdmin(false);
             imGroupMember.setRoleType(groupMember.getRoleType());
-            imGroupMember.setType(EFriendRoleType.getByName(groupMember.getRoleType()).name());
+            imGroupMember.setNickname(groupMember.getNickname());
+            if (StringUtils.isNotEmpty(groupMember.getRoleType())) {
+                imGroupMember.setType(EFriendRoleType.getByName(groupMember.getRoleType()).name());
+            }
             imGroupMember.setTenantId(imGroup.getTenantId());
             imGroupMemberList.add(imGroupMember);
             groupMember.setImUserIdFormat(false);
@@ -785,9 +785,9 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
                 imGroupMember.setRoleType(roleType);
                 if(StringUtils.isNotEmpty(roleType)){
                     imGroupMember.setType(EFriendRoleType.getByName(roleType).name());
-                    imGroupMember.setNickname(user.getRealName());
+                    imGroupMember.setNickname(StringUtils.isEmpty(user.getRealName())?user.getUsername():user.getRealName());
                 }else {
-                    imGroupMember.setNickname(user.getUsername());
+                    imGroupMember.setNickname(StringUtils.isEmpty(user.getUsername())?user.getRealName():user.getUsername());
                 }
                 imGroupMember.setType(EFriendRoleType.getByName(roleType).name());
                 imGroupMember.setTenantId(imGroup.getTenantId());

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml

@@ -14,6 +14,7 @@
 		<result column="is_admin_" property="isAdmin" />
 		<result column="role_type_" property="roleType"/>
 		<result column="type_" property="type"/>
+		<result column="group_role_type_" property="groupRoleType"/>
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
         <result column="tenant_id_" property="tenantId"/>
@@ -147,7 +148,7 @@
 	</select>
     <select id="queryMembers" resultMap="ImGroupMember">
 		SELECT #{groupId} im_group_id_,CASE WHEN su.username_ IS NULL OR su.username_ = '' THEN su.real_name_ ELSE su.username_ END nickname_,
-		       #{tenantId} tenant_id_,su.id_ user_id_,su.avatar_
+		       #{tenantId} tenant_id_,su.id_ user_id_,su.avatar_,'乐团主管' role_type_,'ORCHESTRA_MANAGER' type_,'Admin' group_role_type_
 		FROM sys_user su
 		WHERE su.id_ IN
 		<foreach collection="userIdList" item="item" open="(" separator="," close=")">