|
@@ -273,11 +273,17 @@ public class WeComMessageDataJob {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void specialAssembleSendMessage(Long staffId, Integer pageNum) {
|
|
|
+ public void specialAssembleSendMessage(Long staffId, Integer pageNum, Integer pageSize, boolean isSend) {
|
|
|
List<Long> staffIds = new ArrayList<>();
|
|
|
staffIds.add(staffId);
|
|
|
init(staffIds);
|
|
|
- List<WeComUser> weComUserList = weComUserMapper.selectUserList(staffId, (byte) 1, pageNum, 200);
|
|
|
+ List<WeComUser> weComUserList;
|
|
|
+ if (isSend) {
|
|
|
+ weComUserList = weComUserMapper.selectSendUserList(staffId, (byte) 1, (pageNum - 1) * pageSize, pageSize);
|
|
|
+ } else {
|
|
|
+ weComUserList = weComUserMapper.selectNotSendUserList(staffId, (byte) 1, (pageNum - 1) * pageSize, pageSize);
|
|
|
+ }
|
|
|
+
|
|
|
//落库逻辑
|
|
|
List<SendMessage> allSeneMessageList = new ArrayList<>();
|
|
|
for (WeComUser weComUser : weComUserList) {
|
|
@@ -445,7 +451,7 @@ public class WeComMessageDataJob {
|
|
|
|
|
|
|
|
|
@XxlJob("pushSendMessageJob")
|
|
|
- public ReturnT<String> pushSendMessage(String param) {
|
|
|
+ public ReturnT<String> pushSendMessage(String param, boolean hasLink, boolean hasImage, boolean hasMiniprogram) {
|
|
|
XxlJobParam xxlJobParam = new XxlJobParam();
|
|
|
if (StringUtils.isNotEmpty(param)) {
|
|
|
xxlJobParam = JSONObject.parseObject(param, XxlJobParam.class);
|
|
@@ -466,7 +472,7 @@ public class WeComMessageDataJob {
|
|
|
return ReturnT.SUCCESS;
|
|
|
}
|
|
|
for (SendMessage sendMessage : groupList) {
|
|
|
- pushAndUpdateMessage(sendMessage);
|
|
|
+ pushAndUpdateMessage(sendMessage, hasLink, hasImage, hasMiniprogram);
|
|
|
}
|
|
|
Map<Long, List<SendMessage>> groupedByStaffId = groupList.stream().collect(Collectors.groupingBy(SendMessage::getStaffId));
|
|
|
for (Map.Entry<Long, List<SendMessage>> entry : groupedByStaffId.entrySet()) {
|
|
@@ -480,7 +486,7 @@ public class WeComMessageDataJob {
|
|
|
retryGroupList = retryGroupList.stream().filter(e -> Objects.equals(e.getStaffId(), entry.getKey()))
|
|
|
.collect(Collectors.toList());
|
|
|
for (SendMessage sendMessage : retryGroupList) {
|
|
|
- pushAndUpdateMessage(sendMessage);
|
|
|
+ pushAndUpdateMessage(sendMessage, hasLink, hasImage, hasMiniprogram);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -493,11 +499,11 @@ public class WeComMessageDataJob {
|
|
|
return ReturnT.SUCCESS;
|
|
|
}
|
|
|
|
|
|
- private void pushAndUpdateMessage(SendMessage sendMessage) {
|
|
|
+ private void pushAndUpdateMessage(SendMessage sendMessage, boolean hasLink, boolean hasImage, boolean hasMiniprogram) {
|
|
|
sendMessage.setIsSend(0);
|
|
|
sendMessage.setCreateTime(DateUtil.getThatDayDate());
|
|
|
List<String> sendUserList = sendMessageMapper.selectExternalUserId(sendMessage);
|
|
|
- boolean flag = pushMessage(sendUserList, sendMessage, true, false, false);
|
|
|
+ boolean flag = pushMessage(sendUserList, sendMessage, hasLink, hasImage, hasMiniprogram);
|
|
|
if (flag) {
|
|
|
SendMessage updateSendMessage = new SendMessage();
|
|
|
updateSendMessage.setIsSend(1);
|
|
@@ -593,7 +599,7 @@ public class WeComMessageDataJob {
|
|
|
imageAttachment.put("image", image);
|
|
|
attachments.add(imageAttachment);
|
|
|
}
|
|
|
- if(!attachments.isEmpty()){
|
|
|
+ if (!attachments.isEmpty()) {
|
|
|
jsonObject.put("attachments", attachments);
|
|
|
}
|
|
|
List<List<String>> lists = Lists.partition(sendUserList, 10000);
|