From 1d906908a013b6b991eeb0d9a116a04fdf0a7865 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期日, 26 十月 2025 19:24:00 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java | 129 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 116 insertions(+), 13 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 898d8e9..5abb4e2 100644
--- a/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
@@ -8,16 +8,16 @@
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.smartor.domain.*;
+import com.smartor.mapper.ServiceSubtaskMapper;
import com.smartor.service.CommonTaskService;
import com.smartor.service.IServiceTaskService;
-import com.smartor.service.ISvyTaskService;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -34,6 +34,9 @@
public class CommonTaskServiceImpl implements CommonTaskService {
@Autowired
private IServiceTaskService ivrTaskService;
+
+ @Autowired
+ private ServiceSubtaskMapper serviceSubtaskMapper;
@Autowired
private IServiceTaskService iServiceTaskService;
@@ -57,7 +60,6 @@
//瀹f暀
return xjSend(sendTaskVO);
}
- log.error("璧板埌杩欓噷浜嗗槢");
return null;
}
@@ -67,9 +69,34 @@
//浠诲姟鏆傚仠鎴栫粓姝�
ServiceTask serviceTask = new ServiceTask();
serviceTask.setTaskid(sendTaskVO.getTaskId());
- serviceTask.setStopState(ivrTask.getStopState() + 1);
+// serviceTask.setStopState(ivrTask.getStopState() + 1);
serviceTask.setSendState(sendTaskVO.getSendState());
int i = ivrTaskService.updateServiceTask(serviceTask);
+ //鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setTaskid(serviceTask.getTaskid());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ serviceSubtaskVO.setSendstate(1L);
+ List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+ } else {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+ }
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ log.error("sfSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+ serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+ redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+ }
+ }
+
return i;
}
@@ -80,6 +107,8 @@
//鍒ゆ柇浠诲姟鏄惁鏄珛鍗冲彂閫�
if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) {
String content = sendMQContent(sendTaskVO, ivrTask.getTemplateid().toString(), ivrTask.getPreachform(), ivrTask.getStopState(), null);
+ //鍏堜慨鏀圭姸鎬�
+ updateServiceSubtask(ivrTask.getTaskid(), new Date());
//绔嬪嵆鍙戦��
redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS);
//灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
@@ -102,23 +131,23 @@
} catch (JsonProcessingException e) {
log.error("JsonProcessingException鎶ラ敊浜嗭細{}", e.getMessage());
}
+ Date date = new Date();
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);
+ 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);
+
+ //鍏堜慨鏀圭姸鎬�
+ updateServiceSubtask(ivrTask.getTaskid(), date);
redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
} catch (Exception e) {
e.printStackTrace();
@@ -142,9 +171,33 @@
//浠诲姟鏆傚仠鎴栫粓姝�
ServiceTask serviceTask = new ServiceTask();
serviceTask.setTaskid(sendTaskVO.getTaskId());
- serviceTask.setStopState(serviceTask1.getStopState() + 1);
+// serviceTask.setStopState(serviceTask1.getStopState() + 1);
serviceTask.setSendState(sendTaskVO.getSendState());
int i = iServiceTaskService.updateServiceTask(serviceTask);
+ //鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setTaskid(serviceTask1.getTaskid());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ serviceSubtaskVO.setSendstate(1L);
+ List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+ } else {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+ }
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ log.error("wjSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+ serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+ redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+ }
+ }
return i;
}
@@ -156,6 +209,8 @@
if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) {
String content = sendMQContent(sendTaskVO, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), null);
+ //鍏堜慨鏀圭姸鎬�
+ updateServiceSubtask(serviceTask1.getTaskid(), new Date());
//绔嬪嵆鍙戦��
redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS);
@@ -176,6 +231,7 @@
} catch (JsonProcessingException e) {
log.error("JsonProcessingException鎶ラ敊浜嗭細{}", e.getMessage());
}
+ Date date = new Date();
for (TaskSendTimeVO taskSendTimeVO : taskSendTimeVOList) {
//鍘籗endTimeslot涓紝鑾峰彇鎵�鏈夌殑鏃堕棿娈�
// List<TaskSendTimeVO> list = new ArrayList<>();
@@ -187,7 +243,7 @@
//璁板綍鐩墠鍒板彂閫佹椂闂寸殑姣鍊� 锛堝彂閫佹椂闂寸殑姣鍊� - 褰撳墠鏃堕棿鐨勬绉掑�硷級
Long milliseconds = 1000L;
try {
- Date date = sdf.parse(begantime);
+ date = sdf.parse(begantime);
milliseconds = date.getTime() - System.currentTimeMillis();
if (milliseconds < 0) {
milliseconds = 1000L;
@@ -200,6 +256,8 @@
SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class);
sendTaskVO1.setSendType("1");
String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), taskSendTimeVO);
+ //鍏堜慨鏀圭姸鎬�
+ updateServiceSubtask(serviceTask1.getTaskid(), date);
redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
}
//灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
@@ -219,9 +277,34 @@
//浠诲姟鏆傚仠鎴栫粓姝�
ServiceTask serviceTask = new ServiceTask();
serviceTask.setTaskid(sendTaskVO.getTaskId());
- serviceTask.setStopState(serviceTask1.getStopState() + 1);
+// serviceTask.setStopState(serviceTask1.getStopState() + 1);
serviceTask.setSendState(sendTaskVO.getSendState());
iServiceTaskService.updateServiceTask(serviceTask);
+ //鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setTaskid(serviceTask1.getTaskid());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ serviceSubtaskVO.setSendstate(1L);
+ List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+ } else {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+ }
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ log.error("xjSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+ serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+ redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+ }
+ }
+
return 0;
}
@@ -233,6 +316,8 @@
if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) {
String content = sendMQContent(sendTaskVO, serviceTask1.getLibtemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), null);
+ //鍏堜慨鏀圭姸鎬�
+ updateServiceSubtask(serviceTask1.getTaskid(), new Date());
//绔嬪嵆鍙戦��
redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS);
@@ -246,6 +331,7 @@
} else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1") || StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("3")) {
//鏃堕棿娈靛彂閫�
ObjectMapper objectMapper = new ObjectMapper();
+ Date date = new Date();
if (StringUtils.isNotEmpty(serviceTask1.getSendTimeSlot())) {
List<TaskSendTimeVO> taskSendTimeVOList = null;
try {
@@ -265,7 +351,7 @@
//璁板綍鐩墠鍒板彂閫佹椂闂寸殑姣鍊� 锛堝彂閫佹椂闂寸殑姣鍊� - 褰撳墠鏃堕棿鐨勬绉掑�硷級
Long milliseconds = 1000L;
try {
- Date date = sdf.parse(begantime);
+ date = sdf.parse(begantime);
milliseconds = date.getTime() - System.currentTimeMillis();
System.out.println("鏃ユ湡姣鏁帮細" + milliseconds);
} catch (Exception e) {
@@ -275,6 +361,8 @@
SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class);
sendTaskVO1.setSendType("1");
String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), taskSendTimeVO);
+ //鍏堜慨鏀圭姸鎬�
+ updateServiceSubtask(serviceTask1.getTaskid(), date);
redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
}
//灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
@@ -312,4 +400,19 @@
commonTaskcallMQJson = commonTaskcallMQJson.substring(1, commonTaskcallMQJson.length() - 1);
return commonTaskcallMQJson;
}
+
+ private void updateServiceSubtask(Long taskId, Date date) {
+ log.info("-------777杩涙潵浜嗗悧?{}",taskId);
+ //鍙杩涘叆闃熷垪灏辩畻寰呭彂閫�
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setTaskid(taskId);
+ serviceSubtaskVO.setSendstate(1L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ log.info("-----serviceSubtaskList杩涙潵浜嗗悧?{}",serviceSubtaskList);
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ serviceSubtask.setSendstate(2L);
+ serviceSubtask.setVisitTime(date);
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ }
+ }
}
--
Gitblit v1.9.3