|
@@ -198,14 +198,14 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper.ImGroupMember groupMember = null;
|
|
|
if (userId != null) {
|
|
|
SysUser sysUser = teacherDao.getUser(userId);
|
|
|
- SysUserType sysUserType = EFriendRoleType.getByName(roleType).toSysUserType();
|
|
|
- groupMember = com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper.ImGroupMember
|
|
|
+ groupMember = 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(Optional.ofNullable(imGroup.getTenantId()).orElse(TenantContextHolder.getTenantId()))
|
|
|
.isAdmin(true)
|
|
|
.build();
|
|
|
}
|
|
@@ -256,17 +256,18 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
}
|
|
|
|
|
|
private void addImGroupMember(String groupId, List<ImGroupMember> groupMemberList) {
|
|
|
+ ImGroup imGroup = imGroupDao.get(groupId);
|
|
|
List<com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper.ImGroupMember> imGroupMembers = Lists.newArrayList();
|
|
|
for (ImGroupMember groupMember : groupMemberList) {
|
|
|
- SysUserType sysUserType = EFriendRoleType.getByName(groupMember.getRoleType()).toSysUserType();
|
|
|
- imGroupMembers.add(com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper.ImGroupMember.builder()
|
|
|
+ SysUser user = teacherDao.getUser(groupMember.getUserId());
|
|
|
+ imGroupMembers.add(ImGroupMemberWrapper.ImGroupMember.builder()
|
|
|
.groupId(groupMember.getImGroupId())
|
|
|
.userId(groupMember.getUserId().longValue())
|
|
|
- .clientType(sysUserType.name())
|
|
|
-// .avatar(groupMember.getAvatar())
|
|
|
- .nickname(groupMember.getNickname())
|
|
|
+ .avatar(sysUserService.getImAvatar(user))
|
|
|
+ .nickname(sysUserService.getImName(user))
|
|
|
.isAdmin(groupMember.getIsAdmin())
|
|
|
- .imUserId(getImUserId(groupMember.getUserId().toString(), sysUserType.name()))
|
|
|
+ .tenantId(Optional.ofNullable(imGroup.getTenantId()).orElse(TenantContextHolder.getTenantId()))
|
|
|
+ .imUserId(getImUserId(groupMember.getUserId().toString(), ""))
|
|
|
.roleType(groupMember.getRoleType())
|
|
|
.build());
|
|
|
}
|
|
@@ -302,7 +303,8 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
|
|
|
@Override
|
|
|
public List<ImGroup> queryByUserId(Integer userId, String search,String groupType) {
|
|
|
- List<ImGroup> imGroups = imGroupDao.queryByUserId(userId, search, groupType);
|
|
|
+ List<ImGroup> imGroups = imGroupDao.queryByUserId(userId, search, groupType).stream()
|
|
|
+ .filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
for (ImGroup item : imGroups) {
|
|
|
if (Objects.nonNull(item.getGroupType()) && StringUtils.isBlank(item.getImg())) {
|
|
|
item.setImg(item.getGroupType().getAvatar());
|
|
@@ -389,7 +391,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
|
|
|
// IM用户信息更新
|
|
|
try {
|
|
|
- imGroupCoreService.register(userId.toString(),"",nickName,sysUser.getAvatar());
|
|
|
+ imGroupCoreService.register(userId.toString(),"",nickName,sysUserService.getImAvatar(sysUser));
|
|
|
} catch (Exception e) {
|
|
|
log.error("更新用户信息失败",e);
|
|
|
throw new BizException("更新用户信息失败");
|
|
@@ -490,7 +492,8 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
}
|
|
|
List<String> imGroupIds = imGroupMembers.stream().map(ImGroupMember::getImGroupId).collect(Collectors.toList());
|
|
|
// 群组没人,删除群组
|
|
|
- List<ImGroup> imGroups = imGroupDao.queryByUserId(userId.intValue(),null, ImGroup.GroupTypeEnum.SCHOOL.getCode());
|
|
|
+ List<ImGroup> imGroups = imGroupDao.queryByUserId(userId.intValue(),null, ImGroup.GroupTypeEnum.SCHOOL.getCode()).stream()
|
|
|
+ .filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
imGroupMemberDao.deleteByUserId(userId);
|
|
@@ -529,7 +532,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
|
|
|
|
|
|
// 注册主播用户信息到三方平台
|
|
|
- imGroupCoreService.register(userId.toString(),"", name, avatar);
|
|
|
+ imGroupCoreService.register(userId.toString(),"", name, sysUserService.getImAvatar(teacherDao.getUser(userId)));
|
|
|
|
|
|
boolean createFlag = false;
|
|
|
// 群组不存在,先创建群组
|
|
@@ -543,20 +546,22 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
imGroup.setIntroduce(imGroup.getName());
|
|
|
imGroup.setMemo(imGroup.getName());
|
|
|
imGroup.setMemberNum(0);
|
|
|
- imGroup.setImg(sysConfigService.findByParamName(SysConfigService.SCHOOL_IM_GROUP_IMG).getParanValue());
|
|
|
+ //imGroup.setImg(sysConfigService.findByParamName(SysConfigService.SCHOOL_IM_GROUP_IMG).getParanValue());
|
|
|
imGroup.setType(ImGroup.GroupTypeEnum.SCHOOL.getCode());
|
|
|
imGroup.setGroupType(ImGroup.GroupTypeEnum.SCHOOL);
|
|
|
imGroup.setCreateTime(new Date());
|
|
|
imGroup.setUpdateTime(new Date());
|
|
|
imGroup.setTenantId(cooperationOrgan.getTenantId());
|
|
|
|
|
|
- createImGroup(imGroup,userId,"");
|
|
|
+ createImGroup(imGroup,userId,schoolStaffType.getDescribe());
|
|
|
|
|
|
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));
|
|
|
// 更新群主流程
|
|
@@ -569,6 +574,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
imGroupMember.setUserId(userId);
|
|
|
imGroupMember.setIsAdmin(schoolStaffType.equals(ESchoolStaffType.ORCHESTRA_LEADER));
|
|
|
imGroupMember.setRoleType(schoolStaffType.getDescribe());
|
|
|
+ imGroupMember.setNickname(name);
|
|
|
imGroupMember.setType(EFriendRoleType.getByName(schoolStaffType.getDescribe()).name());
|
|
|
imGroupMember.setTenantId(imGroup.getTenantId());
|
|
|
imGroupMemberDao.insert(imGroupMember);
|
|
@@ -746,7 +752,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) {
|
|
@@ -1009,6 +1032,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
username = Optional.ofNullable(user.getRealName()).filter(StringUtils::isNotBlank).orElse(username);
|
|
|
}
|
|
|
// 自动激活学生IM帐号
|
|
|
+// imGroupCoreService.register(userId,clientType, username, sysUserService.getImAvatar(user));
|
|
|
imGroupCoreService.register(userId,clientType, username, avatar);
|
|
|
} catch (Exception e) {
|
|
|
log.error("register user error", e);
|
|
@@ -1045,7 +1069,11 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
SysConfig studentAvatar = sysConfigService.findByParamName(SysConfigService.STUDENT_DEFAULT_AVATAR);
|
|
|
while (!student.isEmpty()) {
|
|
|
for (String[] next : student) {
|
|
|
- register(next[0], next[1],studentAvatar.getParanValue());
|
|
|
+ String avatar = next[2];
|
|
|
+ if (StringUtils.isEmpty(avatar)) {
|
|
|
+ avatar = studentAvatar.getParanValue();
|
|
|
+ }
|
|
|
+ register(next[0], next[1], avatar);
|
|
|
}
|
|
|
count += student.size();
|
|
|
log.info("import im student success count:{}", count);
|
|
@@ -1061,7 +1089,11 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
List<String[]> staff = getStaff(page, rows);
|
|
|
while (!staff.isEmpty()) {
|
|
|
for (String[] next : staff) {
|
|
|
- register(next[0], next[1],staffAvatar.getParanValue());
|
|
|
+ String avatar = next[2];
|
|
|
+ if (StringUtils.isEmpty(avatar)) {
|
|
|
+ avatar = staffAvatar.getParanValue();
|
|
|
+ }
|
|
|
+ register(next[0], next[1], avatar);
|
|
|
}
|
|
|
count += staff.size();
|
|
|
log.info("import im staff success count:{}", count);
|
|
@@ -1077,7 +1109,11 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
List<String[]> emps = getEmp(page, rows);
|
|
|
while (!emps.isEmpty()) {
|
|
|
for (String[] next : emps) {
|
|
|
- register(next[0], next[1],empAvatar.getParanValue());
|
|
|
+ String avatar = next[2];
|
|
|
+ if (StringUtils.isEmpty(avatar)) {
|
|
|
+ avatar = empAvatar.getParanValue();
|
|
|
+ }
|
|
|
+ register(next[0], next[1], avatar);
|
|
|
}
|
|
|
count += emps.size();
|
|
|
log.info("import im emps success count:{}", count);
|
|
@@ -1092,7 +1128,11 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
List<String[]> teachers = getTeachers(page, rows);
|
|
|
while (!teachers.isEmpty()) {
|
|
|
for (String[] next : teachers) {
|
|
|
- register(next[0], next[1], teacherAvatar.getParanValue());
|
|
|
+ String avatar = next[2];
|
|
|
+ if (StringUtils.isEmpty(avatar)) {
|
|
|
+ avatar = teacherAvatar.getParanValue();
|
|
|
+ }
|
|
|
+ register(next[0], next[1], avatar);
|
|
|
}
|
|
|
count += teachers.size();
|
|
|
log.info("import im teacher success count:{}", count);
|
|
@@ -1115,9 +1155,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
queryInfo.setRows(rows);
|
|
|
PageInfo<Employee> employeePageInfo = employeeService.queryBaseInfoByPage(queryInfo);
|
|
|
return employeePageInfo.getRows().stream().map(next -> {
|
|
|
- String[] strList = new String[2];
|
|
|
+ String[] strList = new String[3];
|
|
|
strList[0] = next.getUserId().toString();
|
|
|
strList[1] = "SYSTEM";
|
|
|
+ strList[2] = next.getAvatar();
|
|
|
return strList;
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
@@ -1127,9 +1168,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
IPage<SchoolStaffWrapper.SchoolStaff> iPage = schoolStaffService.selectBaseInfoByPage(staffPage,
|
|
|
new SchoolStaffWrapper.SchoolStaffQuery());
|
|
|
return iPage.getRecords().stream().map(next -> {
|
|
|
- String[] strList = new String[2];
|
|
|
+ String[] strList = new String[3];
|
|
|
strList[0] = next.getUserId().toString();
|
|
|
strList[1] = "SCHOOL";
|
|
|
+ strList[2] = next.getAvatar();
|
|
|
return strList;
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
@@ -1140,9 +1182,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
queryInfo.setRows(rows);
|
|
|
PageInfo<Student> studentPageInfo = studentService.queryBaseInfoByPage(queryInfo);
|
|
|
return studentPageInfo.getRows().stream().map(next -> {
|
|
|
- String[] strList = new String[2];
|
|
|
+ String[] strList = new String[3];
|
|
|
strList[0] = next.getUserId().toString();
|
|
|
strList[1] = "STUDENT";
|
|
|
+ strList[2] = next.getAvatar();
|
|
|
return strList;
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
@@ -1153,9 +1196,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
queryInfo.setRows(rows);
|
|
|
PageInfo<Teacher> teacherPageInfo = teacherService.queryBaseInfoByPage(queryInfo);
|
|
|
return teacherPageInfo.getRows().stream().map(next -> {
|
|
|
- String[] strList = new String[2];
|
|
|
+ String[] strList = new String[3];
|
|
|
strList[0] = next.getId().toString();
|
|
|
strList[1] = "TEACHER";
|
|
|
+ strList[2] = next.getAvatar();
|
|
|
return strList;
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
@@ -1589,7 +1633,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
SysUser sysUser = userMap.get(Integer.parseInt(item.getFromAccount()));
|
|
|
if (sysUser != null) {
|
|
|
item.setFromAccountName(sysUserService.getImName(sysUser));
|
|
|
- item.setFromAccountAvatar(sysUserService.getImName(sysUser));
|
|
|
+ item.setFromAccountAvatar(sysUserService.getImAvatar(sysUser));
|
|
|
}
|
|
|
});
|
|
|
// 接收人
|
|
@@ -1606,7 +1650,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
SysUser sysUser = toUserMap.get(Integer.parseInt(item.getToAccount()));
|
|
|
if (sysUser != null) {
|
|
|
item.setToAccountName(sysUserService.getImName(sysUser));
|
|
|
- item.setToAccountAvatar(sysUserService.getImName(sysUser));
|
|
|
+ item.setToAccountAvatar(sysUserService.getImAvatar(sysUser));
|
|
|
}
|
|
|
});
|
|
|
// 群
|