From b719ff5c765f4de77213711393c2e1e840e01e8a Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Tue, 12 May 2026 21:59:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E5=9B=9E=E8=B0=83=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quartz/controller/SendTextMessageController.java | 11 +++++++++-- .../xinelu/quartz/service/SendTextMessageService.java | 2 +- .../service/impl/SendTextMessageServiceImpl.java | 9 +++++---- .../com/xinelu/quartz/task/SendTextMessageTask.java | 11 ++++++----- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/controller/SendTextMessageController.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/controller/SendTextMessageController.java index 326f2358..3bfa0487 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/controller/SendTextMessageController.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/controller/SendTextMessageController.java @@ -34,6 +34,8 @@ public class SendTextMessageController { private SendTextMessageService sendTextMessageService; @Resource private ShortMessageSendRecordMapper shortMessageSendRecordMapper; + @Resource + private SendTextMessageTask sendTextMessageTask; /** * 手动执行短信发送定时任务 @@ -47,14 +49,19 @@ public class SendTextMessageController { public JSONObject textMessageSendBask(SmsReport data) { JSONObject retObj = new JSONObject(); retObj.fluentPut("code", 0).fluentPut("msg", "成功"); - if (Objects.isNull(data) || StringUtils.isBlank(data.getPhone_number())){ + if (Objects.isNull(data) || StringUtils.isBlank(data.getPhone_number())) { return retObj; } List shortMessageSendRecords = new ArrayList<>(); - JSONObject jsonObject = sendTextMessageService.taskTextMessageSendBack(data, shortMessageSendRecords); + JSONObject jsonObject = sendTextMessageService.taskTextMessageSendBack(data, shortMessageSendRecords, null); if (CollectionUtils.isNotEmpty(shortMessageSendRecords)) { shortMessageSendRecordMapper.insertShortMessageSendRecords(shortMessageSendRecords); } return jsonObject; } + + @PostMapping("/aa") + public void aa() { + sendTextMessageTask.smsReportBack(); + } } diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/SendTextMessageService.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/SendTextMessageService.java index 7d5df2e6..d442a1d4 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/SendTextMessageService.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/SendTextMessageService.java @@ -28,7 +28,7 @@ public interface SendTextMessageService { * @param data 任务单通电话回调传输data * @return JSONObject */ - JSONObject taskTextMessageSendBack(SmsReport data, List shortMessageSendRecords); + JSONObject taskTextMessageSendBack(SmsReport data, List shortMessageSendRecords, List ids); Integer updateReadState(Integer readState, List ids); diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java index 2679be39..1a58044b 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java @@ -227,7 +227,7 @@ public class SendTextMessageServiceImpl implements SendTextMessageService { public List taskMessageBack(TaskMessageBackEntity taskMessageBackEntity) { // 接口获取外呼回调数据app List taskMessageBackEntityList = new ArrayList<>(); - HttpEntity requestEntity = new HttpEntity<>((JSONObject) JSON.toJSON(taskMessageBackEntityList)); + HttpEntity requestEntity = new HttpEntity<>((JSONObject) JSON.toJSON(taskMessageBackEntity)); RestTemplate restTemplate = new RestTemplate(); ResponseEntity responseEntity = restTemplate.exchange(callBackUrl + "/getMessageBackList", HttpMethod.POST, requestEntity, String.class); JSONObject object = JSON.parseObject(responseEntity.getBody()); @@ -244,11 +244,11 @@ public class SendTextMessageServiceImpl implements SendTextMessageService { } @Override - public JSONObject taskTextMessageSendBack(SmsReport data, List shortMessageSendRecords) { + public JSONObject taskTextMessageSendBack(SmsReport data, List shortMessageSendRecords, List ids) { JSONObject retObj = new JSONObject(); retObj.fluentPut("code", 0).fluentPut("msg", "成功"); SignPatientManageRouteNode signPatientManageRouteNode = signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeById(Long.valueOf(data.getOut_id())); - if (Objects.nonNull(signPatientManageRouteNode) && signPatientManageRouteNode.getNodeExecuteStatus().equals(NodeExecuteStatusEnum.EXECUTED.getInfo())) { + if (Objects.isNull(signPatientManageRouteNode) || signPatientManageRouteNode.getNodeExecuteStatus().equals(NodeExecuteStatusEnum.EXECUTED.getInfo())) { return retObj; } ShortMessageSendRecord shortMessageSendRecord = new ShortMessageSendRecord(); @@ -275,6 +275,7 @@ public class SendTextMessageServiceImpl implements SendTextMessageService { shortMessageSendRecord.setMessageExpense(shortMessageSendRecord.getMessageUnitPrice().multiply(new BigDecimal(shortMessageSendRecord.getMessageQuantity()))); shortMessageSendRecords.add(shortMessageSendRecord); signPatientManageRouteNodeMapper.updateSignPatientManageRouteNode(signPatientManageRouteNode); + ids.add(Integer.valueOf(data.getOut_id())); } return retObj; } @@ -283,7 +284,7 @@ public class SendTextMessageServiceImpl implements SendTextMessageService { public Integer updateReadState(Integer readState, List ids) { log.info("修改短信回调数据已读状态--id:{}", ids); JSONObject TaskCallbackUpdateDto = new JSONObject(); - TaskCallbackUpdateDto.fluentPut("ids", ids).fluentPut("readState", readState); + TaskCallbackUpdateDto.fluentPut("ids", ids.toString()).fluentPut("readState", readState); HttpEntity requestEntity = new HttpEntity<>(TaskCallbackUpdateDto); RestTemplate restTemplate = new RestTemplate(); ResponseEntity responseEntity = restTemplate.exchange(callBackUrl + "/updateMessageBackReadState", HttpMethod.POST, requestEntity, String.class); diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/SendTextMessageTask.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/SendTextMessageTask.java index 001387ea..a0b8c9a6 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/SendTextMessageTask.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/SendTextMessageTask.java @@ -15,8 +15,6 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; /** * @Description 短信相关定时任务 @@ -47,6 +45,7 @@ public class SendTextMessageTask { taskMessageBackEntity.setReadState(0); List taskMessageBackEntityList = sendTextMessageService.taskMessageBack(taskMessageBackEntity); List shortMessageSendRecords = new ArrayList<>(); + List ids = new ArrayList<>(); if (!CollectionUtils.isEmpty(taskMessageBackEntityList)) { // 回调数据提取 List smsReports = new ArrayList<>(); @@ -57,15 +56,17 @@ public class SendTextMessageTask { if (CollectionUtils.isNotEmpty(smsReports)) { for (SmsReport smsReport : smsReports) { // 回调数据解析 - sendTextMessageService.taskTextMessageSendBack(smsReport, shortMessageSendRecords); + sendTextMessageService.taskTextMessageSendBack(smsReport, shortMessageSendRecords, ids); } } if (CollectionUtils.isNotEmpty(shortMessageSendRecords)) { shortMessageSendRecordMapper.insertShortMessageSendRecords(shortMessageSendRecords); } - List ids = taskMessageBackEntityList.stream().filter(Objects::nonNull).map(TaskMessageBackEntity::getId).collect(Collectors.toList()); + //List ids = taskMessageBackEntityList.stream().filter(Objects::nonNull).map(TaskMessageBackEntity::getId).collect(Collectors.toList()); // 修改阿里云服务器回调数据已读状态 - sendTextMessageService.updateReadState(1, ids); + if (CollectionUtils.isNotEmpty(ids)) { + sendTextMessageService.updateReadState(1, ids); + } } log.info("完成同步百度外呼回调数据定时任务......"); }