From 0afac42fb2e9d6e5291304dd0044ce3042b45d2b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 10 十月 2026 15:09:14 +0800
Subject: [PATCH] 短信模块提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 105 +++++++++++++++++++---------------------------------
1 files changed, 39 insertions(+), 66 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index bcca0f4..7462cd2 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -9,17 +9,20 @@
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.core.service.IConfigService;
-import com.ruoyi.common.dx.MessageSend;
-import com.ruoyi.common.enums.WxGZHEnum;
+import com.ruoyi.message.sms.provider.sltd.ws.MessageSend;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.*;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.message.SendResult;
+import com.ruoyi.message.sms.SmsSendRequest;
+import com.ruoyi.message.sms.SmsSenderFactory;
+import com.ruoyi.message.wechat.WechatSendRequest;
+import com.ruoyi.message.wechat.WechatSenderFactory;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.common.FtpService;
-import com.smartor.common.MtSubmitSmUtil;
import com.smartor.common.ScheduleSubtaskBuilder;
import com.smartor.config.PhoneUtils;
import com.smartor.domain.DTO.*;
@@ -165,10 +168,16 @@
private ISysConfigService configService;
@Autowired
- private MtSubmitSmUtil mtSubmitSmUtil;
+ private SysConfigMapper sysConfigMapper;
+
+ /**
+ * 娑堟伅鍙戦�佹柟宸ュ巶锛堢煭淇�/寰俊鍏紬鍙凤級锛屾浛浠e師鏉ョ洿鎺ヨ皟鐢ㄥ悇绔欑偣鍙戦�佷唬鐮佺殑鍐欐硶
+ */
+ @Autowired
+ private SmsSenderFactory smsSenderFactory;
@Autowired
- private SysConfigMapper sysConfigMapper;
+ private WechatSenderFactory wechatSenderFactory;
@Autowired
private RedisTemplate redisTemplate;
@@ -190,9 +199,6 @@
@Value("${req_path}")
private String req_path;
-
- @Value("${xhsmsPath}")
- private String xhsmsPath;
@Value("${phoneUpEveryHour}")
private Integer phoneUpEveryHour;
@@ -4213,10 +4219,8 @@
serviceOutPath.setUpdateTime(new Date());
serviceOutPath.setUrl(url);
iServiceOutPathService.updateServiceOutPath(serviceOutPath);
- Map<String, String> map = new HashMap<>();
- map.put("phone", serviceSubtask.getPhone());
- map.put("content", sendMagParam.getContent());
- HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(map));
+ //鐭俊鍙戦�佸凡鏀跺彛鍒� ruoyi-message 妯″潡锛涗笌鍘熷疄鐜颁竴鑷达細涓嶅垽鏂彂閫佺粨鏋�
+ smsSenderFactory.send(active, SmsSendRequest.of(serviceSubtask.getPhone(), sendMagParam.getContent(), serviceSubtask.getOrgid()));
redisCache.setCacheObject(subTaskId + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES);
if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�");
@@ -5172,9 +5176,11 @@
sendMagParam.setContent(smsContemt.replace("${wjurl}", sendMagParam.getUrl()));
}
+ //鐭俊鍙戦�侊細鍚勭珯鐐瑰鎺ユ柟寮忓樊寮傝緝澶э紝宸叉敹鍙e埌 ruoyi-message 妯″潡
if (active.equals("nhfy")) {
- Map<String, Object> smsResult = mtSubmitSmUtil.submitSm(sendMagParam.getPhone(), sendMagParam.getContent());
- if (smsResult != null && smsResult.get("result") != null && smsResult.get("result").toString().equals("0")) {
+ SendResult smsResult = smsSenderFactory.send(active,
+ SmsSendRequest.of(sendMagParam.getPhone(), sendMagParam.getContent(), serviceSubtask.getOrgid()));
+ if (smsResult.isOk()) {
resultMap.put("code", "200");
resultMap.put("msg", "鍙戦�佹垚鍔�");
serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ";鐭俊鍙戦�佹垚鍔�(鎵嬪姩鎻愪氦)" : "鐭俊鍙戦�佹垚鍔�(鎵嬪姩鎻愪氦)");
@@ -5220,35 +5226,33 @@
iServiceOutPathService.updateServiceOutPath(serviceOutPath);
- //鑾峰彇寰俊鍏紬鍙疯姹備俊鎭牴鎹満鏋処D
- List<String> wxqqxx = WxGZHEnum.getDescByCode(serviceSubtask.getOrgid());
- if (CollectionUtils.isEmpty(wxqqxx) || wxqqxx.size() < 4) {
- resultMap.put("code", -1);
- resultMap.put("message", "鍙戦�佸紓甯革細" + "銆愬叕浼楀彿銆戣鏈烘瀯鐨勫叕浼楀彿閰嶇疆淇℃伅涓嶅叏锛屾棤娉曢�氳繃鍏紬鍙峰彂閫�");
- return resultMap;
- }
-
+ //his鎮h�卛d鏍¢獙锛堜笌鍘熷疄鐜颁竴鑷达細鍏堟牎楠岃繖涓�椤癸級
if (StringUtils.isEmpty(serviceSubtask.getPatidHis())) {
resultMap.put("code", -1);
resultMap.put("message", "鍙戦�佸紓甯革細" + "銆愬叕浼楀彿銆戝叕浼楀彿鍙戦�佸け璐�,his绯荤粺鐨勬偅鑰卛d涓虹┖");
return resultMap;
}
- String wxCode = "";
- wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), serviceSubtask.getSendname(), patArchive.getPatidHis(), wxqqxx);
- Map map = JSONObject.parseObject(wxCode, Map.class);
- Boolean wxCodeSuccess = false;
- if (!map.isEmpty() && map.get("succ") != null) {
- wxCodeSuccess = (boolean) map.get("succ");
- }
+
+ //鏈烘瀯閰嶇疆鏍¢獙銆佹姤鏂囩鍚嶄笌杩斿洖鍒ゅ畾鍧囧凡鏀跺彛鍒� ruoyi-message 鐨勫彂閫佹柟瀹炵幇
+ WechatSendRequest wechatRequest = new WechatSendRequest();
+ wechatRequest.setOrgid(serviceSubtask.getOrgid());
+ wechatRequest.setIdCard(serviceSubtask.getSfzh());
+ wechatRequest.setUrl(url);
+ wechatRequest.setTitle(serviceSubtask.getTaskName());
+ wechatRequest.setContent(serviceSubtask.getTaskDesc());
+ wechatRequest.setPhone(patArchive.getTelcode());
+ wechatRequest.setPatientName(serviceSubtask.getSendname());
+ wechatRequest.setPatidHis(patArchive.getPatidHis());
+ SendResult wechatResult = wechatSenderFactory.send(active, wechatRequest);
//鍙戦�佸畬鎴愬悗锛屼慨鏀圭姸鎬�
serviceSubtask.setSendstate(3L);
- if (wxCodeSuccess) {
+ if (wechatResult.isOk()) {
serviceSubtask.setResult("success");
resultMap.put("code", "200");
resultMap.put("msg", "鍙戦�佹垚鍔�");
} else {
- log.error("銆恠fHandlle銆戝叕浼楀彿鍙戦�佸け璐ワ紝鎮h�呬俊鎭細{}锛岄敊璇俊鎭細{}", serviceSubtask, map.get("msg"));
+ log.error("銆恠fHandlle銆戝叕浼楀彿鍙戦�佸け璐ワ紝鎮h�呬俊鎭細{}锛岄敊璇俊鎭細{}", serviceSubtask, wechatResult.getMessage());
resultMap.put("code", -1);
resultMap.put("message", "銆愬叕浼楀彿銆戝叕浼楀彿鍙戦�佸け璐�");
return resultMap;
@@ -6814,39 +6818,8 @@
return list;
}
- private String getWXCode(String idcard, String url, String taskName, String taskDesc, String phone, String setPatientname, String setPatientid, List<String> wxqqxx) {
- XinHuaWXReq xinHuaWXReq = new XinHuaWXReq();
- xinHuaWXReq.setIdcard(idcard);
- xinHuaWXReq.setUrl(url);
- xinHuaWXReq.setPatientid(setPatientid);
- xinHuaWXReq.setPatientname(setPatientname);
- xinHuaWXReq.setMobile(phone);
- xinHuaWXReq.setMedcardno(null);
- xinHuaWXReq.setTitlename(taskName);
- xinHuaWXReq.setContent(taskDesc);
- xinHuaWXReq.setAppid(wxqqxx.get(1));
- log.info("銆恎etWXCode銆戝井淇″叕浼楀彿璇锋眰鍙傛暟锛歿}", xinHuaWXReq);
- String body = new Gson().toJson(xinHuaWXReq);
- String encode = encode(wxqqxx.get(2).concat(body));
- Map<String, String> headerMap = new HashMap<>();
- headerMap.put("sign", encode);
- String result = HttpUtils.sendPostByHeader(wxqqxx.get(3), body, headerMap);
- log.info("銆恎etWXCode銆戝井淇″叕浼楀彿杩斿洖鍙傛暟锛歿}", 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());
- }
+ // ---------------------------------------------------------------------
+ // 璇存槑锛氬師绉佹湁 getWXCode / encode 宸查殢鍙戦�佹柟涓�璧锋敹鍙e埌 ruoyi-message 妯″潡
+ // 锛圶inHuaMpApi锛夛紝姝ゅ宸插垹闄わ紝閬垮厤涓変唤鎷疯礉鍚勫啓涓�濂楃鍚嶉�昏緫銆�
+ // ---------------------------------------------------------------------
}
--
Gitblit v1.9.3