liusheng
2025-05-09 3cc02d185227daee7cd738ca9f713aab5025ec9b
代码提交
已添加1个文件
已修改6个文件
110 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/common/LSHospTokenUtil.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -11,9 +11,11 @@
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.http.HttpUtils;
import com.smartor.common.LSHospTokenUtil;
import com.smartor.domain.*;
import com.smartor.mapper.PatArchiveMapper;
import com.smartor.mapper.ServiceSubtaskMapper;
@@ -32,6 +34,7 @@
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.security.MessageDigest;
import java.util.*;
import java.util.concurrent.ExecutorService;
@@ -362,6 +365,8 @@
                            } else if (visitHosp == 2) {
                                //丽水的短信发送方式
                                String address = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
                                String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid());
                                log.error("-----------token的值为:{}",token);
                                if (StringUtils.isEmpty(address)) {
                                    ServiceSubtask ss = new ServiceSubtask();
                                    ss.setResult("error");
@@ -373,7 +378,7 @@
                                    continue;
                                }
                                log.error("---------mq丽水短信发送入参address:{},  sendMagParam:{},  orgid:{}-------", address, sendMagParam, serviceSubtask.getOrgid());
                                String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()));
                                String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()),token);
                                log.error("---------丽水短信发送结果:{}-------", dxCode);
                                ObjectMapper objectMapper = new ObjectMapper();
                                Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class);
@@ -701,7 +706,7 @@
    }
    private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap) {
    private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap,String token) {
        Map<String, Object> map = new LinkedHashMap<>();
        Map<String, Object> YeWuXX = new LinkedHashMap<>();
@@ -717,7 +722,13 @@
        String body = new Gson().toJson(map);
        String result = HttpUtils.sendPost(address, body);
//        String result = HttpUtils.sendPost(address, body);
        String result = null;
        try {
            result = OkHttpExample.sendPostRequest(address, body, token);
        } catch (IOException e) {
            e.printStackTrace();
        }
        log.error("--------result的值为:{}-----", result);
        JSONObject jsonObject = JSONObject.parseObject(result);
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -13,9 +13,11 @@
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.http.HttpUtils;
import com.smartor.common.LSHospTokenUtil;
import com.smartor.domain.*;
import com.smartor.mapper.ServiceSubtaskMapper;
import com.smartor.mapper.ServiceTaskMapper;
@@ -483,6 +485,7 @@
                                } else if (visitHosp == 2) {
                                    //丽水的短信发送方式
                                    String address = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
                                    String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid());
                                    if (StringUtils.isEmpty(address)) {
                                        ServiceSubtask ss = new ServiceSubtask();
                                        ss.setResult("error");
@@ -494,7 +497,7 @@
                                        continue;
                                    }
                                    log.error("---------丽水短信发送入参address:{},  sendMagParam:{},  orgid:{}-------", address,sendMagParam,serviceSubtask.getOrgid());
                                    String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()));
                                    String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()),token);
                                    log.error("---------丽水短信发送结果:{}-------", dxCode);
                                    ObjectMapper objectMapper = new ObjectMapper();
                                    Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class);
