|
@@ -896,7 +896,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
// 100个线程的无界线程池
|
|
|
ExecutorService executorService = Executors.newFixedThreadPool(100);
|
|
|
int page = 1;
|
|
|
- int size = 400;
|
|
|
+ int size = 100;
|
|
|
QueryInfo queryInfo = new QueryInfo();
|
|
|
queryInfo.setPage(page);
|
|
|
queryInfo.setRows(size);
|
|
@@ -905,7 +905,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
int total = imGroupPageInfo.getTotal();
|
|
|
int importImGroupCount = 0;
|
|
|
- int num = (int) Math.ceil(total / 400);
|
|
|
+ int num = (int) Math.ceil(total / 100);
|
|
|
for (int i = 0; i <=num ; i++) {
|
|
|
|
|
|
imGroupPageInfo = this.queryPage(queryInfo);
|
|
@@ -929,11 +929,42 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
throw new BizException("时间区间参数错误,格式为:yyyy-MM-dd");
|
|
|
}
|
|
|
List<Future<?>> list = new ArrayList<>();
|
|
|
- for (List<ImGroup> imGroups : Lists.partition(rows, 10)) {
|
|
|
+
|
|
|
+ rows.forEach(imGroup -> {
|
|
|
+
|
|
|
list.add(executorService.submit(() -> {
|
|
|
- groupTransfer(imGroups);
|
|
|
+ log.info("群销毁开始:{}", imGroup.getId());
|
|
|
+ // 先删除群组
|
|
|
+ try {
|
|
|
+ // 解散群
|
|
|
+ imPluginContext.getPluginService().groupDismiss(imGroup.getId(), new ArrayList<>());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(String.format("群迁移删除群聊失败:%s", e.getMessage()), e);
|
|
|
+ }
|
|
|
}));
|
|
|
+ });
|
|
|
+ for (Future<?> future : list) {
|
|
|
+ try {
|
|
|
+ future.get();
|
|
|
+ } catch (Exception e){
|
|
|
+ log.error("群销毁失败",e);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ try {
|
|
|
+ Thread.sleep(1500);
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ log.error("线程休眠失败",e);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ list.clear();
|
|
|
+ for (ImGroup row : rows) {
|
|
|
+ list.add(executorService.submit(() -> {
|
|
|
+ groupTransfer(Lists.newArrayList(row));
|
|
|
+ }));
|
|
|
+ }
|
|
|
+
|
|
|
for (Future<?> future : list) {
|
|
|
try {
|
|
|
future.get();
|
|
@@ -953,18 +984,6 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
|
|
|
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());
|
|
|
|
|
|
GroupMemberQueryInfo groupMemberQueryInfo = new GroupMemberQueryInfo();
|
|
@@ -984,7 +1003,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
}
|
|
|
importGroup.setType("Public");
|
|
|
importGroup.setGroupId(imGroup.getId());
|
|
|
- importGroup.setName(imGroup.getName());
|
|
|
+ importGroup.setName(StringUtils.isBlank(imGroup.getName())?imGroup.getId():imGroup.getName());
|
|
|
importGroup.setIntroduction(imGroup.getIntroduce());
|
|
|
importGroup.setNotification(imGroup.getMemo());
|
|
|
importGroup.setFaceUrl(imGroup.getImg());
|
|
@@ -996,29 +1015,32 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
imGroup.setCreateTime(DateTime.now().plusYears(-1).toDate());
|
|
|
}
|
|
|
importGroup.setCreateTime(imGroup.getCreateTime().getTime() / 1000);
|
|
|
- if (admin != null) {
|
|
|
- register(admin.getUserId().toString(), getClientType(admin.getRoleType()),"");
|
|
|
- }
|
|
|
+// if (admin != null) {
|
|
|
+// register(admin.getUserId().toString(), getClientType(admin.getRoleType()),"");
|
|
|
+// }
|
|
|
imPluginContext.getPluginService().importGroup(importGroup);
|
|
|
|
|
|
List<ImGroupMember> groupMembers = pageInfo.getRows().stream()
|
|
|
.filter(next -> !next.getIsAdmin()).collect(Collectors.toList());
|
|
|
- if (groupMembers.isEmpty()) {
|
|
|
- imGroupDao.updateImportStatusSuccess(imGroup.getId());
|
|
|
- continue;
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
groupMembers = groupMembers
|
|
|
.stream()
|
|
|
.filter(next -> next.getUserId() != null && next.getUserId() > 0)
|
|
|
.collect(Collectors.toList());
|
|
|
- for (ImGroupMember member : groupMembers) {
|
|
|
- try {
|
|
|
- register(member.getUserId().toString(), getClientType(member.getRoleType()),"");
|
|
|
- }catch (Exception e){
|
|
|
- log.error("用户注册失败",e);
|
|
|
- }
|
|
|
+
|
|
|
+ if (groupMembers.isEmpty()) {
|
|
|
+ imGroupDao.updateImportStatusSuccess(imGroup.getId());
|
|
|
+ continue;
|
|
|
}
|
|
|
+
|
|
|
+// for (ImGroupMember member : groupMembers) {
|
|
|
+// try {
|
|
|
+// register(member.getUserId().toString(), getClientType(member.getRoleType()),"");
|
|
|
+// }catch (Exception e){
|
|
|
+// log.error("用户注册失败",e);
|
|
|
+// }
|
|
|
+// }
|
|
|
MessageWrapper.ImportGroupMember importGroupMember = new MessageWrapper.ImportGroupMember();
|
|
|
importGroupMember.setGroupId(imGroup.getId());
|
|
|
Date date = new DateTime(imGroup.getCreateTime()).plusSeconds(3).toDate();
|