liusheng
3 天以前 86b103f926cf92fff3d591c6ba07099ad8db3ad1
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -1,6 +1,5 @@
package com.ruoyi.web.component;
import afu.org.checkerframework.checker.oigj.qual.O;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
@@ -23,7 +22,6 @@
import com.smartor.service.IBaseSmsaccountService;
import com.smartor.service.IServiceOutPathService;
import com.smartor.service.IServiceSubtaskRecordService;
import com.sun.org.apache.bcel.internal.generic.NEW;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
@@ -41,7 +39,6 @@
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import static cn.hutool.core.convert.Convert.numberToWord;
import static cn.hutool.core.convert.Convert.toHex;
@Slf4j
@@ -107,7 +104,7 @@
    public void onMessage(Message message, byte[] pattern) {
        log.info("监听Redis key过期,key:{},channel:{}", message.toString(), new String(pattern));
        String ip = localIP;
        log.error("本机的网络IP为:{}", ip);
        log.info("本机的网络IP为:{}", ip);
        String content = message.toString();
        //判断是不是任务信息,如果不是,直接返回,不需要执行
        if (!content.contains("taskid") || !port.equals("8095")) {
@@ -157,7 +154,7 @@
     * @param commonTaskcallMQ
     */
    public void tsakHandle(CommonTaskcallMQ commonTaskcallMQ, String ip, Integer type) {
        log.error("进任务了吗?{}", commonTaskcallMQ);
        log.info("进任务了吗?{}", commonTaskcallMQ);
        //判断一下commonTaskcallMQ中的stopstate是否与ivr_task中的一致,不一致,则说明是暂停了
        ServiceTask ivrTask1 = ivrTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid());
@@ -169,7 +166,7 @@
        if (StringUtils.isNotEmpty(commonTaskcallMQ.getPreachform())) {
            //如何任务发送方式不为空
            String[] split = commonTaskcallMQ.getPreachform().split(",");
            log.error("split的值为:{}", split);
            log.info("split的值为:{}", split);
            //定义一个集合,用与存没有执行的子任务ID
            List<Long> subIds = new ArrayList<>();
@@ -214,13 +211,13 @@
                                //说明是立即发送
                                ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
                                serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
                                log.error("缓存中serviceSubtask1的值为:{}", serviceSubtask1);
                                log.info("缓存中serviceSubtask1的值为:{}", serviceSubtask1);
                                List<String> list = new ArrayList<>();
                                List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1);
                                for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
                                    list.add(serviceSubtask2.getId().toString());
                                }
                                log.error("缓存中cache-0的值为:{}", list);
                                log.info("缓存中cache-0的值为:{}", list);
//                                redisCache.setCacheListLeft("cache-0", list);
                                redisCache.setCacheListLeftAndDistinct("cache-0", list);
                            } else {
@@ -278,13 +275,16 @@
                    subIds.clear();
                    subIds.addAll(lssubIds);
                    lssubIds.clear();
                } else if (descByCode.equals("多媒体")) {
                }
                else if (descByCode.equals("多媒体")) {
                    //多媒体
                    continue;
                } else if (descByCode.equals("纸质")) {
                }
                else if (descByCode.equals("纸质")) {
                    //纸质
                    continue;
                } else if (descByCode.equals("短信")) {
                }
                else if (descByCode.equals("短信")) {
                    //短信
                    //对url中两个参数加密
                    RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
@@ -319,12 +319,11 @@
                                iServiceOutPathService.updateServiceOutPath(serviceOutPath);
                                sendMagParam.setPhone(serviceSubtask.getPhone());
                                sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
                                if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
                                    sendMagParam.setContent("【景宁畲族自治县人民医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
                                    sendMagParam.setContent("【丽水中医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                } else
                                if (visitHosp == 2) {
                                    sendMagParam.setContent("您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                } else if (visitHosp == 1) {
                                    sendMagParam.setContent("【新华医院】您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                                }
                            } else if (type == 2) {
                                //问券(问题)
@@ -385,14 +384,14 @@
                                //丽水的短信发送方式
                                Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
                                String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid());
                                log.error("-----------token的值为:{}", token);
                                log.info("-----------token的值为:{}", token);
                                if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) {
                                    ServiceSubtask ss = new ServiceSubtask();
                                    ss.setResult("error");
                                    ss.setRemark("短信发送失败,该机构没有配置短信地址");
                                    ss.setSendstate(5L);
                                    ss.setId(serviceSubtask.getId());
                                    ss.setFinishtime(new Date());
//                                    ss.setFinishtime(new Date());
                                    serviceSubtaskMapper.updateServiceSubtask(ss);
                                    continue;
                                }
@@ -458,7 +457,8 @@
                    subIds.clear();
                    subIds.addAll(lssubIds);
                    lssubIds.clear();
                } else if (descByCode.equals("公众号")) {
                }
                else if (descByCode.equals("公众号")) {
                    //公众号
                    RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
                    String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
@@ -516,7 +516,7 @@
                                ss.setRemark("公众号发送失败,his系统的患者id为空");
                                ss.setSendstate(5L);
                                ss.setId(serviceSubtask.getId());
                                ss.setFinishtime(new Date());
//                                ss.setFinishtime(new Date());
                                serviceSubtaskMapper.updateServiceSubtask(ss);
                                continue;
                            }
@@ -530,7 +530,7 @@
                                ss.setRemark("该机构的公众号配置信息不全,无法通过公众号发送");
                                ss.setSendstate(5L);
                                ss.setId(serviceSubtask.getId());
                                ss.setFinishtime(new Date());
//                                ss.setFinishtime(new Date());
                                serviceSubtaskMapper.updateServiceSubtask(ss);
                                continue;
                            }
@@ -615,7 +615,7 @@
                    serviceSubtask.setRemark("发送失败");
                    serviceSubtask.setSendstate(5L);
                    serviceSubtask.setId(id);
                    serviceSubtask.setFinishtime(new Date());
//                    serviceSubtask.setFinishtime(new Date());
                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                }
            }