From 75cb81f0b88f313857ea431b46b929bef95d7cc8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 29 七月 2024 10:36:59 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java |   61 ++++++++++++++++--------------
 1 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
index a51c4e9..0ebbae6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
@@ -44,17 +44,19 @@
 
     @Override
     public Integer taskSend(SendTaskVO sendTaskVO) {
-        if (sendTaskVO.getTaskId() == null || sendTaskVO.getTaskType() == null)
-            throw new BaseException("浠诲姟ID鎴栬�呬换鍔$被鍨嬩笉鑳戒负绌猴紝璇锋鏌ュ悗锛屽啀杩涜鎵ц");
-        if (sendTaskVO.getTaskType() == 1) {
-            //闅忚
-            return sfSend(sendTaskVO);
-        } else if (sendTaskVO.getTaskType() == 2) {
-            //闂嵎
-            return wjSend(sendTaskVO);
-        } else if (sendTaskVO.getTaskType() == 3) {
-            //瀹f暀
-            xjSend(sendTaskVO);
+        synchronized (CommonTaskServiceImpl.class) {
+            if (sendTaskVO.getTaskId() == null || sendTaskVO.getTaskType() == null)
+                throw new BaseException("浠诲姟ID鎴栬�呬换鍔$被鍨嬩笉鑳戒负绌猴紝璇锋鏌ュ悗锛屽啀杩涜鎵ц");
+            if (sendTaskVO.getTaskType() == 1) {
+                //闅忚
+                return sfSend(sendTaskVO);
+            } else if (sendTaskVO.getTaskType() == 2) {
+                //闂嵎
+                return wjSend(sendTaskVO);
+            } else if (sendTaskVO.getTaskType() == 3) {
+                //瀹f暀
+                xjSend(sendTaskVO);
+            }
         }
         return null;
     }
@@ -67,8 +69,8 @@
             serviceTask.setTaskid(sendTaskVO.getTaskId());
             serviceTask.setStopState(ivrTask.getStopState() + 1);
             serviceTask.setSendState(sendTaskVO.getSendState());
-            ivrTaskService.updateServiceTask(serviceTask);
-            return 0;
+            int i = ivrTaskService.updateServiceTask(serviceTask);
+            return i;
         }
 
         //鍒ゆ柇鍙戦�佺姸鎬佹槸鍚︿负绌�
@@ -80,12 +82,13 @@
             String content = sendMQContent(sendTaskVO, ivrTask.getTemplateid().toString(), ivrTask.getPreachform(), ivrTask.getStopState(), null);
             //绔嬪嵆鍙戦��
             redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS);
-
             //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
             ServiceTask serviceTask = new ServiceTask();
             serviceTask.setTaskid(ivrTask.getTaskid());
             serviceTask.setSendState(2);
+            serviceTask.setStopState(ivrTask.getStopState());
             ivrTaskService.updateServiceTask(serviceTask);
+            log.error("娑堟伅鍙戦�佹垚鍔�");
         } else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1") || StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("3")) {
             //鏃堕棿娈靛彂閫�
             ObjectMapper objectMapper = new ObjectMapper();
@@ -98,9 +101,9 @@
                     log.error("JsonProcessingException鎶ラ敊浜嗭細{}", e.getMessage());
                 }
                 for (TaskSendTimeVO taskSendTimeVO : taskSendTimeVOList) {
-                    //鍘籗endTimeslot涓紝鑾峰彇鎵�鏈夌殑鏃堕棿娈�
-                    List<TaskSendTimeVO> list = new ArrayList<>();
-                    list.add(taskSendTimeVO);
+//                    //鍘籗endTimeslot涓紝鑾峰彇鎵�鏈夌殑鏃堕棿娈�
+//                    List<TaskSendTimeVO> list = new ArrayList<>();
+//                    list.add(taskSendTimeVO);
 
                     //鑾峰彇寮�濮嬪彂閫佹椂闂�
                     String begantime = taskSendTimeVO.getBegantime();
@@ -111,14 +114,14 @@
                         Date date = sdf.parse(begantime);
                         milliseconds = date.getTime() - System.currentTimeMillis();
                         System.out.println("鏃ユ湡姣鏁帮細" + milliseconds);
+                        SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class);
+                        sendTaskVO1.setSendType("1");
+                        String content = sendMQContent(sendTaskVO1, ivrTask.getTemplateid().toString(), ivrTask.getPreachform(), ivrTask.getStopState(), taskSendTimeVO);
+                        redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
                     } catch (Exception e) {
                         e.printStackTrace();
+                        if (milliseconds < 0) throw new BaseException("璇锋鏌ヤ换鍔″紑濮嬫椂闂达紝涓嶈兘灏忎簬褰撳墠鏃堕棿");
                     }
-
-                    SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class);
-                    sendTaskVO1.setSendType("1");
-                    String content = sendMQContent(sendTaskVO1, ivrTask.getTemplateid().toString(), ivrTask.getPreachform(), ivrTask.getStopState(), list);
-                    redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
                 }
                 //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
                 ServiceTask serviceTask = new ServiceTask();
@@ -171,8 +174,8 @@
                 }
                 for (TaskSendTimeVO taskSendTimeVO : taskSendTimeVOList) {
                     //鍘籗endTimeslot涓紝鑾峰彇鎵�鏈夌殑鏃堕棿娈�
-                    List<TaskSendTimeVO> list = new ArrayList<>();
-                    list.add(taskSendTimeVO);
+//                    List<TaskSendTimeVO> list = new ArrayList<>();
+//                    list.add(taskSendTimeVO);
 
                     //鑾峰彇寮�濮嬪彂閫佹椂闂�
                     String begantime = taskSendTimeVO.getBegantime();
@@ -189,7 +192,7 @@
 
                     SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class);
                     sendTaskVO1.setSendType("1");
-                    String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), list);
+                    String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), taskSendTimeVO);
                     redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
                 }
                 //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
@@ -243,8 +246,8 @@
                 }
                 for (TaskSendTimeVO taskSendTimeVO : taskSendTimeVOList) {
                     //鍘籗endTimeslot涓紝鑾峰彇鎵�鏈夌殑鏃堕棿娈�
-                    List<TaskSendTimeVO> list = new ArrayList<>();
-                    list.add(taskSendTimeVO);
+//                    List<TaskSendTimeVO> list = new ArrayList<>();
+//                    list.add(taskSendTimeVO);
 
                     //鑾峰彇寮�濮嬪彂閫佹椂闂�
                     String begantime = taskSendTimeVO.getBegantime();
@@ -261,7 +264,7 @@
 
                     SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class);
                     sendTaskVO1.setSendType("1");
-                    String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), list);
+                    String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), taskSendTimeVO);
                     redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
                 }
                 //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
@@ -284,7 +287,7 @@
      * @param sendTimeslot
      * @return
      */
-    private String sendMQContent(SendTaskVO sendTaskVO, String templateid, String preachform, Long stopState, List<TaskSendTimeVO> sendTimeslot) {
+    private String sendMQContent(SendTaskVO sendTaskVO, String templateid, String preachform, Long stopState, TaskSendTimeVO sendTimeslot) {
         CommonTaskcallMQ commonTaskcallMQ = new CommonTaskcallMQ();
         commonTaskcallMQ.setTaskid(sendTaskVO.getTaskId());
         commonTaskcallMQ.setSendType(sendTaskVO.getSendType());

--
Gitblit v1.9.3