liusheng
2026-01-27 8d3761b736b705ff55968b655aadfcd3bad50933
代码提交
已修改4个文件
56 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -720,10 +720,13 @@
            serviceSubtaskPreachforms = serviceSubtaskPreachformList;
        }
        // 情况1:currentPreachform为空,取sort为1的preachform
        if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
            return serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
            String firstPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
            serviceSubtaskPreachform.setPreachform(firstPreachform);
            serviceSubtaskPreachform.setCurrentSendTime(new Date());
            serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
            return firstPreachform;
        }
        // 情况2:currentPreachform不为空,找下一个sort
@@ -799,6 +802,7 @@
            serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
            serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
            serviceSubtaskPreachform.setSendstate(failSendstate);
            serviceSubtaskPreachform.setCurrentSendTime(new Date());
            if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
                //如果是宣教或通知,并且发送成功,直接将发送状态改成9
                if (failSendstate.equals("2")) serviceSubtaskPreachform.setSendstate("9");
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -12,10 +12,7 @@
import com.ruoyi.common.enums.ServiceFromEnum;
import com.ruoyi.common.enums.WxGZHEnum;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.HttpUtil;
import com.ruoyi.common.utils.OkHttpExample;
import com.ruoyi.common.utils.RSAPublicKeyExample;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.*;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.sms.smsUtils;
import com.ruoyi.quartz.service.ICollectHISService;
@@ -593,8 +590,7 @@
                redisCache.setCacheListLeftAndDistinct("cache-0", list);
                log.info("【sfHandlle】电话任务已加入队列,数量:{}", list.size());
            }
        }
        else if (descByCode.equals("微信小程序")) {
        } else if (descByCode.equals("微信小程序")) {
            //微信小程序
            if (ObjectUtils.isNotEmpty(ivrTask1) && ivrTask1.getPatCycle() == 1) {
                //说明该任务的患者是循环执行的
@@ -621,8 +617,7 @@
                //将当前要执行的患者放到过滤患者集合中
                serviceSubtaskListFilter.add(serviceSubtask);
            }
        }
        else if (descByCode.equals("短信")) {
        } else if (descByCode.equals("短信")) {
            RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
            String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
            log.info("【sfHandlle】处理短信长期任务,患者ID:{}", serviceSubtask.getPatid());
@@ -881,7 +876,15 @@
        // 情况1:currentPreachform为空,取sort为1的preachform
        if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
            return serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
            String firstPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
            //更新一下当前发送时间
            if (StringUtils.isNotEmpty(firstPreachform)) {
                serviceSubtaskPreachform.setPreachform(firstPreachform);
                serviceSubtaskPreachform.setCurrentSendTime(new Date());
                serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
            }
            return firstPreachform;
        }
        // 情况2:currentPreachform不为空,找下一个sort
@@ -889,12 +892,10 @@
        if (currentSort.isPresent()) {
            //微信已发送、已领取视为发送成功,不再进行补偿 -丽水中医院
            if(active.equals("47231022633110211A2101")){
            if (active.equals("47231022633110211A2101")) {
                //获取当前发送方式
                ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform());
                if(currentServiceSubtaskPreachform.getPreachform().equals("5")
                        && (currentServiceSubtaskPreachform.getSendstate().equals("2")
                        || currentServiceSubtaskPreachform.getSendstate().equals("3"))){
                if (currentServiceSubtaskPreachform.getPreachform().equals("5") && (currentServiceSubtaskPreachform.getSendstate().equals("2") || currentServiceSubtaskPreachform.getSendstate().equals("3"))) {
                    return "-1";
                }
            }
@@ -930,7 +931,16 @@
            }
            // 找到下一个sort对应的preachform
            return serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
            String nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
            //更新一下当前发送时间
            if (StringUtils.isNotEmpty(nextPreachform)) {
                serviceSubtaskPreachform.setCurrentSendTime(new Date());
                serviceSubtaskPreachform.setPreachform(nextPreachform);
                serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
            }
            return nextPreachform;
        }
        return null;
@@ -1065,6 +1075,7 @@
            serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
            serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
            serviceSubtaskPreachform.setSendstate(failSendstate);
            serviceSubtaskPreachform.setCurrentSendTime(new Date());
            serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
            return true;
        }
smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java
@@ -6,6 +6,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * 【请填写功能名称】对象 service_subtask_preachform
 *
@@ -60,6 +62,12 @@
    private String sendstate;
    /**
     * 当前发送方式的实际发送时间
     */
    @ApiModelProperty("当前发送方式的实际发送时间")
    private Date currentSendTime;
    /**
     * 机构编码
     */
    @ApiModelProperty("机构编码")
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java
@@ -46,6 +46,7 @@
     * @return 结果
     */
    public int updateServiceSubtaskPreachform(ServiceSubtaskPreachform serviceSubtaskPreachform);
    public int updateSSPByCondition(ServiceSubtaskPreachform serviceSubtaskPreachform);
    /**