|
@@ -75,6 +75,7 @@ import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.io.FileUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.joda.time.DateTime;
|
|
|
import org.redisson.api.RBucket;
|
|
|
import org.redisson.api.RedissonClient;
|
|
|
import org.slf4j.Logger;
|
|
@@ -1351,17 +1352,17 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
|
|
|
String fansIcon = sysConfigService.findConfigValue(SysConfigConstant.ICON_FANS_GROUP_DEFAULT);
|
|
|
String courseIcon = sysConfigService.findConfigValue(SysConfigConstant.ICON_COURSE_GROUP_DEFAULT);
|
|
|
String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD);
|
|
|
- for (ImGroup imGroup : records) {
|
|
|
-
|
|
|
- log.info("群销毁开始:{}", imGroup.getId());
|
|
|
- // 先删除群组
|
|
|
- try {
|
|
|
- // 解散群
|
|
|
- imPluginContext.getPluginService().groupDismiss(imGroup.getId(), new ArrayList<>());
|
|
|
- } catch (Exception e) {
|
|
|
- log.error(String.format("群迁移删除群聊失败:%s", e.getMessage()), e);
|
|
|
- }
|
|
|
- }
|
|
|
+// for (ImGroup imGroup : records) {
|
|
|
+//
|
|
|
+// log.info("群销毁开始:{}", imGroup.getId());
|
|
|
+// // 先删除群组
|
|
|
+// try {
|
|
|
+// // 解散群
|
|
|
+// imPluginContext.getPluginService().groupDismiss(imGroup.getId(), new ArrayList<>());
|
|
|
+// } catch (Exception e) {
|
|
|
+// log.error(String.format("群迁移删除群聊失败:%s", e.getMessage()), e);
|
|
|
+// }
|
|
|
+// }
|
|
|
for (ImGroup imGroup : records) {
|
|
|
|
|
|
log.info("群迁移开始:{}", imGroup.getId());
|
|
@@ -1375,7 +1376,12 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
|
|
|
|
|
|
List<ImGroupMember> memberList = imGroupMemberService.lambdaQuery()
|
|
|
.eq(ImGroupMember::getGroupId, imGroup.getId())
|
|
|
+ .le(ImGroupMember::getCreateTime,imGroup.getCreateTime())
|
|
|
.list();
|
|
|
+ if (CollectionUtils.isEmpty(memberList)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ log.info("群数据补录,群ID:{},补录人数:{}", imGroup.getId(), memberList.size());
|
|
|
ImGroupMember admin = memberList.stream().filter(ImGroupMember::getIsAdmin).findFirst().orElse(null);
|
|
|
if (admin == null) {
|
|
|
log.info("群主不存在,groupId:{}",imGroup.getId());
|
|
@@ -1402,7 +1408,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
|
|
|
importGroup.setCreateTime(imGroup.getCreateTime().getTime() / 1000);
|
|
|
|
|
|
register(admin.getUserId(), imGroup.getId(), admin.getAvatar(), true, ClientEnum.TEACHER);
|
|
|
- imPluginContext.getPluginService().importGroup(importGroup);
|
|
|
+// imPluginContext.getPluginService().importGroup(importGroup);
|
|
|
|
|
|
List<ImGroupMember> groupMembers = memberList.stream()
|
|
|
.filter(next -> !next.getIsAdmin()).collect(Collectors.toList());
|
|
@@ -1420,6 +1426,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
|
|
|
}
|
|
|
MessageWrapper.ImportGroupMember importGroupMember = new MessageWrapper.ImportGroupMember();
|
|
|
importGroupMember.setGroupId(imGroup.getId());
|
|
|
+ Date date = new DateTime(imGroup.getCreateTime()).plusSeconds(3).toDate();
|
|
|
List<MessageWrapper.ImportGroupMemberData> members =
|
|
|
groupMembers.stream().map(next -> {
|
|
|
MessageWrapper.ImportGroupMemberData data = new MessageWrapper.ImportGroupMemberData();
|
|
@@ -1427,7 +1434,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
|
|
|
ImGroupMemberRoleType.STUDENT.equals(next.getRoleType()) ?
|
|
|
ClientEnum.STUDENT.name() :
|
|
|
ClientEnum.TEACHER.name()));
|
|
|
- data.setJoinTime(next.getCreateTime().getTime() / 1000);
|
|
|
+ data.setJoinTime(date.getTime() / 1000);
|
|
|
data.setUnreadMsgNum(0);
|
|
|
return data;
|
|
|
}).collect(Collectors.toList());
|