Commit a0c18b8d by 王祖波

查询群发结果重试

parent 6e1d26f9
......@@ -23,8 +23,6 @@ public class QwSendApiServiceImpl implements QwSendApiService {
@Autowired
private QwSendMsgService qwSendMsgService;
@Autowired
private EnterpriseAdaptor enterpriseAdaptor;
@Override
public ServiceResponse<Void> qwSendRefreshByMQ(String message) {
......@@ -32,17 +30,13 @@ public class QwSendApiServiceImpl implements QwSendApiService {
return ServiceResponse.success();
}
DealQwSendDTO dealQwSendDTO = JSONObject.parseObject(message, DealQwSendDTO.class);
boolean hasRight = enterpriseAdaptor.checkEnterpriseHasRight(dealQwSendDTO.getEnterpriseId(), EnterpriseServiceEnum.POTENTIAL.getRightMenuCode());
if (!hasRight) {
return ServiceResponse.success();
}
Integer refreshType = dealQwSendDTO.getRefreshType();
log.info("刷新企微发送记录:{}", message);
if (Objects.equals(refreshType,1)) {
qwSendMsgService.finishQwSend(dealQwSendDTO.getFinishQwSend(),dealQwSendDTO.getTryCount());
} else if (Objects.equals(refreshType, 2)) {
qwSendMsgService.refreshQwSendLog(dealQwSendDTO.getQwSendMsg());
qwSendMsgService.refreshQwSendLog(dealQwSendDTO);
}
return ServiceResponse.success();
}
......
......@@ -20,8 +20,8 @@ public interface QwSendMsgService {
/**
* 刷新企微群结果
* @param qwSendMsg
* @param dealQwSendDTO
*/
void refreshQwSendLog(DealQwSendDTO.QwSendMsgBO qwSendMsg);
void refreshQwSendLog(DealQwSendDTO dealQwSendDTO);
}
......@@ -102,11 +102,29 @@ public class QwSendMsgServiceImpl implements QwSendMsgService {
}
@Override
public void refreshQwSendLog(DealQwSendDTO.QwSendMsgBO qwSendMsg) {
public void refreshQwSendLog(DealQwSendDTO dealQwSendDTO) {
DealQwSendDTO.QwSendMsgBO qwSendMsg = dealQwSendDTO.getQwSendMsg();
List<GroupSendResultBO> sendResultList = getSendResultList(qwSendMsg);
if (CollectionUtils.isEmpty(sendResultList)) {
return;
}
//判断是否已经发送
List<GroupSendResultBO> noSendList = sendResultList.stream().filter(dto -> Objects.equals(dto.getStatus(), 0))
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(noSendList)) {
Integer tryCount = dealQwSendDTO.getTryCount();
if (tryCount != null && tryCount >= 10) {
return;
}
if (tryCount == null) {
tryCount = 0;
}
// 重新刷新
dealQwSendDTO.setRefreshType(2);
dealQwSendDTO.setTryCount(++tryCount);
MqUtils.sendMessageToMQ("qwSendRefreshByMQ", JSON.toJSONString(dealQwSendDTO), 60);
return;
}
log.info("刷新企微群发结果:{}", qwSendMsg.getMsgId());
List<TabQwSendLog> entities;
List<List<GroupSendResultBO>> partition = Lists.partition(sendResultList, 1000);
......@@ -163,10 +181,7 @@ public class QwSendMsgServiceImpl implements QwSendMsgService {
log.error("未查询到userid");
return Collections.emptyList();
}
List<GroupSendResultBO> sendResultList = getSendResult(qwSendMsg.getWxEnterpriseId(), qwSendMsg.getMsgId(), newWxUserId);
//判断是否已经发送
return sendResultList.stream().filter(dto -> !Objects.equals(dto.getStatus(), 0))
.collect(Collectors.toList());
return getSendResult(qwSendMsg.getWxEnterpriseId(), qwSendMsg.getMsgId(), newWxUserId);
}
public List<GroupSendResultBO> getSendResult(String wxEnterpriseId, String msgId, String userId) {
......
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