From 6f1e752bf00b584c8a17569578fa8e54cdb71b60 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 27 十月 2025 13:34:59 +0800
Subject: [PATCH] 处理选项不显示的问题
---
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java | 1065 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 624 insertions(+), 441 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index ae1e75b..12e4ad9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -1,26 +1,30 @@
package com.ruoyi.web.component;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.dx.MessageSend;
+import com.ruoyi.common.enums.MsgLSEnum;
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.http.HttpUtils;
-import com.smartor.common.SendService;
-import com.smartor.config.RobotPhoneUtils;
+import com.ruoyi.system.service.ISysConfigService;
+import com.smartor.common.LSHospTokenUtil;
import com.smartor.domain.*;
-import com.smartor.mapper.ServiceSubtaskMapper;
-import com.smartor.mapper.ServiceTaskMapper;
+import com.smartor.mapper.*;
import com.smartor.service.IBaseSmsaccountService;
import com.smartor.service.IServiceOutPathService;
import com.smartor.service.IServiceSubtaskRecordService;
-import com.smartor.service.ISvyTaskTemplateService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.connection.Message;
@@ -28,12 +32,16 @@
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component;
+import java.io.IOException;
+import java.security.MessageDigest;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
+
+import static cn.hutool.core.convert.Convert.toHex;
@Slf4j
@Component//鐩戝惉姝ら槦鍒�
@@ -51,26 +59,24 @@
@Value("${req_path}")
private String req_path;
- @Value("${thirdWXUrl}")
- private String thirdWXUrl;
-
@Autowired
private IServiceOutPathService iServiceOutPathService;
@Autowired
private ServiceSubtaskMapper ivrTaskcallMapper;
+
+ @Autowired
+ private HeLibraryMapper heLibraryMapper;
+
@Autowired
private ServiceTaskMapper ivrTaskMapper;
@Autowired
- private SendService sendService;
+ private PatArchiveMapper patArchiveMapper;
@Autowired
private RedisCache redisCache;
-
- @Autowired
- private RobotPhoneUtils robotPhoneUtils;
@Autowired
private ServiceTaskMapper svyTaskMapper;
@@ -79,7 +85,7 @@
private ServiceSubtaskMapper serviceSubtaskMapper;
@Autowired
- private ISvyTaskTemplateService iSvyTaskTemplateService;
+ private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
@Autowired
private IServiceSubtaskRecordService serviceSubtaskRecordService;
@@ -89,6 +95,18 @@
@Value("${xhsmsPath}")
private String xhsmsPath;
+
+ @Value("${visitHosp}")
+ private Integer visitHosp;
+
+ @Value("${server.port}")
+ private String port;
+
+ @Value("${spring.profiles.active}")
+ private String active;
+
+ @Autowired
+ private ISysConfigService configService;
// 鍒涘缓鍥哄畾澶у皬鐨勭嚎绋嬫睜
private static final ExecutorService executorService = Executors.newFixedThreadPool(10);
@@ -101,10 +119,10 @@
public void onMessage(Message message, byte[] pattern) {
log.info("鐩戝惉Redis key杩囨湡锛宬ey锛歿}锛宑hannel锛歿}", message.toString(), new String(pattern));
String ip = localIP;
- log.error("鏈満鐨勭綉缁淚P涓�:{}", ip);
+ log.info("鏈満鐨勭綉缁淚P涓�:{}", ip);
String content = message.toString();
//鍒ゆ柇鏄笉鏄换鍔′俊鎭紝濡傛灉涓嶆槸锛岀洿鎺ヨ繑鍥烇紝涓嶉渶瑕佹墽琛�
- if (!content.contains("taskid")) {
+ if (!content.contains("taskid") || !port.equals("8095")) {
log.error("涓嶆槸浠诲姟淇℃伅");
return;
}
@@ -151,493 +169,658 @@
* @param commonTaskcallMQ
*/
public void tsakHandle(CommonTaskcallMQ commonTaskcallMQ, String ip, Integer type) {
- log.error("杩涗换鍔′簡鍚楋紵{}", commonTaskcallMQ);
+ log.info("杩涗换鍔′簡鍚楋紵{}", commonTaskcallMQ);
//鍒ゆ柇涓�涓媍ommonTaskcallMQ涓殑stopstate鏄惁涓巌vr_task涓殑涓�鑷达紝涓嶄竴鑷达紝鍒欒鏄庢槸鏆傚仠浜�
ServiceTask ivrTask1 = ivrTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid());
- if (ivrTask1.getStopState() != commonTaskcallMQ.getStopState()) {
- //灏嗘秷鎭粠闃熷垪涓墧闄�
- return;
- }
- if (StringUtils.isNotEmpty(commonTaskcallMQ.getPreachform())) {
- //濡備綍浠诲姟鍙戦�佹柟寮忎笉涓虹┖
- String[] split = commonTaskcallMQ.getPreachform().split(",");
- log.error("split鐨勫�间负锛歿}", split);
+ //閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭�
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setTaskid(commonTaskcallMQ.getTaskid());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtaskVO);
- //瀹氫箟涓�涓泦鍚堬紝鐢ㄤ笌瀛樻病鏈夋墽琛岀殑瀛愪换鍔D
- List<Long> subIds = new ArrayList<>();
- //涓存椂瀛樻病鏈夋墽琛岀殑瀛愪换鍔D
- List<Long> lssubIds = new ArrayList<>();
- //鏄惁灏嗗叏閮ㄦ偅鑰呰�呭彂閫佸畬
- Boolean isSend = false;
+ for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
+ //鍏堝垽鏂偅鑰呮槸涓嶆槸杩樿鍙戦��
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(serviceSubtask.getPatid());
+ if (!Objects.isNull(patArchive) && patArchive.getNotrequiredFlag() == "1") {
+ //涓嶉渶瑕佸彂閫�
+ serviceSubtask.setResult("鎮h�呬笉闇�瑕侀殢璁�");
+ serviceSubtask.setRemark(patArchive.getNotrequiredreason());
+ serviceSubtask.setSendstate(4L);
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ setFailPreachForm(serviceSubtask, "-1", "涓嶉渶瑕佹墽琛�", "6");
+ continue;
+ }
- aa:
- for (String serviceFrom : split) {
- String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(serviceFrom));
- if (isSend == true) {
- break aa;
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
+ serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+ //鑾峰彇鍙戦�佹柟寮�
+ String sendPreachform = getSendPreachform(serviceSubtaskPreachform, serviceSubtask);
+ log.info("sendPreachform鐨勫�间负锛歿}", sendPreachform);
+ if (sendPreachform.equals("-1") || serviceSubtask.getSendstate() == 6 || serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 4) {
+ //璇存槑宸茬粡鍏ㄩ儴閬嶅巻瀹屼簡锛屽綋鍓嶇殑鎵ц鏂瑰紡搴忓彿鏄渶鍚庝竴涓簡 鎴栬�� 璇ユ偅鑰呭凡缁忛殢璁跨粨鏉燂紙鎴愬姛鎴栧け璐ヤ簡鎴栦笉鎵ц锛�
+ continue;
+ }
+ String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(sendPreachform));
+ if (descByCode.equals("鐢佃瘽")) {
+ try {
+ ServiceTask ivrTask = ivrTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+ if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) {
+ //濡備綍浠诲姟琚�滄殏鍋溾�濇垨鈥滅粓姝⑩��
+ break;
+ }
+ if (org.apache.commons.lang3.StringUtils.isEmpty(serviceSubtask.getPhone())) {
+ serviceSubtask.setCurrentPreachform(sendPreachform);
+ serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ setFailPreachForm(serviceSubtask, sendPreachform, "鎵嬫満鍙蜂负绌�", "4");
+ continue;
+ }
+
+ //鑾峰彇鍒皏alue鍊兼渶灏戠殑key
+ String key = getKey();
+ if (commonTaskcallMQ.getSendType().equals("2")) {
+ //璇存槑鏄珛鍗冲彂閫�
+ List<String> list = new ArrayList<>();
+ list.add(serviceSubtask.getId().toString());
+ log.info("缂撳瓨涓璫ache-0鐨勫�间负锛歿}", list);
+ redisCache.setCacheListLeftAndDistinct("cache-0", list);
+ } else {
+ //闈炵珛鍗冲彂閫�
+ List<String> list = new ArrayList<>();
+ list.add(serviceSubtask.getId().toString());
+ redisCache.setCacheListLeftAndDistinct(key, list);
+ }
+ } catch (Exception exception) {
+ ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+ serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+ serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
+ serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+ serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+ serviceSubtaskRecord.setPreachform("3");
+ serviceSubtaskRecord.setResult("fail");
+ serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+ serviceSubtaskRecord.setRemark("闃熷垪浠诲姟鐢佃瘽鍙戦�佸け璐�");
+ log.error("闃熷垪浠诲姟鐢佃瘽鍙戦�佸け璐ワ細{}", exception.getMessage());
+ serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+ //灏嗙數璇濈姸鎬佽缃负澶辫触
+ setFailPreachForm(serviceSubtask, sendPreachform, "闃熷垪浠诲姟鐢佃瘽鍙戦�佸け璐�", "5");
+
+ continue;
+ }
+ //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+ setFailPreachForm(serviceSubtask, sendPreachform, "闃熷垪浠诲姟鐢佃瘽鍙戦�佹垚鍔�", "2");
+
+ //浠诲姟鍙戦�佽褰�
+ ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+ serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+ serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
+ serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+ serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+ serviceSubtaskRecord.setPreachform("3");
+ serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+ serviceSubtaskRecord.setRemark("闃熷垪浠诲姟鐢佃瘽鍙戦�佹垚鍔�");
+ serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+
+ } else if (descByCode.equals("鐭俊")) {
+ //鐭俊
+ //瀵箄rl涓袱涓弬鏁板姞瀵�
+ RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
+ String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
+
+ if (org.apache.commons.lang3.StringUtils.isEmpty(serviceSubtask.getPhone())) {
+ setFailPreachForm(serviceSubtask, sendPreachform, "鎵嬫満鍙蜂负绌�", "4");
+ continue;
}
- //閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭�
- ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO();
- ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid());
- ivrTaskcall.setSendstate(1L);
- List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(ivrTaskcall);
- if (descByCode.equals("鐢佃瘽")) {
- for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
- //鍏堝垽鏂竴涓嬶紝subIds鏄惁涓虹┖锛屽鏋滀笉涓虹┖锛屽彧鎵цsubIds閲岀殑鎮h��
- if (CollectionUtils.isNotEmpty(subIds)) {
- boolean contains = subIds.contains(serviceSubtask.getId());
- //濡傛灉contains涓嶄负true,璇存槑褰撳墠鐨勬偅鑰呭凡缁忓彂閫佹垚鍔燂紝鐩存帴寰幆涓嬩竴涓汉灏辫
- if (!contains) continue;
- }
-
- try {
- ServiceTask ivrTask = ivrTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
- if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) {
- //濡備綍浠诲姟琚�滄殏鍋溾�濇垨鈥滅粓姝⑩��
- break;
- }
- //鑾峰彇鍒皏alue鍊兼渶灏戠殑key
- String key = getKey();
- if (commonTaskcallMQ.getSendType().equals("2")) {
- //璇存槑鏄珛鍗冲彂閫�
- ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
- serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
- log.error("缂撳瓨涓璼erviceSubtask1鐨勫�间负锛歿}", serviceSubtask1);
- List<String> list = new ArrayList<>();
- List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1);
- for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
- list.add(serviceSubtask2.getId().toString());
- }
- log.error("缂撳瓨涓璫ache-0鐨勫�间负锛歿}", list);
-// redisCache.setCacheListLeft("cache-0", list);
- redisCache.setCacheListLeftAndDistinct("cache-0", list);
- } else {
- //闈炵珛鍗冲彂閫�
- ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
- serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
- List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1);
- List<String> list = new ArrayList<>();
- for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
- list.add(serviceSubtask2.getId().toString());
- }
-// redisCache.setCacheListLeft(key, list);
- redisCache.setCacheListLeftAndDistinct(key, list);
- }
- } catch (Exception exception) {
- ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
- serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
- serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
- serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
- serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
- serviceSubtaskRecord.setPreachform("3");
- serviceSubtaskRecord.setResult("fail");
- serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
- serviceSubtaskRecord.setRemark("闃熷垪浠诲姟鐢佃瘽鍙戦�佸け璐�");
- log.error("闃熷垪浠诲姟鐢佃瘽鍙戦�佸け璐ワ細{}", exception.getMessage());
- lssubIds.add(serviceSubtask.getId());
- serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
- continue;
- }
- //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
- String uuid = UUID.randomUUID().toString();
- serviceSubtask.setResult("success");
- serviceSubtask.setRemark("闃熷垪浠诲姟鐢佃瘽鍙戦�佹垚鍔�");
- serviceSubtask.setGuid(uuid);
- serviceSubtask.setSendstate(3L);
- serviceSubtask.setFinishtime(new Date());
- serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
-
- //浠诲姟鍙戦�佽褰�
- ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
- serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
- serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
- serviceSubtaskRecord.setUuid(uuid);
- serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
- serviceSubtaskRecord.setPreachform("3");
- serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
- serviceSubtaskRecord.setRemark("闃熷垪浠诲姟鐢佃瘽鍙戦�佹垚鍔�");
- serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
- }
- if (CollectionUtils.isEmpty(lssubIds)) {
- //濡傛灉鈥滀复鏃跺瓙浠诲姟鈥濅负绌猴紝璇存槑鍏ㄥ彂閫佸畬浜�
- isSend = true;
- }
- //灏嗗瓙浠诲姟ID娓呯┖锛屽皢鈥滀复鏃跺瓙浠诲姟鈥濇暟鎹� 鏀惧埌 鈥滃瓙浠诲姟鈥� 涓�
- subIds.clear();
- subIds.addAll(lssubIds);
- lssubIds.clear();
- } else if (descByCode.equals("澶氬獟浣�")) {
- //澶氬獟浣�
- continue;
- } else if (descByCode.equals("绾歌川")) {
- //绾歌川
- continue;
- } else if (descByCode.equals("鐭俊")) {
- //鐭俊
- //瀵箄rl涓袱涓弬鏁板姞瀵�
- RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
- String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
-
- for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
- //鍏堝垽鏂竴涓嬶紝subIds鏄惁涓虹┖锛屽鏋滀笉涓虹┖锛屽彧鎵цsubIds閲岀殑鎮h��
- if (CollectionUtils.isNotEmpty(subIds)) {
- boolean contains = subIds.contains(serviceSubtask.getId());
- //濡傛灉contains涓嶄负true,璇存槑褰撳墠鐨勬偅鑰呭凡缁忓彂閫佹垚鍔燂紝鐩存帴寰幆涓嬩竴涓汉灏辫
- if (!contains) continue;
- }
-
- try {
- String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
- String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key);
- SendMagParam sendMagParam = new SendMagParam();
- sendMagParam.setType("4");
- if (type == 1) {
- //闅忚
- ServiceOutPath serviceOutPath = new ServiceOutPath();
- serviceOutPath.setParam1(taskId);
- serviceOutPath.setParam2(patid);
- serviceOutPath.setParam6(subId);
- serviceOutPath.setCreateTime(new Date());
- iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+ try {
+ String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
+ String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key);
+ SendMagParam sendMagParam = new SendMagParam();
+ sendMagParam.setType("4");
+ if (type == 1) {
+ //闅忚
+ ServiceOutPath serviceOutPath = new ServiceOutPath();
+ serviceOutPath.setParam1(taskId);
+ serviceOutPath.setParam2(patid);
+ serviceOutPath.setParam6(subId);
+ serviceOutPath.setCreateTime(new Date());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
// sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid + "¶m5=false");
- //杞垚16杩涘埗
- String format = String.format("%03X", serviceOutPath.getId());
- serviceOutPath.setRadix(format);
- serviceOutPath.setUpdateTime(new Date());
- iServiceOutPathService.updateServiceOutPath(serviceOutPath);
- sendMagParam.setPhone(serviceSubtask.getPhone());
- sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
- sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
- } else if (type == 2) {
- //闂埜锛堥棶棰橈級
- ServiceOutPath serviceOutPath = new ServiceOutPath();
- serviceOutPath.setParam1(taskId);
- serviceOutPath.setParam2(patid);
- serviceOutPath.setParam6(subId);
+ //杞垚16杩涘埗
+ String format = String.format("%03X", serviceOutPath.getId());
+ serviceOutPath.setRadix(format);
+ serviceOutPath.setUpdateTime(new Date());
+ iServiceOutPathService.updateServiceOutPath(serviceOutPath);
+ sendMagParam.setPhone(serviceSubtask.getPhone());
+ sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
+ if (visitHosp == 2) {
+ sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+ } else if (visitHosp == 1) {
+ sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+ }
+
+ } else if (type == 2) {
+ //闂埜锛堥棶棰橈級
+ ServiceOutPath serviceOutPath = new ServiceOutPath();
+ serviceOutPath.setParam1(taskId);
+ serviceOutPath.setParam2(patid);
+ serviceOutPath.setParam6(subId);
// serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()));
- serviceOutPath.setParam3(ivrTask1.getTaskName());
- serviceOutPath.setCreateTime(new Date());
- iServiceOutPathService.insertServiceOutPath(serviceOutPath);
- String format = String.format("%03X", serviceOutPath.getId());
- serviceOutPath.setRadix(format);
- serviceOutPath.setUpdateTime(new Date());
- iServiceOutPathService.updateServiceOutPath(serviceOutPath);
+ serviceOutPath.setParam3(ivrTask1.getTaskName());
+ serviceOutPath.setCreateTime(new Date());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+ String format = String.format("%03X", serviceOutPath.getId());
+ serviceOutPath.setRadix(format);
+ serviceOutPath.setUpdateTime(new Date());
+ iServiceOutPathService.updateServiceOutPath(serviceOutPath);
// sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false");
- sendMagParam.setPhone(serviceSubtask.getPhone());
- sendMagParam.setUrl(ip + ":" + req_path + "/wt?p=" + format);
- sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
- } else if (type == 3) {
- //瀹f暀
- ServiceOutPath serviceOutPath = new ServiceOutPath();
- serviceOutPath.setParam1(taskId);
- serviceOutPath.setParam2(patid);
- serviceOutPath.setParam6(subId);
-// serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()));
- serviceOutPath.setParam3(ivrTask1.getTaskName());
- serviceOutPath.setCreateTime(new Date());
- iServiceOutPathService.insertServiceOutPath(serviceOutPath);
- String format = String.format("%03X", serviceOutPath.getId());
- serviceOutPath.setRadix(format);
- serviceOutPath.setUpdateTime(new Date());
- iServiceOutPathService.updateServiceOutPath(serviceOutPath);
-// sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainxj?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false");
- sendMagParam.setPhone(serviceSubtask.getPhone());
- sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format);
+ sendMagParam.setPhone(serviceSubtask.getPhone());
+ sendMagParam.setUrl(ip + ":" + req_path + "/wt?p=" + format);
+ //濡傛灉type鏄闊抽殢璁跨殑璇濓紙璇存槑琛ュ伩鍙戦�佹柟寮忎腑鏈夌數璇濋殢璁跨殑鏂瑰紡锛岃繖閲岀殑澶栭摼灏卞湴鍧�鍙兘鐢�/sf锛�
+ if (serviceSubtask.getType().equals("1"))
+ sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
+ if (visitHosp == 2) {
+ sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+ } else if (visitHosp == 1) {
+ sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+ }
+ } else if (type == 3) {
+ //瀹f暀
+ ServiceOutPath serviceOutPath = new ServiceOutPath();
+ serviceOutPath.setParam1(taskId);
+ serviceOutPath.setParam2(patid);
+ serviceOutPath.setParam6(subId);
+ serviceOutPath.setParam3(ivrTask1.getTaskName());
+ serviceOutPath.setCreateTime(new Date());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+ String format = String.format("%03X", serviceOutPath.getId());
+ serviceOutPath.setRadix(format);
+ serviceOutPath.setUpdateTime(new Date());
+ iServiceOutPathService.updateServiceOutPath(serviceOutPath);
+ //闇�瑕侀�氳繃妯℃澘ID鍘诲垽鏂鍙戠殑鍐呭鏄鏁欒繕鏄�氱煡
+ HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
+ if (heLibrary.getHetype().equals("1")) {
+ sendMagParam.setPhone(serviceSubtask.getPhone());
+ sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format);
+ if (visitHosp == 2) {
+ sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+ } else if (visitHosp == 1) {
sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
}
- //鐭俊杩橀渶瑕佹ā鏉�
- Map<String, String> req = new HashMap<>();
- req.put("phone", sendMagParam.getPhone());
- req.put("content", sendMagParam.getContent());
- String s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
- if (s.equals("true")) {
- ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
- serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
- serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
- serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
- serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
- serviceSubtaskRecord.setPreachform("4");
- serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
- serviceSubtaskRecord.setRemark("鐭俊鍙戦�佹垚鍔�");
- lssubIds.add(serviceSubtask.getId());
- serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
- continue;
- }
- } catch (Exception e) {
- ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
- serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
- serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
- serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
- serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
- serviceSubtaskRecord.setPreachform("4");
- serviceSubtaskRecord.setResult("fail");
- serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
- serviceSubtaskRecord.setRemark("鐭俊鍙戦�佸け璐�");
- log.error("鐭俊鍙戦�佸け璐ワ細{}", e.getMessage());
- lssubIds.add(serviceSubtask.getId());
- serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+ } else {
+ //閫氱煡
+ sendMagParam.setPhone(serviceSubtask.getPhone());
+ sendMagParam.setContent(heLibrary.getPreachcontent());
+ }
+ }
+
+ //鐭俊杩橀渶瑕佹ā鏉�
+ String s = null;
+ if (visitHosp == 1) {
+ //鏂板崕鐨勭煭淇″彂閫佹柟寮�
+ Map<String, String> req = new HashMap<>();
+ req.put("phone", sendMagParam.getPhone());
+ req.put("content", sendMagParam.getContent());
+ s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+ } else if (visitHosp == 2) {
+ String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
+ log.info("-------00token.360鐨刄RL涓猴細{}", url);
+ //涓芥按鐨勭煭淇″彂閫佹柟寮�
+ Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
+ log.info("-----------map鐨勫�间负锛歿}", map);
+ String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(), url);
+ log.info("-----------token鐨勫�间负锛歿}", token);
+ if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) {
+ serviceSubtask.setCurrentPreachform(sendPreachform);
+ serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
+ setFailPreachForm(serviceSubtask, descByCode, "鐭俊鍙戦�佸け璐�,璇ユ満鏋勬病鏈夐厤缃煭淇″湴鍧�", "5");
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
continue;
}
-
+ log.info("---------mq涓芥按鐭俊鍙戦�佸叆鍙俛ddress锛歿}, sendMagParam:{}, orgid:{}-------", map.get("address"), sendMagParam, serviceSubtask.getOrgid());
+ String dxCode = getDXCode(map.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()), token);
+ log.info("---------涓芥按鐭俊鍙戦�佺粨鏋滐細{}-------", dxCode);
+ ObjectMapper objectMapper = new ObjectMapper();
+ Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class);
+ log.info("---------涓芥按鐭俊鍙戦�佺粨鏋�--textParam鐨勫�间负锛歿}-------", textParam);
+ String code = textParam.get("Code").toString();
+ if (code.equals("0")) {
+ s = "true";
+ } else {
+ setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
+ throw new BaseException("鐭俊鍙戦�佸け璐�");
+ }
+ } else if (visitHosp == 3) {
+ //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
+ JSONObject data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+ String code = data.get("code").toString();
+ if (StringUtils.isNotEmpty(code) && code.equals("00000")) {
+ s = "true";
+ } else {
+ setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
+ throw new BaseException("鐭俊鍙戦�佸け璐�");
+ }
+ }
+ if (s.equals("true")) {
//鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
- String uuid = UUID.randomUUID().toString();
- serviceSubtask.setResult("success");
- serviceSubtask.setRemark("鐭俊鍙戦�佹垚鍔�");
- serviceSubtask.setGuid(uuid);
- serviceSubtask.setSendstate(3L);
- serviceSubtask.setFinishtime(new Date());
- serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
-
+ setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佹垚鍔�", "2");
//浠诲姟鍙戦�佽褰�
ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
- serviceSubtaskRecord.setUuid(uuid);
+ serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
serviceSubtaskRecord.setPreachform("5");
serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
serviceSubtaskRecord.setResult("success");
serviceSubtaskRecord.setRemark("鐭俊鍙戦�佹垚鍔�");
serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+ log.error("serviceSubtaskRecord淇濆瓨鎴愬姛浜嗗悧锛燂細{}", serviceSubtaskRecord);
+ } else {
+ //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+ setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
}
- if (CollectionUtils.isEmpty(lssubIds)) {
- //濡傛灉鈥滀复鏃跺瓙浠诲姟鈥濅负绌猴紝璇存槑鍏ㄥ彂閫佸畬浜�
- isSend = true;
- }
- //灏嗗瓙浠诲姟ID娓呯┖锛屽皢鈥滀复鏃跺瓙浠诲姟鈥濇暟鎹� 鏀惧埌 鈥滃瓙浠诲姟鈥� 涓�
- subIds.clear();
- subIds.addAll(lssubIds);
- lssubIds.clear();
- } else if (descByCode.equals("鍏紬鍙�")) {
- //鍏紬鍙�
- RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
- String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
- for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
- String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
- try {
- SendMagParam sendMagParam = new SendMagParam();
- sendMagParam.setType("5");
- sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false");
- log.info("閾炬帴瀹屾暣璺緞锛歿}", ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false");
- //杩欎釜妯℃澘ID鍏堝啓姝伙紝鍚庨潰鍋氭垚鍙��
- sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4");
- Map map = new HashMap();
- map.put("first", ivrTask1.getTaskName());
- sendMagParam.setContent(JSON.toJSONString(map));
- sendMagParam.setOpenid(serviceSubtask.getOpenid());
- Boolean aBoolean = sendService.sendMsg(sendMagParam);
- String url = null;
+ } catch (Exception e) {
+ ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+ serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+ serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
+ serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+ serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+ serviceSubtaskRecord.setPreachform("4");
+ serviceSubtaskRecord.setResult("fail");
+ serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+ serviceSubtaskRecord.setRemark("鐭俊鍙戦�佸け璐�");
+ log.error("鐭俊鍙戦�佸け璐ワ細{}", e.getMessage());
+ serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+ setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
+ continue;
+ }
-//// if (type == 1) {
-//// url = ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false";
-//// } else if (type == 2) {
-//// url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false";
-//// } else if (type == 3) {
-//// url = ip + ":" + req_path + "/outsideChainxj?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false";
-//// }
-// if (type == 1) {
-// //闅忚
-// ServiceOutPath serviceOutPath = new ServiceOutPath();
-// serviceOutPath.setParam1(taskId);
-// serviceOutPath.setParam2(patid);
-// serviceOutPath.setCreateTime(new Date());
-// iServiceOutPathService.insertServiceOutPath(serviceOutPath);
-// String format = String.format("%03X", serviceOutPath.getId());
-// serviceOutPath.setRadix(format);
-// serviceOutPath.setUpdateTime(new Date());
-// iServiceOutPathService.updateServiceOutPath(serviceOutPath);
-//// sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid + "¶m5=false");
-// url = ip + ":" + req_path + "/sf?p=" + format;
-// } else if (type == 2) {
-// //闂埜
-// ServiceOutPath serviceOutPath = new ServiceOutPath();
-// serviceOutPath.setParam1(taskId);
-// serviceOutPath.setParam2(patid);
-//// serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()));
-// serviceOutPath.setParam3(ivrTask1.getTaskName());
-// serviceOutPath.setCreateTime(new Date());
-// iServiceOutPathService.insertServiceOutPath(serviceOutPath);
-// String format = String.format("%03X", serviceOutPath.getId());
-// serviceOutPath.setRadix(format);
-// serviceOutPath.setUpdateTime(new Date());
-// iServiceOutPathService.updateServiceOutPath(serviceOutPath);
-//// sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false");
-// url = ip + ":" + req_path + "/wt?p=" + format;
-// } else if (type == 3) {
-// //瀹f暀
-// ServiceOutPath serviceOutPath = new ServiceOutPath();
-// serviceOutPath.setParam1(taskId);
-// serviceOutPath.setParam2(patid);
-//// serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()));
-// serviceOutPath.setParam3(ivrTask1.getTaskName());
-// serviceOutPath.setCreateTime(new Date());
-// iServiceOutPathService.insertServiceOutPath(serviceOutPath);
-// String format = String.format("%03X", serviceOutPath.getId());
-// serviceOutPath.setRadix(format);
-// serviceOutPath.setUpdateTime(new Date());
-// iServiceOutPathService.updateServiceOutPath(serviceOutPath);
-// url = ip + ":" + req_path + "/xj?p=" + format;
-// }
-//
-// String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), "鏃�");
-// Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class);
-// if (!map.isEmpty()) {
- serviceSubtask.setResult("success");
- serviceSubtask.setSendstate(3L);
- if (aBoolean == false) {
- ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
- serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
- serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
- serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
- serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
- serviceSubtaskRecord.setPreachform("5");
- serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
- serviceSubtaskRecord.setRemark(map.get("msg").toString());
- lssubIds.add(serviceSubtask.getId());
- serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
- continue;
- }
-// }
- } catch (Exception e) {
+ } else if (descByCode.equals("鍏紬鍙�")) {
+ //鍏紬鍙�
+ RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
+ String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
+ String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
+
+ try {
+ SendMagParam sendMagParam = new SendMagParam();
+ sendMagParam.setType("5");
+ String url = null;
+ Boolean aBoolean = false;
+ if (type == 1) {
+ //闅忚
+ ServiceOutPath serviceOutPath = new ServiceOutPath();
+ serviceOutPath.setParam1(taskId);
+ serviceOutPath.setParam2(patid);
+ serviceOutPath.setCreateTime(new Date());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+ String format = String.format("%03X", serviceOutPath.getId());
+ serviceOutPath.setRadix(format);
+ serviceOutPath.setUpdateTime(new Date());
+ iServiceOutPathService.updateServiceOutPath(serviceOutPath);
+ url = ip + ":" + req_path + "/sf?p=" + format;
+ } else if (type == 2) {
+ //闂埜
+ ServiceOutPath serviceOutPath = new ServiceOutPath();
+ serviceOutPath.setParam1(taskId);
+ serviceOutPath.setParam2(patid);
+ serviceOutPath.setParam3(ivrTask1.getTaskName());
+ serviceOutPath.setCreateTime(new Date());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+ String format = String.format("%03X", serviceOutPath.getId());
+ serviceOutPath.setRadix(format);
+ serviceOutPath.setUpdateTime(new Date());
+ iServiceOutPathService.updateServiceOutPath(serviceOutPath);
+ url = ip + ":" + req_path + "/wt?p=" + format;
+ //濡傛灉type鏄闊抽殢璁跨殑璇濓紙璇存槑琛ュ伩鍙戦�佹柟寮忎腑鏈夌數璇濋殢璁跨殑鏂瑰紡锛岃繖閲岀殑澶栭摼灏卞湴鍧�鍙兘鐢�/sf锛�
+ if (serviceSubtask.getType().equals("1"))
+ sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
+ } else if (type == 3) {
+ //瀹f暀
+ ServiceOutPath serviceOutPath = new ServiceOutPath();
+ serviceOutPath.setParam1(taskId);
+ serviceOutPath.setParam2(patid);
+ serviceOutPath.setParam3(ivrTask1.getTaskName());
+ serviceOutPath.setCreateTime(new Date());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+ String format = String.format("%03X", serviceOutPath.getId());
+ serviceOutPath.setRadix(format);
+ serviceOutPath.setUpdateTime(new Date());
+ iServiceOutPathService.updateServiceOutPath(serviceOutPath);
+ url = ip + ":" + req_path + "/xj?p=" + format;
+ }
+ if (StringUtils.isEmpty(patArchive.getPatidHis())) {
+ serviceSubtask.setCurrentPreachform(sendPreachform);
+ serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ //澶辫触璁板綍
+ setFailPreachForm(serviceSubtask, sendPreachform, "鍏紬鍙峰彂閫佸け璐�,his绯荤粺鐨勬偅鑰卛d涓虹┖", "5");
+ continue;
+ }
+
+ //鑾峰彇寰俊鍏紬鍙疯姹備俊鎭牴鎹満鏋処D
+ log.error("鑾峰彇寰俊鍏紬鍙疯姹備俊鎭牴鎹満鏋処D锛歿}", patArchive.getOrgid());
+ List<String> wxqqxx = WxGZHEnum.getDescByCode(patArchive.getOrgid());
+ if (CollectionUtils.isEmpty(wxqqxx) || wxqqxx.size() < 4) {
+ serviceSubtask.setCurrentPreachform(sendPreachform);
+ serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+
+ //澶辫触璁板綍
+ setFailPreachForm(serviceSubtask, sendPreachform, "璇ユ満鏋勭殑鍏紬鍙烽厤缃俊鎭笉鍏紝鏃犳硶閫氳繃鍏紬鍙峰彂閫�", "5");
+ continue;
+ }
+
+
+ String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskName(), patArchive.getTelcode(), patArchive.getName(), patArchive.getPatidHis(), wxqqxx);
+ log.error("wxCode鐨勫�间负:{}", wxCode);
+ Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class);
+ log.error("map鐨勫�间负:{}", map);
+ if (!map.isEmpty()) {
+ serviceSubtask.setResult("success");
+ serviceSubtask.setSendstate(3L);
+ log.error("aBoolean鐨勫�间负:{}", aBoolean);
+ if (map.get("succ").toString().equals("true")) {
+ aBoolean = true;
+ }
+ if (aBoolean == false) {
ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
serviceSubtaskRecord.setPreachform("5");
- serviceSubtaskRecord.setResult("fail");
serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
- serviceSubtaskRecord.setRemark("鍏紬鍙峰彂閫佸け璐�");
- log.error("鍏紬鍙峰彂閫佸け璐ワ細{}", e.getMessage());
- lssubIds.add(serviceSubtask.getId());
+ serviceSubtaskRecord.setRemark(ObjectUtils.isNotEmpty(map.get("msg")) ? map.get("msg").toString() : null);
serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+ //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+ setFailPreachForm(serviceSubtask, sendPreachform, "鍏紬鍙峰彂閫佸け璐�", "5");
continue;
}
- //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
- String uuid = UUID.randomUUID().toString();
- serviceSubtask.setResult("success");
- serviceSubtask.setRemark("鍏紬鍙峰彂閫佹垚鍔�");
- serviceSubtask.setGuid(uuid);
- serviceSubtask.setSendstate(3L);
- serviceSubtask.setFinishtime(new Date());
- serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
-
- //浠诲姟鍙戦�佽褰�
- ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
- serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
- serviceSubtaskRecord.setUuid(uuid);
- serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
- serviceSubtaskRecord.setPreachform("5");
- serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
- serviceSubtaskRecord.setResult("success");
- serviceSubtaskRecord.setRemark("鍏紬鍙峰彂閫佹垚鍔�");
- serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
}
- if (CollectionUtils.isEmpty(lssubIds)) {
- //濡傛灉鈥滀复鏃跺瓙浠诲姟鈥濅负绌猴紝璇存槑鍏ㄥ彂閫佸畬浜�
- isSend = true;
- }
- //灏嗗瓙浠诲姟ID娓呯┖锛屽皢鈥滀复鏃跺瓙浠诲姟鈥濇暟鎹� 鏀惧埌 鈥滃瓙浠诲姟鈥� 涓�
- subIds.clear();
- subIds.addAll(lssubIds);
- lssubIds.clear();
+ } catch (Exception e) {
+ ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+ serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+ serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
+ serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+ serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+ serviceSubtaskRecord.setPreachform("5");
+ serviceSubtaskRecord.setResult("fail");
+ serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+ serviceSubtaskRecord.setRemark("鍏紬鍙峰彂閫佸け璐�");
+ log.error("鍏紬鍙峰彂閫佸け璐ワ細{}", e.getMessage());
+ serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+ //澶辫触璁板綍
+ setFailPreachForm(serviceSubtask, sendPreachform, "鍏紬鍙峰彂閫佸け璐�", "5");
+ continue;
}
- //閫氱煡 MQ 娑堟伅宸茶鎺ユ敹,鍙互ACK(浠庨槦鍒椾腑鍒犻櫎)浜� 锛堣繖涓渶瑕佹牴鎹笟鍔″啀鍘诲鐞咥CK锛�
+ //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+ setFailPreachForm(serviceSubtask, sendPreachform, "鍏紬鍙峰彂閫佹垚鍔�", "2");
+ //浠诲姟鍙戦�佽褰�
+ ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+ serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+ serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+ serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+ serviceSubtaskRecord.setPreachform("5");
+ serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+ serviceSubtaskRecord.setResult("success");
+ serviceSubtaskRecord.setRemark("鍏紬鍙峰彂閫佹垚鍔�");
+ serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+
+ } else if (descByCode.equals("浜哄伐")) {
+ setFailPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
+ }else if (descByCode.equals("寰俊灏忕▼搴�")) {
+ setFailPreachForm(serviceSubtask, sendPreachform, "寰俊灏忕▼搴忓緟鎵ц", "2");
}
- if (CollectionUtils.isNotEmpty(subIds)) {
- //濡傛灉鍏ㄩ儴鐨勫彂閫佹柟寮忛兘鍙戝畬浜嗭紝杩樻湁鏄湭鍙戦�佺殑,闇�瑕佸幓subTask琛ㄤ腑锛岃褰曚竴涓嬶紝鍙戦�佸け璐�
- for (Long id : subIds) {
- ServiceSubtask serviceSubtask = new ServiceSubtask();
- serviceSubtask.setResult("error");
- serviceSubtask.setRemark("鍙戦�佸け璐�");
+ }
+
+ }
+
+ private Date getNextVisitTime(Long subid, Long taskid, Date visitTime, String currentPreachform) {
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setSubid(subid);
+ serviceSubtaskPreachform.setTaskid(taskid);
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+
+ if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
+ Optional<String> ct = serviceSubtaskPreachforms.stream().filter(item -> currentPreachform.equals(item.getPreachform())).map(ServiceSubtaskPreachform::getCompensateTime).findFirst();
+ String compensateTime = "0";
+ if (ct.isPresent()) compensateTime = ct.get();
+ int hoursToAdd = Integer.valueOf(compensateTime) * 24;
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(visitTime);
+ calendar.add(Calendar.HOUR_OF_DAY, hoursToAdd);
+ Date newDate = calendar.getTime();
+ return newDate;
+ }
+ return visitTime;
+ }
+
+ private String getSendPreachform(ServiceSubtaskPreachform serviceSubtaskPreachform, ServiceSubtask serviceSubtask) {
+ log.info("-----getSendPreachform鐨剆erviceSubtaskPreachform鍏ュ弬锛歿},------serviceSubtask:{}", serviceSubtaskPreachform, serviceSubtask);
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+
+ // 鎯呭喌1锛歝urrentPreachform涓虹┖锛屽彇sort涓�1鐨刾reachform
+ if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
+ return serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
+ }
+
+ // 鎯呭喌2锛歝urrentPreachform涓嶄负绌猴紝鎵句笅涓�涓猻ort
+ Optional<Long> currentSort = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getSort).findFirst();
+
+ if (currentSort.isPresent()) {
+ // 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9
+ boolean allSendStateNot1AndNot9 = serviceSubtaskPreachforms.stream().allMatch(item -> !item.getSendstate().equals("9"));
+
+ // 褰搒ort绛変簬鍒楄〃size鏃讹紝骞朵笖鎵�鏈塻endstate閮戒笉绛変簬9锛屽垯杩斿洖-1
+ if (currentSort.get().equals((long) serviceSubtaskPreachforms.size())) {
+ if (allSendStateNot1AndNot9) {
+ //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
serviceSubtask.setSendstate(5L);
- serviceSubtask.setId(id);
- serviceSubtask.setFinishtime(new Date());
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
}
+ return "-1";
}
+
+ // 褰搒ort绛変簬鍒楄〃size鏃讹紝涓嬩竴涓猻ort涓�-1
+ Long nextSort = currentSort.get() + 1;
+
+ // 鎵惧埌涓嬩竴涓猻ort瀵瑰簲鐨刾reachform
+ return serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
}
+ return null;
}
- // /**
-// * 鏈哄櫒浜虹涓�鍙ヨ瘽璇煶
-// * concurrency = "50" 骞跺彂鏁颁负50
-// */
-// @RabbitListener(queues = "ob_queue", concurrency = "50")
-// public void obVisit(String content, Message message, Channel channel) throws IOException {
-// try {
-// IvrTaskcallPhoneMQ commonTaskcallMQ = null;
-// ObjectMapper mapper = new ObjectMapper();
-// commonTaskcallMQ = mapper.readValue(content, IvrTaskcallPhoneMQ.class);
-// //鍒ゆ柇鎮h�呮槸鍚﹀凡缁忔帴鐢佃瘽
-// String str = redisCache.getCacheObject(commonTaskcallMQ.getUuid() + "state_id");
-// System.out.println("-----------------" + str);
-// if (StringUtils.isNotEmpty(str) && str.equals("0")) {
-// //鎮h�呭凡缁忔帴鍚簡鐢佃瘽
-// new PhoneUtils().ttsPlayback(commonTaskcallMQ.getScript(), commonTaskcallMQ.getUuid());
-// } else if (StringUtils.isNotEmpty(str) && str.equals("-10")) {
-// //杩欎釜璇存槑,宸茬粡鎵撲簡鎸囧畾閬嶆暟杩樻槸娌℃湁浜烘帴锛屽彲浠ュ皢娑堟伅浠庨槦鍒椾腑绉婚櫎浜�
-// channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
-// return;
-// } else {
-// //杩涜闃熷垪灏鹃儴锛岃繘琛屼笅涓�娆℃牎楠�
-//// channel.basicRecover(false);
-// channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
-// System.out.println("++++++++++++++++++++++" + str);
-// return;
-// }
-// //閫氱煡 MQ 娑堟伅宸茶鎺ユ敹,鍙互ACK(浠庨槦鍒椾腑鍒犻櫎)浜� 锛堣繖涓渶瑕佹牴鎹笟鍔″啀鍘诲鐞咥CK锛�
-// channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
-// } catch (Exception e) {
-// log.error("============娑堣垂澶辫触,灏濊瘯娑堟伅琛ュ彂鍐嶆娑堣垂!==============");
-// log.error(e.getMessage());
-// channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
-// }
-// }
- private String getKey() {
- Map<String, String> map = new HashMap<>();
- for (int i = 0; i < 6; i++) {
- Boolean aBoolean = redisCache.hasKey("cache-" + i);
- if (!aBoolean) {
- redisCache.setCacheObject("cache-" + i, "");
- map.put("cache-" + i, "");
- } else {
- map.put("cache-" + i, redisCache.getCacheObject("cache-" + i));
- }
+
+ /**
+ * @param serviceSubtask
+ * @param preachform
+ * @param remark
+ * @param failSendstate
+ * @return
+ */
+ public Boolean setFailPreachForm(ServiceSubtask serviceSubtask, String preachform, String remark, String failSendstate) {
+ log.info("^^^^^^^^^--------setFailPreachForm鐨勫叆鍙備负serviceSubtask锛歿} 锛宲reachform鍊间负锛歿}锛� failSendstate锛歿}", serviceSubtask, preachform, failSendstate);
+ if (preachform.equals("-1")) {
+ //璇存槑閮戒笉闇�瑕佹墽琛屼簡
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+ serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
+ serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
+ serviceSubtaskPreachform.setSendstate(failSendstate);
+ serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
+ return true;
}
- String key = null;
- String value = "";
- for (Map.Entry<String, String> entry : map.entrySet()) {
- if (StringUtils.isEmpty(value)) {
- value = entry.getValue();
- key = entry.getKey();
- } else {
- if (entry.getValue().split(",").length < value.split(",").length) {
- value = entry.getValue();
- key = entry.getKey();
+ //灏嗙姸鎬佽缃负澶辫触
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+ serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
+ serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
+ //鑾峰彇璇ユ偅鑰呯殑鍙戦�佹柟寮忔�绘暟
+ List<ServiceSubtaskPreachform> spSize = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+
+ serviceSubtaskPreachform.setPreachform(preachform);
+ //1:鏈彂閫佺姸鎬�
+ serviceSubtaskPreachform.setSendstate("1");
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+ //鐢佃瘽鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2锛屽洜涓猴紝鏁版嵁鍙兘鍗″湪闃熷垪閲屼簡(涔熸湁鍙兘娌℃湁鎷夊彇锛宻endstate=1,鎵�浠ュ鏋滄槸鐢佃瘽鐘舵�佸垽鏂璼erviceSubtaskPreachforms鏄笉鏄负绌�)
+ if (preachform.equals("3") && CollectionUtils.isEmpty(serviceSubtaskPreachforms)) {
+ serviceSubtaskPreachform.setSendstate("2");
+ serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+ }
+ if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
+ ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0);
+ serviceSubtaskPreachform1.setSendstate(failSendstate);
+ serviceSubtaskPreachform1.setRemark(remark);
+ serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
+ //濡傛灉褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡,骞朵笖鏈杩樻槸鍙戦�佸け璐ワ紝閭g洿鎺ュ皢serviceSubtask鐨剆endstate鐘舵�佹敼鎴�5灏辫浜�(鍏ㄥけ璐ヤ簡)
+ if (serviceSubtaskPreachform1.getSort() == spSize.size()) {
+ if (serviceSubtaskPreachform1.getSort() == spSize.size()) {
+ if (failSendstate.equals("4") || failSendstate.equals("5")) {
+ serviceSubtask.setCurrentPreachform(preachform);
+ serviceSubtask.setSendstate(5L);
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ return true;
+ }
}
}
+ } else {
+ log.error("銆怣Q涓鎮h�呮病鏈夋煡璇㈠埌灞炰簬浠栫殑鍙戦�佹柟寮忥紝subid锛歿},prechform:{},orgid:{}銆�", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid());
+ return false;
}
- return key;
+ log.info("^^^^^^^^^--------preachform鐨勫�间负锛歿}", preachform);
+ serviceSubtask.setCurrentPreachform(preachform);
+ serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
+ serviceSubtask.setSendstate(3L);
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ return true;
}
- private String getWXCode(String idcard, String url, String taskName, String taskDesc, String submitprompt) {
+ private String getKey() {
+ String targetKey = null;
+ long minSize = Long.MAX_VALUE;
+
+ for (int i = 1; i < 6; i++) {
+ String key = "cache-" + i;
+
+ // 鑾峰彇 list 鐨勯暱搴︼紙鍗� value 鐨勫厓绱犱釜鏁帮級
+ Long size = redisCache.getListSize(key);
+ if (size == null) {
+ size = 0L; // 濡傛灉 key 涓嶅瓨鍦紝璁や负鏄� 0
+ }
+
+ // 鍙栨渶灏忓��
+ if (size < minSize) {
+ minSize = size;
+ targetKey = key;
+ }
+ }
+ return targetKey;
+ }
+
+// private String getKey() {
+// Map<String, List> map = new HashMap<>();
+// for (int i = 0; i < 6; i++) {
+// Boolean aBoolean = redisCache.hasKey("cache-" + i);
+// if (!aBoolean) {
+// redisCache.setCacheList("cache-" + i, new ArrayList<String>());
+// map.put("cache-" + i, new ArrayList<String>());
+// } else {
+// map.put("cache-" + i, redisCache.getCacheObject("cache-" + i));
+// }
+// }
+//
+// String key = null;
+// List<String> value = new ArrayList<String>();
+// for (Map.Entry<String, List> entry : map.entrySet()) {
+// if (CollectionUtils.isEmpty(value)) {
+// value = entry.getValue();
+// key = entry.getKey();
+// } else {
+// value = entry.getValue();
+// key = entry.getKey();
+// }
+// }
+// return key;
+// }
+
+ private String getWXCode(String idcard, String url, String taskName, String taskDesc, String phone, String patientname, String setPatientid, List<String> wxqqxx) {
XinHuaWXReq xinHuaWXReq = new XinHuaWXReq();
xinHuaWXReq.setIdcard(idcard);
xinHuaWXReq.setUrl(url);
- xinHuaWXReq.setKeyword1("娴欎腑鍖诲ぇ浜岄櫌鍑洪櫌闅忚");
- xinHuaWXReq.setKeyword2(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- xinHuaWXReq.setKeyword3(taskName);
- xinHuaWXReq.setKeyword4("鐤剧梾搴峰娉ㄦ剰浜嬮」");
+ xinHuaWXReq.setPatientid(setPatientid);
+ xinHuaWXReq.setPatientname(patientname);
+ xinHuaWXReq.setMobile(phone);
+ xinHuaWXReq.setMedcardno(null);
+ xinHuaWXReq.setTitlename(taskName);
+ xinHuaWXReq.setContent(taskDesc);
+ xinHuaWXReq.setAppid(wxqqxx.get(1));
+ log.error("-----寰俊鍏紬鍙风殑鍑哄弬涓�----锛歿}", xinHuaWXReq);
+// new Gson().toJson(xinHuaWXReq);
+ GsonBuilder gb = new GsonBuilder();
+ gb.disableHtmlEscaping();
+ String body = gb.create().toJson(xinHuaWXReq);
- String result = HttpUtils.sendPost(thirdWXUrl, new Gson().toJson(xinHuaWXReq));
+ log.error("encode鐨勫叆鍙備负wxqqxx 锛歿}, body:{}", wxqqxx.get(2), body);
+ String encode = encode(wxqqxx.get(2).concat(body));
+ log.error("--------encode鐨勫�间负锛歿}-----", encode);
+ Map<String, String> headerMap = new HashMap<>();
+ headerMap.put("sign", encode);
+ String result = HttpUtils.sendPostByHeader(wxqqxx.get(3), body, headerMap);
+ log.error("--------result鐨勫�间负锛歿}-----", result);
+
JSONObject jsonObject = JSONObject.parseObject(result);
String code = (String) jsonObject.toString();
return code;
}
+
+ 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<>();
+ Map<String, Object> DuanXinXX = new LinkedHashMap<>();
+ DuanXinXX.put("ShouJiHM", ShouJiHM);
+ DuanXinXX.put("FaSongNR", FaSongNR);
+ DuanXinXX.put("FaSongRID", FaSongRID);
+ DuanXinXX.put("FaSongRXM", FaSongRXM);
+ YeWuXX.put("DuanXinXX", DuanXinXX);
+
+ map.put("XiaoXiTou", headerMap);
+ map.put("YeWuXX", YeWuXX);
+
+ String body = new Gson().toJson(map);
+
+// 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);
+ String code = (String) jsonObject.toString();
+ return code;
+ }
+
+
+ public String encode(String arg) {
+ if (arg == null) {
+ arg = "";
+ }
+ MessageDigest md5 = null;
+ try {
+ md5 = MessageDigest.getInstance("MD5");
+ md5.update(arg.getBytes("UTF-8"));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return toHex(md5.digest());
+ }
}
--
Gitblit v1.9.3