liujc 1 éve
szülő
commit
ae670f360c

+ 11 - 0
mec-application/src/main/java/com/ym/mec/student/controller/ImGroupController.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.biz.dal.enums.im.ClientEnum;
 import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
 import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.im.ImGroupCoreService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.vo.ImUserWrapper;
@@ -47,6 +48,9 @@ public class ImGroupController extends BaseController {
 	@Autowired
 	private SysUserService sysUserService;
 
+    @Autowired
+    private ImGroupCoreService imGroupCoreService;
+
 	@ApiOperation("查询群列表")
 	@GetMapping(value = "/queryGroupList")
 	public Object queryGroupList(String search,String groupType) {
@@ -200,4 +204,11 @@ public class ImGroupController extends BaseController {
 	public Object addGroupMember(String imGroupId) {
 		return succeed(imGroupMemberService.join(imGroupId,sysUserService.getUserId(),"",false));
 	}
+
+
+    @ApiOperation("注册im")
+    @GetMapping(value = "/imRegister")
+    public Object imRegister(Integer userId) throws Exception {
+        return succeed(imGroupCoreService.register(userId.toString(),"","测试",null));
+    }
 }

+ 1 - 1
mec-application/src/main/java/com/ym/mec/student/controller/ImHistoryMessageController.java

@@ -36,7 +36,7 @@ public class ImHistoryMessageController extends BaseController {
     @PostMapping(value = "/historyMessage")
     public HttpResponseResult<PageInfo<HistoryMessageTencentWrapper.HistoryMessageTencent>> historyMessage(@RequestBody  HistoryMessageTencentWrapper.HistoryMessageTencentQuery query) throws Exception {
 
-        return succeedData(historyMessageTenantService.historyMessage(query));
+        return succeedData(imGroupService.historyMessage(query));
     }
 
 

+ 1 - 1
mec-application/src/main/java/com/ym/mec/teacher/controller/ImHistoryMessageController.java

@@ -40,7 +40,7 @@ public class ImHistoryMessageController extends BaseController {
     @PostMapping(value = "/historyMessage")
     public HttpResponseResult<PageInfo<HistoryMessageTencentWrapper.HistoryMessageTencent>> historyMessage(@RequestBody  HistoryMessageTencentWrapper.HistoryMessageTencentQuery query) throws Exception {
 
-        return succeedData(historyMessageTenantService.historyMessage(query));
+        return succeedData(imGroupService.historyMessage(query));
     }
 
 

+ 6 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EFriendRoleType.java

@@ -14,6 +14,7 @@ public enum EFriendRoleType implements BaseEnum<Integer, EFriendRoleType> {
     MAINTENANCE_TECHNICIAN(6,"维护技师"),
     ORCHESTRA_TEACHER(7,"指导老师"),
     STUDENT(8,"学生"),
+    UNDEFINE(9,""),
 
 
     ;
@@ -36,6 +37,8 @@ public enum EFriendRoleType implements BaseEnum<Integer, EFriendRoleType> {
                 return SCHOOL_LEADER;
             case "TEACHER":
                 return SCHOOL_TEACHER;
+            case "STUDENT":
+                return STUDENT;
             case "乐团主管":
                 return ORCHESTRA_MANAGER;
             case "指导老师":
@@ -52,7 +55,8 @@ public enum EFriendRoleType implements BaseEnum<Integer, EFriendRoleType> {
             case "维护技师":
                 return SCHOOL_TEACHER;
             default:
-                return STUDENT;
+//                return STUDENT;
+                return UNDEFINE;
         }
     }
 
@@ -74,7 +78,7 @@ public enum EFriendRoleType implements BaseEnum<Integer, EFriendRoleType> {
                 return SysUserType.STUDENT;
         }
 
-        return SysUserType.STUDENT;
+        return null;
     }
 
     public String getMsg() {

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -552,7 +552,12 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 
                             // 设置用户默认头象
                             for (ImGroupMemberWrapper.ImGroupMember member : entry.getValue()) {
-                                member.setAvatar(avatarMap.getOrDefault(member.getUserId().intValue(), ""));
+//                                member.setAvatar(avatarMap.getOrDefault(member.getUserId().intValue(), ""));
+                                SysUser user = teacherDao.getUser(member.getUserId().intValue());
+
+                                // 用户头像
+                                member.setAvatar(sysUserService.getImAvatar(user));
+                                member.setNickname(sysUserService.getImName(user));
                             }
                             // 腾讯云用户加群
                             imGroupCoreService.groupMemberJoin(entry.getKey(), entry.getValue());

+ 31 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -15,6 +15,7 @@ import com.ym.mec.biz.dal.page.GroupMemberQueryInfo;
 import com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper;
 import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.biz.service.im.ImGroupCoreService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -64,6 +65,9 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 	private ImGroupCoreService imGroupCoreService;
 	@Autowired
 	private ImPluginContext imPluginContext;
+
+    @Autowired
+    private SysUserService sysUserService;
 	@Override
 	public BaseDAO<Long, ImGroupMember> getDAO() {
 		return imGroupMemberDao;
@@ -147,12 +151,13 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		imGroupMember.setRoleType(roleType);
 		imGroupMember.setUpdateTime(date);
 		imGroupMember.setUserId(userId);
-		SysUser user = teacherDao.getUser(userId);
-		if (StringUtils.isBlank(roleType)) {
-			imGroupMember.setNickname(user.getUsername()==null?user.getRealName():user.getUsername());
-		} else {
-			imGroupMember.setNickname(user.getRealName()==null?user.getUsername():user.getRealName());
-		}
+//		if (StringUtils.isBlank(roleType)) {
+//			imGroupMember.setNickname(user.getUsername()==null?user.getRealName():user.getUsername());
+//		} else {
+//			imGroupMember.setNickname(user.getRealName()==null?user.getUsername():user.getRealName());
+//		}
+        SysUser user = teacherDao.getUser(userId);
+        imGroupMember.setNickname(sysUserService.getImName(user));
 
 		imGroupMemberDao.insert(imGroupMember);
 
@@ -177,7 +182,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 						.nickname(imGroupMember.getNickname())
 						.userId(userId.longValue())
 						.imUserId(userId.toString())
-						.avatar(user.getAvatar())
+						.avatar(sysUserService.getImAvatar(user))
 						.updateTime(DateTime.now().toDate())
 						.createTime(DateTime.now().toDate())
 					.build());
@@ -215,12 +220,14 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		imGroupMember.setRoleType(roleType);
 		imGroupMember.setUpdateTime(date);
 		imGroupMember.setUserId(user.getId());
-		if (StringUtils.isBlank(roleType)) {
-			imGroupMember.setNickname(user.getUsername()==null?user.getRealName():user.getUsername());
-		} else {
-			imGroupMember.setNickname(user.getRealName()==null?user.getUsername():user.getRealName());
-		}
+//		if (StringUtils.isBlank(roleType)) {
+//			imGroupMember.setNickname(user.getUsername()==null?user.getRealName():user.getUsername());
+//		} else {
+//			imGroupMember.setNickname(user.getRealName()==null?user.getUsername():user.getRealName());
+//		}
+
 
+        imGroupMember.setNickname(sysUserService.getImName(user));
 		imGroupMemberDao.insert(imGroupMember);
 
 		imGroup.setMemberNum(1);
@@ -245,7 +252,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 						.nickname(imGroupMember.getNickname())
 						.isAdmin(imGroupMember.getIsAdmin())
 						.roleType(imGroupMember.getRoleType())
-						.avatar(user.getAvatar())
+						.avatar(sysUserService.getImAvatar(user))
 					.build());
 				// 腾讯云IM用户加群
 				imGroupCoreService.groupMemberJoin(groupId, groupMembers);
@@ -341,16 +348,17 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 				try {
 					for (ImGroupMemberWrapper.ImGroupMember item : groupMembers) {
 						// 用户昵称
-						if (StringUtils.isBlank(item.getRoleType())) {
-							item.setNickname(usernameMap.get(item.getUserId().intValue()));
-						} else {
-							item.setNickname(realNameMap.get(item.getUserId().intValue()));
-						}
-						item.setImUserId(item.getUserId().toString());
-
-						BasicUserInfo userInfo = teacherDao.getBasicUserInfo(item.getUserId().intValue());
-						// 用户头像
-						item.setAvatar(userInfo.getAvatar());
+//						if (StringUtils.isBlank(item.getRoleType())) {
+//							item.setNickname(usernameMap.get(item.getUserId().intValue()));
+//						} else {
+//							item.setNickname(realNameMap.get(item.getUserId().intValue()));
+//						}
+//						item.setImUserId(item.getUserId().toString());
+                        SysUser user = teacherDao.getUser(item.getUserId().intValue());
+
+                        // 用户头像
+						item.setAvatar(sysUserService.getImAvatar(user));
+						item.setNickname(sysUserService.getImName(user));
 					}
 					// 腾讯云IM用户加群
 					imGroupCoreService.groupMemberJoin(groupId, groupMembers);

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

@@ -202,9 +202,9 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             groupMember = com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper.ImGroupMember
                     .builder()
                     .userId(userId.longValue())
-                    .clientType(sysUserType.name())
-                    .avatar(sysUser.getAvatar())
-                    .nickname(sysUserType == SysUserType.STUDENT?sysUser.getUsername():sysUser.getRealName())
+                    .clientType("")
+                    .avatar(sysUserService.getImAvatar(sysUser))
+                    .nickname(sysUserService.getImName(sysUser))
                     .roleType(roleType)
                     .tenantId(imGroup.getTenantId())
                     .isAdmin(true)
@@ -259,16 +259,16 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
     private void addImGroupMember(String groupId, List<ImGroupMember> groupMemberList) {
         List<com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper.ImGroupMember> imGroupMembers = Lists.newArrayList();
         for (ImGroupMember groupMember : groupMemberList) {
-            SysUserType sysUserType = EFriendRoleType.getByName(groupMember.getRoleType()).toSysUserType();
+            SysUser user = teacherDao.getUser(groupMember.getUserId());
             imGroupMembers.add(com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper.ImGroupMember.builder()
                     .groupId(groupMember.getImGroupId())
                     .userId(groupMember.getUserId().longValue())
-                    .clientType(sysUserType.name())
-//                    .avatar(groupMember.getAvatar())
-                    .nickname(groupMember.getNickname())
+//                    .clientType(sysUserType.name())
+                    .avatar(sysUserService.getImAvatar(user))
+                    .nickname(sysUserService.getImName(user))
                     .isAdmin(groupMember.getIsAdmin())
                     .tenantId(groupMember.getTenantId())
-                    .imUserId(getImUserId(groupMember.getUserId().toString(), sysUserType.name()))
+                    .imUserId(getImUserId(groupMember.getUserId().toString(), ""))
                     .roleType(groupMember.getRoleType())
                     .build());
         }
@@ -531,7 +531,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
 
         // 注册主播用户信息到三方平台
-        imGroupCoreService.register(userId.toString(),"", name, avatar);
+        imGroupCoreService.register(userId.toString(),"", name, sysUserService.getImAvatar(sysUserService.queryUserById(userId)));
 
         boolean createFlag = false;
         // 群组不存在,先创建群组
@@ -556,9 +556,11 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
             initSchoolGroup(imGroup.getSchoolId());
         } else {
+            SysUser user = teacherDao.getUser(userId);
             ImGroupMemberWrapper.ImGroupMember groupMember = ImGroupMemberWrapper.ImGroupMember.builder()
                     .userId(userId.longValue())
-                    .nickname(name)
+                    .nickname(sysUserService.getImName(user))
+                    .avatar(sysUserService.getImAvatar(user))
                     .build();
             imGroupCoreService.groupMemberJoin(imGroup.getId(), Lists.newArrayList(groupMember));
             // 更新群主流程
@@ -749,7 +751,24 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
                 continue;
             }
             try {
-                imGroupCoreService.groupJoin(userId,"",imGroup.getId());
+
+                SysUser user = teacherDao.getUser(userId.intValue());
+                ImGroupMemberWrapper.ImGroupMember groupMember = ImGroupMemberWrapper.ImGroupMember.builder()
+                    .userId(userId)
+                    .nickname(sysUserService.getImName(user))
+                    .avatar(sysUserService.getImAvatar(user))
+                    .build();
+                imGroupCoreService.groupMemberJoin(imGroup.getId(), Lists.newArrayList(groupMember));
+
+                ImGroupMember imGroupMember = new ImGroupMember();
+                imGroupMember.setImGroupId(imGroup.getId());
+                imGroupMember.setUserId(userId.intValue());
+                imGroupMember.setIsAdmin(false);
+                imGroupMember.setRoleType(roleType);
+                imGroupMember.setNickname(sysUserService.getImName(user));
+                imGroupMember.setType(EFriendRoleType.getByName(roleType).name());
+                imGroupMember.setTenantId(imGroup.getTenantId());
+                imGroupMemberDao.insert(imGroupMember);
 
                 updateImGroupUserNumber(imGroup.getId());
             } catch (Exception e) {