From 907641e56c2085aaa81f267946dc3e3e9fca73e7 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 18 九月 2024 09:39:02 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java |  188 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 137 insertions(+), 51 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 34d0dc1..22ce775 100644
--- a/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
@@ -9,7 +9,7 @@
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.smartor.domain.*;
 import com.smartor.service.CommonTaskService;
-import com.smartor.service.IIvrTaskService;
+import com.smartor.service.IServiceTaskService;
 import com.smartor.service.ISvyTaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -33,10 +33,10 @@
 @Service
 public class CommonTaskServiceImpl implements CommonTaskService {
     @Autowired
-    private IIvrTaskService ivrTaskService;
+    private IServiceTaskService ivrTaskService;
 
     @Autowired
-    private ISvyTaskService iSvyTaskService;
+    private IServiceTaskService iServiceTaskService;
 
     @Autowired
     private RedisCache redisCache;
@@ -44,6 +44,7 @@
 
     @Override
     public Integer taskSend(SendTaskVO sendTaskVO) {
+
         if (sendTaskVO.getTaskId() == null || sendTaskVO.getTaskType() == null)
             throw new BaseException("浠诲姟ID鎴栬�呬换鍔$被鍨嬩笉鑳戒负绌猴紝璇锋鏌ュ悗锛屽啀杩涜鎵ц");
         if (sendTaskVO.getTaskType() == 1) {
@@ -54,21 +55,22 @@
             return wjSend(sendTaskVO);
         } else if (sendTaskVO.getTaskType() == 3) {
             //瀹f暀
-
+            return xjSend(sendTaskVO);
         }
+        log.error("璧板埌杩欓噷浜嗗槢");
         return null;
     }
 
     public int sfSend(SendTaskVO sendTaskVO) {
-        IvrTask ivrTask = ivrTaskService.selectIvrTaskByTaskid(sendTaskVO.getTaskId());
+        ServiceTask ivrTask = ivrTaskService.selectServiceTaskByTaskid(sendTaskVO.getTaskId());
         if (sendTaskVO.getSendState() != null && sendTaskVO.getSendState() == 3 || sendTaskVO.getSendState() != null && sendTaskVO.getSendState() == 4) {
             //浠诲姟鏆傚仠鎴栫粓姝�
-            IvrTask ivrTask3 = new IvrTask();
-            ivrTask3.setTaskid(sendTaskVO.getTaskId());
-            ivrTask3.setStopState(ivrTask.getStopState() + 1);
-            ivrTask3.setSendState(sendTaskVO.getSendState());
-            ivrTaskService.updateIvrTask(ivrTask3);
-            return 0;
+            ServiceTask serviceTask = new ServiceTask();
+            serviceTask.setTaskid(sendTaskVO.getTaskId());
+            serviceTask.setStopState(ivrTask.getStopState() + 1);
+            serviceTask.setSendState(sendTaskVO.getSendState());
+            int i = ivrTaskService.updateServiceTask(serviceTask);
+            return i;
         }
 
         //鍒ゆ柇鍙戦�佺姸鎬佹槸鍚︿负绌�
@@ -80,12 +82,15 @@
             String content = sendMQContent(sendTaskVO, ivrTask.getTemplateid().toString(), ivrTask.getPreachform(), ivrTask.getStopState(), null);
             //绔嬪嵆鍙戦��
             redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS);
-
             //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
-            IvrTask ivrTask2 = new IvrTask();
-            ivrTask2.setTaskid(ivrTask.getTaskid());
-            ivrTask2.setSendState(2);
-            ivrTaskService.updateIvrTask(ivrTask2);
+            ServiceTask serviceTask = new ServiceTask();
+            serviceTask.setTaskid(ivrTask.getTaskid());
+            serviceTask.setSendState(2L);
+            //涓嶇煡涓哄暐杩欐牱鍐欙紝鍏堝皢stopstate缃负null
+//            serviceTask.setStopState(ivrTask.getStopState());
+            serviceTask.setStopState(null);
+            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 +103,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,68 +116,148 @@
                         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);
                 }
                 //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
-                IvrTask ivrTask2 = new IvrTask();
-                ivrTask2.setTaskid(ivrTask.getTaskid());
-                ivrTask2.setSendState(2);
-                ivrTaskService.updateIvrTask(ivrTask2);
+                ServiceTask serviceTask = new ServiceTask();
+                serviceTask.setTaskid(ivrTask.getTaskid());
+                serviceTask.setSendState(2L);
+                serviceTask.setStopState(null);
+                ivrTaskService.updateServiceTask(serviceTask);
             }
         }
         return 1;
     }
 
     public int wjSend(SendTaskVO sendTaskVO) {
-        SvyTask svyTask = iSvyTaskService.selectSvyTaskByTaskid(sendTaskVO.getTaskId());
+        ServiceTask serviceTask1 = iServiceTaskService.selectServiceTaskByTaskid(sendTaskVO.getTaskId());
         if (sendTaskVO.getSendState() != null && sendTaskVO.getSendState() == 3 || sendTaskVO.getSendState() != null && sendTaskVO.getSendState() == 4) {
             //浠诲姟鏆傚仠鎴栫粓姝�
-            SvyTask svyTask1 = new SvyTask();
-            svyTask1.setTaskid(sendTaskVO.getTaskId());
-            svyTask1.setStopState(svyTask.getStopState() + 1);
-            svyTask1.setSendState(sendTaskVO.getSendState().toString());
-            iSvyTaskService.updateSvyTask(svyTask1);
-            return 0;
+            ServiceTask serviceTask = new ServiceTask();
+            serviceTask.setTaskid(sendTaskVO.getTaskId());
+            serviceTask.setStopState(serviceTask1.getStopState() + 1);
+            serviceTask.setSendState(sendTaskVO.getSendState());
+            int i = iServiceTaskService.updateServiceTask(serviceTask);
+            return i;
         }
 
         //鍒ゆ柇鍙戦�佺姸鎬佹槸鍚︿负绌�
         if (StringUtils.isEmpty(sendTaskVO.getSendType())) {
-            sendTaskVO.setSendType(svyTask.getSendType().toString());
+            sendTaskVO.setSendType(serviceTask1.getSendType().toString());
         }
         //鍒ゆ柇浠诲姟鏄惁鏄珛鍗冲彂閫�
         if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) {
 
-            String content = sendMQContent(sendTaskVO, svyTask.getTemplateid(), svyTask.getPreachform(), svyTask.getStopState(), null);
+            String content = sendMQContent(sendTaskVO, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), null);
             //绔嬪嵆鍙戦��
             redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS);
 
             //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
-            SvyTask svyTask2 = new SvyTask();
-            svyTask2.setTaskid(svyTask.getTaskid());
-            svyTask2.setSendState("2");
-            iSvyTaskService.updateSvyTask(svyTask2);
+            ServiceTask serviceTask = new ServiceTask();
+            serviceTask.setTaskid(serviceTask1.getTaskid());
+            serviceTask.setSendState(2L);
+            serviceTask.setStopState(null);
+            iServiceTaskService.updateServiceTask(serviceTask);
         } else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1") || StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("3")) {
             //鏃堕棿娈靛彂閫�
             ObjectMapper objectMapper = new ObjectMapper();
