Commit be72f9cf by songyinghui

feat: 分片写

parent 739c5280
......@@ -34,6 +34,7 @@ import com.gic.wechat.api.dto.qywx.group.QywxGroupMsgSendResultDTO;
import com.gic.wechat.api.dto.qywx.group.QywxMomentRespDTO;
import com.gic.wechat.api.dto.qywx.group.QywxMomentSendResultRespDTO;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
......@@ -344,12 +345,15 @@ public class GroupMessageServiceImpl implements GroupMessageService {
log.info("处理导购群发朋友圈触达客户日志, 成员无好友. staffId:{}", clerkShareLogBo.getStaffId());
return;
}
List<TriggerCustomerDetailBO> customerDetailBos = externalUserIds.stream()
List<List<String>> partition = Lists.partition(externalUserIds, 1000);
for (List<String> userIds : partition) {
List<TriggerCustomerDetailBO> customerDetailBos = userIds.stream()
.map(item -> this.convertCustomerDetailLog(clerkShareLogBo, item))
.collect(Collectors.toList());
triggerCustomerDetailService.batchSave(customerDetailBos);
}
}
}
/**
* 获取与分享日志匹配msgId
......@@ -551,12 +555,15 @@ public class GroupMessageServiceImpl implements GroupMessageService {
if (CollectionUtils.isEmpty(groupMsgSendResultInfos)) {
return;
}
List<TriggerCustomerDetailBO> customerDetailBos = groupMsgSendResultInfos
List<List<QywxGroupMsgSendResultDTO.GroupMsgSendResultInfo>> partition = Lists.partition(groupMsgSendResultInfos, 1000);
for (List<QywxGroupMsgSendResultDTO.GroupMsgSendResultInfo> msgSendResultInfos : partition) {
List<TriggerCustomerDetailBO> customerDetailBos = msgSendResultInfos
.stream()
.map(item -> this.convertCustomerDetailLog(clerkShareLogBO, item.getExternalUserId()))
.collect(Collectors.toList());
triggerCustomerDetailService.batchSave(customerDetailBos);
}
}
/**
* 保存触达日志明细 群发到群
......@@ -569,12 +576,15 @@ public class GroupMessageServiceImpl implements GroupMessageService {
if (CollectionUtils.isEmpty(groupChatUserBos)) {
return;
}
List<TriggerCustomerDetailBO> customerDetailBos = groupChatUserBos
List<List<GroupChatUserBO>> partition = Lists.partition(groupChatUserBos, 1000);
for (List<GroupChatUserBO> groupChatUserBOS : partition) {
List<TriggerCustomerDetailBO> customerDetailBos = groupChatUserBOS
.stream()
.map(item -> this.convertCustomerDetailLog(clerkShareLogBO, item.getUserId()))
.collect(Collectors.toList());
triggerCustomerDetailService.batchSave(customerDetailBos);
}
}
private TriggerCustomerDetailBO convertCustomerDetailLog(ClerkShareLogBO clerkShareLogBO, String externalUserId) {
TriggerCustomerDetailBO temp = new TriggerCustomerDetailBO();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment