|
@@ -2,11 +2,13 @@ package com.tzld.piaoquan.wecom.job;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import com.tzld.piaoquan.wecom.common.constant.TimeConstant;
|
|
|
import com.tzld.piaoquan.wecom.common.enums.MessageAttachmentTypeEnum;
|
|
|
import com.tzld.piaoquan.wecom.dao.mapper.*;
|
|
|
import com.tzld.piaoquan.wecom.model.bo.ExternalUser;
|
|
|
import com.tzld.piaoquan.wecom.model.bo.MiniprogramRecord;
|
|
|
+import com.tzld.piaoquan.wecom.model.bo.SendDetail;
|
|
|
import com.tzld.piaoquan.wecom.model.bo.XxlJobParam;
|
|
|
import com.tzld.piaoquan.wecom.model.po.*;
|
|
|
import com.tzld.piaoquan.wecom.service.AccessTokenService;
|
|
@@ -88,9 +90,50 @@ public class WeComHistoryDataJob1 {
|
|
|
for (; startTime < endTime; startTime += TimeConstant.DAY) {
|
|
|
selectGroupMsgList(startTime, Math.min(startTime + TimeConstant.DAY, endTime));
|
|
|
}
|
|
|
+ selectAlertHistoryMessage(xxlJobParam.getStartTime(), xxlJobParam.getEndTime());
|
|
|
return ReturnT.SUCCESS;
|
|
|
}
|
|
|
|
|
|
+ public void selectAlertHistoryMessage(Long startTime, Long endTime) {
|
|
|
+
|
|
|
+ StaffExample staffExample = new StaffExample();
|
|
|
+ List<Staff> staffList = staffMapper.selectByExample(staffExample);
|
|
|
+ ArrayList<Integer> statusList = Lists.newArrayList(0, 1, 2, 3);
|
|
|
+ List<SendDetail> sendDetailList = new ArrayList<>();
|
|
|
+ for (Staff staff : staffList) {
|
|
|
+ SendDetail sendDetail = new SendDetail();
|
|
|
+ sendDetail.setRemark(staff.getRemark());
|
|
|
+ List<Long> countList = new ArrayList<>();
|
|
|
+ for (Integer status : statusList) {
|
|
|
+ HistoryMessageExample example = new HistoryMessageExample();
|
|
|
+ example.createCriteria().andSendTimeBetween(new Date(startTime * 1000), new Date(endTime * 1000))
|
|
|
+ .andStaffIdEqualTo(staff.getId())
|
|
|
+ .andStatusEqualTo(status)
|
|
|
+ .andIsDeleteEqualTo(0);
|
|
|
+ long l = historyMessageMapper.countByExample(example);
|
|
|
+ countList.add(l);
|
|
|
+ }
|
|
|
+ sendDetail.setSendCountList(countList);
|
|
|
+ sendDetailList.add(sendDetail);
|
|
|
+ }
|
|
|
+ StringBuilder stringBuilder = new StringBuilder();
|
|
|
+ for (SendDetail sendDetail : sendDetailList) {
|
|
|
+ List<Long> sendCountList = sendDetail.getSendCountList();
|
|
|
+ if (CollectionUtils.isEmpty(sendCountList)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ stringBuilder.append(sendDetail.getRemark());
|
|
|
+ long count = sendCountList.get(0) + sendCountList.get(1) + sendCountList.get(2) + sendCountList.get(3);
|
|
|
+ stringBuilder.append("总发送数量:").append(count).append(" ");
|
|
|
+ stringBuilder.append("未发送数量:").append(sendCountList.get(0)).append(" ");
|
|
|
+ stringBuilder.append("已发送数量:").append(sendCountList.get(1)).append(" ");
|
|
|
+ stringBuilder.append("不是好友发送失败数量:").append(sendCountList.get(2)).append(" ");
|
|
|
+ stringBuilder.append("已经收到其他群发消息失败发送数量:").append(sendCountList.get(3)).append(" ");
|
|
|
+ stringBuilder.append("\n");
|
|
|
+ }
|
|
|
+ LarkRobotUtil.sendMessage(stringBuilder.toString());
|
|
|
+ }
|
|
|
+
|
|
|
public void selectGroupMsgList(Long startTime, Long endTime) {
|
|
|
delHistoryMessageList(startTime, endTime);
|
|
|
try {
|