-            if (StringUtils.isNotEmpty(svyTask.getSendTimeSlot())) {
+            if (StringUtils.isNotEmpty(serviceTask1.getSendTimeSlot())) {
                 List<TaskSendTimeVO> taskSendTimeVOList = null;
                 try {
-                    taskSendTimeVOList = objectMapper.readValue(svyTask.getSendTimeSlot(), new TypeReference<List<TaskSendTimeVO>>() {
+                    taskSendTimeVOList = objectMapper.readValue(serviceTask1.getSendTimeSlot(), new TypeReference<List<TaskSendTimeVO>>() {
                     });
                 } catch (JsonProcessingException e) {
                     log.error("JsonProcessingException鎶ラ敊浜嗭細{}", e.getMessage());
                 }
                 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();
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    //璁板綍鐩墠鍒板彂閫佹椂闂寸殑姣鍊� 锛堝彂閫佹椂闂寸殑姣鍊� - 褰撳墠鏃堕棿鐨勬绉掑�硷級
+                    Long milliseconds = 1000L;
+                    try {
+                        Date date = sdf.parse(begantime);
+                        milliseconds = date.getTime() - System.currentTimeMillis();
+                        if (milliseconds < 0) {
+                            milliseconds = 1000L;
+                        }
+                        System.out.println("鏃ユ湡姣鏁帮細" + milliseconds);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+
+                    SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class);
+                    sendTaskVO1.setSendType("1");
+                    String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), taskSendTimeVO);
+                    redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
+                }
+                //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
+                ServiceTask serviceTask = new ServiceTask();
+                serviceTask.setTaskid(serviceTask1.getTaskid());
+                serviceTask.setSendState(2L);
+                serviceTask.setStopState(null);
+                iServiceTaskService.updateServiceTask(serviceTask);
+            }
+        }
+        return 1;
+    }
+
+    public int xjSend(SendTaskVO sendTaskVO) {
+        ServiceTask serviceTask1 = iServiceTaskService.selectServiceTaskByTaskid(sendTaskVO.getTaskId());
+        if (sendTaskVO.getSendState() != null && sendTaskVO.getSendState() == 3 || sendTaskVO.getSendState() != null && sendTaskVO.getSendState() == 4) {
+            //浠诲姟鏆傚仠鎴栫粓姝�
+            ServiceTask serviceTask = new ServiceTask();
+            serviceTask.setTaskid(sendTaskVO.getTaskId());
+            serviceTask.setStopState(serviceTask1.getStopState() + 1);
+            serviceTask.setSendState(sendTaskVO.getSendState());
+            iServiceTaskService.updateServiceTask(serviceTask);
+            return 0;
+        }
+
+        //鍒ゆ柇鍙戦�佺姸鎬佹槸鍚︿负绌�
+        if (StringUtils.isEmpty(sendTaskVO.getSendType())) {
+            sendTaskVO.setSendType(serviceTask1.getSendType().toString());
+        }
+        //鍒ゆ柇浠诲姟鏄惁鏄珛鍗冲彂閫�
+        if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) {
+
+            String content = sendMQContent(sendTaskVO, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), null);
+            //绔嬪嵆鍙戦��
+            redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS);
+
+            //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
+            ServiceTask serviceTask = new ServiceTask();
+            serviceTask.setTaskid(serviceTask1.getTaskid());
+            serviceTask.setSendState(2L);
+            serviceTask.setSendType(1L);
+            serviceTask.setStopState(null);
+            iServiceTaskService.updateServiceTask(serviceTask);
+        } else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1") || StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("3")) {
+            //鏃堕棿娈靛彂閫�
+            ObjectMapper objectMapper = new ObjectMapper();
+            if (StringUtils.isNotEmpty(serviceTask1.getSendTimeSlot())) {
+                List<TaskSendTimeVO> taskSendTimeVOList = null;
+                try {
+                    taskSendTimeVOList = objectMapper.readValue(serviceTask1.getSendTimeSlot(), new TypeReference<List<TaskSendTimeVO>>() {
+                    });
+                } catch (JsonProcessingException e) {
+                    log.error("JsonProcessingException鎶ラ敊浜嗭細{}", e.getMessage());
+                }
+                for (TaskSendTimeVO taskSendTimeVO : taskSendTimeVOList) {
+                    //鍘籗endTimeslot涓紝鑾峰彇鎵�鏈夌殑鏃堕棿娈�
+//                    List<TaskSendTimeVO> list = new ArrayList<>();
+//                    list.add(taskSendTimeVO);
 
                     //鑾峰彇寮�濮嬪彂閫佹椂闂�
                     String begantime = taskSendTimeVO.getBegantime();
@@ -189,14 +274,15 @@
 
                     SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class);
                     sendTaskVO1.setSendType("1");
-                    String content = sendMQContent(sendTaskVO1, svyTask.getTemplateid(), svyTask.getPreachform(), svyTask.getStopState(), list);
+                    String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), taskSendTimeVO);
                     redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
                 }
                 //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
-                SvyTask svyTask3 = new SvyTask();
-                svyTask3.setTaskid(svyTask.getTaskid());
-                svyTask3.setSendState("2");
-                iSvyTaskService.updateSvyTask(svyTask3);
+                ServiceTask serviceTask = new ServiceTask();
+                serviceTask.setTaskid(serviceTask1.getTaskid());
+                serviceTask.setSendState(2L);
+                serviceTask.setStopState(null);
+                iServiceTaskService.updateServiceTask(serviceTask);
             }
         }
         return 1;
@@ -212,7 +298,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