From 5389773b2d1ae86daec68b00f67c3682dc907e01 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 22 十一月 2024 14:35:48 +0800
Subject: [PATCH] 代码提交(长期任务电话完成)

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |   99 ++++++++++++++++++++++++++++---------------------
 1 files changed, 57 insertions(+), 42 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 0d260ff..e6ebece 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -18,6 +18,7 @@
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.smartor.common.SendService;
 import com.smartor.domain.*;
+import com.smartor.mapper.ServiceSubtaskMapper;
 import com.smartor.mapper.ServiceTaskMapper;
 import com.smartor.mapper.SysUserImportMapper;
 import com.smartor.service.*;
@@ -94,7 +95,7 @@
     private ServiceTaskMapper serviceTaskMapper;
 
     @Autowired
-    private SendService sendService;
+    private ServiceSubtaskMapper serviceSubtaskMapper;
 
     @Autowired
     private RedisCache redisCache;
@@ -286,55 +287,69 @@
                 ivrTaskcall.setSendstate(2L);
                 List<ServiceSubtask> selectServiceSubtaskList = iServiceSubtaskService.selectServiceSubtaskList(ivrTaskcall);
                 if (descByCode.equals("鐢佃瘽")) {
+                    String value = "";
                     for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
                         ServiceTask ivrTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
                         if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) {
                             //濡備綍浠诲姟琚�滄殏鍋溾�濇垨鈥滅粓姝⑩��
                             break;
                         }
-                        //鑾峰彇鍒皏alue鍊兼渶灏戠殑key
-                        String key = getKey();
-                        if (commonTaskcallMQ.getSendType().equals("2")) {
-                            //璇存槑鏄珛鍗冲彂閫�
-                            String value = redisCache.getCacheObject("cache-0");
-                            ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
-                            serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
-                            List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1);
-                            for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
-                                if (StringUtils.isEmpty(value)) {
-                                    value = "," + serviceSubtask2.getId().toString() + ",";
-                                } else {
-                                    value = value + "," + serviceSubtask2.getId().toString() + ",";
+                        boolean dateToday = isDateToday(serviceSubtask.getLongSendTime());
+                        //璇存槑鏄珛鍗冲彂閫�(鍏堟妸娑堟伅鏀惧埌cache-0涓紝   displayNo涓嶇煡閬撴�庝箞閰嶇疆)
+                        if (dateToday) {
+                            try {
+                                ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
+                                serviceSubtask1.setTaskid(ivrTask.getTaskid());
+                                List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1);
+                                for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
+                                    if (StringUtils.isEmpty(value)) {
+                                        value = "," + serviceSubtask2.getId().toString() + ",";
+                                    } else {
+                                        if (!value.contains("," + serviceSubtask2.getId().toString()))
+                                            value = value + "," + serviceSubtask2.getId().toString() + ",";
+                                    }
                                 }
+                            } catch (Exception e) {
+                                String guid = UUID.randomUUID().toString();
+                                log.error("闀挎湡浠诲姟锛岀數璇濆彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
+                                serviceSubtask.setResult("error");
+                                serviceSubtask.setRemark("绯荤粺閿欒");
+                                serviceSubtask.setSendstate(3L);
+                                serviceSubtask.setFinishtime(new Date());
+                                serviceSubtask.setGuid(guid);
+                                iServiceSubtaskService.updateServiceSubtask(serviceSubtask);
                             }
-                            redisCache.setCacheObject("cache-0", value);
-                        } else {
-                            //闈炵珛鍗冲彂閫�
-                            String value = redisCache.getCacheObject(key);
-                            ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
-                            serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
-                            List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1);
-                            for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
-                                if (StringUtils.isEmpty(value)) {
-                                    value = "," + serviceSubtask2.getId().toString() + ",";
-                                } else {
-                                    value = value + "," + serviceSubtask2.getId().toString() + ",";
-                                }
-                            }
-                            redisCache.setCacheObject(key, value);
+
+                            //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+                            String uuid = UUID.randomUUID().toString();
+                            serviceSubtask.setResult("success");
+                            serviceSubtask.setRemark("鐢佃瘽鍙戦�佹垚鍔�");
+                            serviceSubtask.setGuid(uuid);
+                            serviceSubtask.setSendstate(3L);
+                            serviceSubtask.setFinishtime(new Date());
+                            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+
+                            //浠诲姟鍙戦�佽褰�
+                            ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+                            serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+                            serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
+                            serviceSubtaskRecord.setUuid(uuid);
+                            serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+                            serviceSubtaskRecord.setPreachform("3");
+                            serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+                            serviceSubtaskRecord.setRemark("鐢佃瘽鍙戦�佹垚鍔�");
+                            serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+
                         }
-
-                        //浠诲姟鍙戦�佽褰曪紙杩欎釜浠g爜搴旇鍐欏湪phoneTask涓紝鍏堝啓鍦ㄨ繖锛屽悗闈㈠啀鏀癸級
-                        ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
-                        serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
-                        serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
-                        serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
-                        serviceSubtaskRecord.setPreachform("3");
-                        serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
-                        serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
-
-//                        //閫氳繃澶氱嚎绋嬬殑鏂瑰紡鍘绘墦鐢佃瘽
+//                        //閫氳繃澶氱嚎绋嬬殑鏂瑰紡鍘绘墦鐢佃瘽锛堣繖涓槸涓婃捣鐨勬柟娉曪級
 //                        executorService.submit(new PhoneTask(serviceSubtask, ivrTaskTemplateVO1, redisCache, sendService, phonePath, robotPhoneUtils));
+                    }
+                    //灏嗚鎵ц鐨勬斁鍒扮紦瀛樹腑
+                    String cache0 = redisCache.getCacheObject("cache-0");
+                    if (StringUtils.isNotEmpty(cache0)) {
+                        redisCache.setCacheObject("cache-0", cache0 + value);
+                    } else if (StringUtils.isEmpty(cache0) && StringUtils.isNotEmpty(value)) {
+                        redisCache.setCacheObject("cache-0", value);
                     }
                 } else if (descByCode.equals("澶氬獟浣�")) {
                     //澶氬獟浣�
@@ -403,7 +418,7 @@
                                 iServiceSubtaskService.updateServiceSubtask(serviceSubtask);
                             } catch (Exception e) {
                                 String guid = UUID.randomUUID().toString();
-                                log.error("闀挎湡浠诲姟锛屽彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
+                                log.error("闀挎湡浠诲姟锛岀煭淇″彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
                                 serviceSubtask.setResult("error");
                                 serviceSubtask.setRemark("绯荤粺閿欒");
                                 serviceSubtask.setSendstate(5L);
@@ -464,7 +479,7 @@
                                 iServiceSubtaskService.updateServiceSubtask(serviceSubtask);
                             } catch (Exception e) {
                                 String guid = UUID.randomUUID().toString();
-                                log.error("闀挎湡浠诲姟锛屽彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
+                                log.error("闀挎湡浠诲姟锛屽叕浼楀彿鍙戦�佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
                                 serviceSubtask.setResult("error");
                                 serviceSubtask.setRemark("绯荤粺閿欒");
                                 serviceSubtask.setSendstate(5L);

--
Gitblit v1.9.3