@@ -843,7 +846,7 @@
        return key;
    }
    private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap) {
    private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap,String token) {
        Map<String, Object> map = new LinkedHashMap<>();
        Map<String, Object> YeWuXX = new LinkedHashMap<>();
@@ -859,7 +862,13 @@
        String body = new Gson().toJson(map);
        String result = HttpUtils.sendPost(address, body);
//        String result = HttpUtils.sendPost(address, body);
        String result = null;
        try {
            result = OkHttpExample.sendPostRequest(address, body, token);
        } catch (IOException e) {
            e.printStackTrace();
        }
        log.error("--------result的值为:{}-----", result);
        JSONObject jsonObject = JSONObject.parseObject(result);
smartor/src/main/java/com/smartor/common/LSHospTokenUtil.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.smartor.common;
import java.io.IOException;
public class LSHospTokenUtil {
    public static String getToken(String orgid) {
        String token = null;
        LyraTokenUtil lyraTokenUtil = null;
        if (orgid.equals("47255004333112711A1001"))  //景宁
            lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil("https://9.0.124.104:13021/mediinfo-lyra-authserver/connect/token", "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O");
        if (orgid.equals("47231022633110211A2101"))  //中医院
            lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil("https://9.0.124.104:13011/mediinfo-lyra-authserver/connect/token", "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O");
        try {
            token = lyraTokenUtil.getToken();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return token;
    }
}
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -358,13 +358,33 @@
        log.error("selectPatQuesTionResult的入参为:{}", serviceSubTaskQueryReq);
        Map<String, Object> map = new HashMap<>();
        //获取本次的问答结果
        Map<String, Object> scriptInfoByCondition = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), serviceSubTaskQueryReq.getIsFinish(), serviceSubTaskQueryReq.getPatfrom());
        map = getMap(scriptInfoByCondition, serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid());
        //获取上次的问答结果
        ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(serviceSubTaskQueryReq.getSubId());
        if (ObjectUtils.isNotEmpty(serviceSubtask) && serviceSubtask.getUpid() != null) {
            Map<String, Object> scriptInfoByCondition2 = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), serviceSubTaskQueryReq.getIsFinish(), serviceSubTaskQueryReq.getPatfrom());
            Map<String, Object> map1 = getMap(scriptInfoByCondition2, Long.valueOf(serviceSubtask.getUpid()), serviceSubTaskQueryReq.getPatid());
            if (!map1.isEmpty()) {
                map.put("upScriptResult", map1.get("scriptResult"));
                map.put("upTaskName", map1.get("taskName"));
            }
        }
        return map;
    }
    private Map<String, Object> getMap(Map<String, Object> scriptInfoByCondition, Long subid, Long patid) {
        Map<String, Object> map = new HashMap<>();
        if (ObjectUtils.isNotEmpty(scriptInfoByCondition) && ObjectUtils.isNotEmpty(scriptInfoByCondition.get("script"))) {
            log.error("-----------scriptInfoByCondition的值为:{}", scriptInfoByCondition);
            if (scriptInfoByCondition.get("type").equals("1")) {
                List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
                for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOList) {
                    Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId());
                    Map<String, String> scriptResult = getScriptResult(subid, patid, ivrLibaTemplateScriptVO.getId());
                    if (ObjectUtils.isNotEmpty(scriptResult)) {
                        ivrLibaTemplateScriptVO.setScriptResult(scriptResult.get("asrtext"));
                        ivrLibaTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId"));
@@ -372,11 +392,10 @@
                }
                map.put("scriptResult", ivrLibaTemplateScriptVOList);
                map.put("taskName", scriptInfoByCondition.get("taskName"));
                return map;
            } else if (scriptInfoByCondition.get("type").equals("2")) {
                List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
                for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) {
                    Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.getId());
                    Map<String, String> scriptResult = getScriptResult(subid, patid, svyLibTemplateScriptVO.getId());
                    if (ObjectUtils.isNotEmpty(scriptResult)) {
                        if (StringUtils.isNotEmpty(scriptResult.get("asrtext")))
                            svyLibTemplateScriptVO.setScriptResult(StringUtils.isNotEmpty(scriptResult.get("asrtext")) ? scriptResult.get("asrtext").replaceAll("^(\"|')(.*)\\1$", "$2") : "");
@@ -385,18 +404,17 @@
                }
                map.put("scriptResult", svyLibTemplateScriptVOList);
                map.put("taskName", scriptInfoByCondition.get("taskName"));
                return map;
            } else if (scriptInfoByCondition.get("type").equals("3")) {
                //宣教不需要查看
                List<HeLibrary> heLibraryList = (List) scriptInfoByCondition.get("script");
                map.put("scriptResult", heLibraryList);
                map.put("taskName", scriptInfoByCondition.get("taskName"));
                return map;
            }
        }
        return map;
    }
    private Map<String, String> getScriptResult(Long subid, Long pid, Long sid) {
        Map<String, String> map = new HashMap<>();
        ServiceSubtaskDetail serviceSubtaskDetail = new ServiceSubtaskDetail();
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -347,7 +347,7 @@
        //新增再次随访任务
        ServiceSubtask serviceSubtask2 = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtask.class);
        serviceSubtask2.setId(null);
        serviceSubtask2.setUpid(serviceSubtask1.getUpid());
        serviceSubtask2.setUpid(serviceSubtask1.getId().intValue());
        serviceSubtask2.setVisitCount(serviceSubtask1.getVisitCount() + 1);
        serviceSubtask2.setSendstate(2L);
        serviceSubtask2.setCreateTime(new Date());
smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -238,7 +238,6 @@
        map.put("type", serviceTask.getType());
        map.put("taskName", serviceTask.getTaskName());
        map.put("submit", "0");
        return map;
    }
smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java
@@ -9,6 +9,7 @@
import com.ruoyi.common.enums.ServiceTaskTypeEnum;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.*;
import com.smartor.common.LSHospTokenUtil;
import com.smartor.common.LyraTokenUtil;
import com.smartor.domain.*;
import com.smartor.mapper.BaseOrganizationMapper;
@@ -303,18 +304,18 @@
            log.info("360查询条件为空");
            throw new BaseException("360查询条件为空");
        }
        String token = null;
        LyraTokenUtil lyraTokenUtil = null;
        if (serviceQueryInfo.getXiaoXiTou().getFaSongJGID().equals("47255004333112711A1001"))  //景宁
            lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil("https://9.0.124.104:13021/mediinfo-lyra-authserver/connect/token", "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O");
        if (serviceQueryInfo.getXiaoXiTou().getFaSongJGID().equals("47231022633110211A2101"))  //中医院
            lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil("https://9.0.124.104:13011/mediinfo-lyra-authserver/connect/token", "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O");
        try {
            token = lyraTokenUtil.getToken();
        } catch (IOException e) {
            e.printStackTrace();
        }
        String token = LSHospTokenUtil.getToken(serviceQueryInfo.getXiaoXiTou().getFaSongJGID());
//        LyraTokenUtil lyraTokenUtil = null;
//        if (serviceQueryInfo.getXiaoXiTou().getFaSongJGID().equals("47255004333112711A1001"))  //景宁
//            lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil("https://9.0.124.104:13021/mediinfo-lyra-authserver/connect/token", "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O");
//        if (serviceQueryInfo.getXiaoXiTou().getFaSongJGID().equals("47231022633110211A2101"))  //中医院
//            lyraTokenUtil = LyraTokenUtil.createLyraTokenUtil("https://9.0.124.104:13011/mediinfo-lyra-authserver/connect/token", "zjhes.suifangxt", "OIjdJvx2ALjFVGZoCZO4I8O");
//
//        try {
//            token = lyraTokenUtil.getToken();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
        //用户信息,通过ZuZhiJGID去bse_organization中获取机构信息
        if (StringUtils.isBlank(serviceQueryInfo.getYeWuXX().getYongHuXX().getZuZhiJGID()))