liusheng
2024-09-04 9526971c403417c1c007804f24884c443b9e6cd7
smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
@@ -44,17 +44,19 @@
    @Override
    public Integer taskSend(SendTaskVO sendTaskVO) {
        if (sendTaskVO.getTaskId() == null || sendTaskVO.getTaskType() == null)
            throw new BaseException("任务ID或者任务类型不能为空,请检查后,再进行执行");
        if (sendTaskVO.getTaskType() == 1) {
            //随访
            return sfSend(sendTaskVO);
        } else if (sendTaskVO.getTaskType() == 2) {
            //问卷
            return wjSend(sendTaskVO);
        } else if (sendTaskVO.getTaskType() == 3) {
            //宣教
            xjSend(sendTaskVO);
        synchronized (CommonTaskServiceImpl.class) {
            if (sendTaskVO.getTaskId() == null || sendTaskVO.getTaskType() == null)
                throw new BaseException("任务ID或者任务类型不能为空,请检查后,再进行执行");
            if (sendTaskVO.getTaskType() == 1) {
                //随访
                return sfSend(sendTaskVO);
            } else if (sendTaskVO.getTaskType() == 2) {
                //问卷
                return wjSend(sendTaskVO);
            } else if (sendTaskVO.getTaskType() == 3) {
                //宣教
                return xjSend(sendTaskVO);
            }
        }
        return null;
    }
@@ -80,11 +82,11 @@
            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.setStopState(ivrTask.getStopState());
            ivrTaskService.updateServiceTask(serviceTask);
            log.error("消息发送成功");
        } else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1") || StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("3")) {
@@ -118,8 +120,7 @@
                        redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS);
                    } catch (Exception e) {
                        e.printStackTrace();
                        if (milliseconds < 0)
                            throw new BaseException("请检查任务开始时间,不能小于当前时间");
                        if (milliseconds < 0) throw new BaseException("请检查任务开始时间,不能小于当前时间");
                    }
                }
                //将任务状态修改成执行中
@@ -128,7 +129,8 @@
                serviceTask.setSendState(2);
                ivrTaskService.updateServiceTask(serviceTask);
            }
        } return 1;
        }
        return 1;
    }
    public int wjSend(SendTaskVO sendTaskVO) {
@@ -183,6 +185,9 @@
                    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();