liusheng
2024-07-04 497b7272445d3cfbc1b61565a3e81880d74d6d7e
smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
@@ -36,7 +36,7 @@
    private IServiceTaskService ivrTaskService;
    @Autowired
    private ISvyTaskService iSvyTaskService;
    private IServiceTaskService iServiceTaskService;
    @Autowired
    private RedisCache redisCache;
@@ -131,40 +131,40 @@
    }
    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 serviceTask = new SvyTask();
            ServiceTask serviceTask = new ServiceTask();
            serviceTask.setTaskid(sendTaskVO.getTaskId());
            serviceTask.setStopState(svyTask.getStopState() + 1);
            serviceTask.setSendState(sendTaskVO.getSendState().toString());
            iSvyTaskService.updateSvyTask(serviceTask);
            serviceTask.setStopState(serviceTask1.getStopState() + 1);
            serviceTask.setSendState(sendTaskVO.getSendState());
            iServiceTaskService.updateServiceTask(serviceTask);
            return 0;
        }
        //判断发送状态是否为空
        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 serviceTask = new SvyTask();
            serviceTask.setTaskid(svyTask.getTaskid());
            serviceTask.setSendState("2");
            iSvyTaskService.updateSvyTask(serviceTask);
            ServiceTask serviceTask = new ServiceTask();
            serviceTask.setTaskid(serviceTask1.getTaskid());
            serviceTask.setSendState(2);
            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());
@@ -189,14 +189,14 @@
                    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(), list);
                    redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
                }
                //将任务状态修改成执行中
                SvyTask serviceTask = new SvyTask();
                serviceTask.setTaskid(svyTask.getTaskid());
                serviceTask.setSendState("2");
                iSvyTaskService.updateSvyTask(serviceTask);
                ServiceTask serviceTask = new ServiceTask();
                serviceTask.setTaskid(serviceTask1.getTaskid());
                serviceTask.setSendState(2);
                iServiceTaskService.updateServiceTask(serviceTask);
            }
        }
        return 1;