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