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 |  126 +++++++++++++++++++++++++++++++++++------
 1 files changed, 106 insertions(+), 20 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 ca3dcf8..22ce775 100644
--- a/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
@@ -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,8 +55,9 @@
             return wjSend(sendTaskVO);
         } else if (sendTaskVO.getTaskType() == 3) {
             //瀹f暀
-
+            return xjSend(sendTaskVO);
         }
+        log.error("璧板埌杩欓噷浜嗗槢");
         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,15 @@
             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.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,19 +116,20 @@
                         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();
                 serviceTask.setTaskid(ivrTask.getTaskid());
-                serviceTask.setSendState(2);
+                serviceTask.setSendState(2L);
+                serviceTask.setStopState(null);
                 ivrTaskService.updateServiceTask(serviceTask);
             }
         }
@@ -131,6 +137,83 @@
     }
 
     public int wjSend(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());
+            int i = iServiceTaskService.updateServiceTask(serviceTask);
+            return i;
+        }
+
+        //鍒ゆ柇鍙戦�佺姸鎬佹槸鍚︿负绌�
+        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.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();
+                    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) {
             //浠诲姟鏆傚仠鎴栫粓姝�
@@ -156,7 +239,9 @@
             //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
             ServiceTask serviceTask = new ServiceTask();
             serviceTask.setTaskid(serviceTask1.getTaskid());
-            serviceTask.setSendState(2);
+            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")) {
             //鏃堕棿娈靛彂閫�
@@ -171,8 +256,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,13 +274,14 @@
 
                     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);
                 }
                 //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
                 ServiceTask serviceTask = new ServiceTask();
                 serviceTask.setTaskid(serviceTask1.getTaskid());
-                serviceTask.setSendState(2);
+                serviceTask.setSendState(2L);
+                serviceTask.setStopState(null);
                 iServiceTaskService.updateServiceTask(serviceTask);
             }
         }
@@ -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