| ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTelInfoController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/tools/BaseSmsaccountController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/SmsUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -16,7 +16,7 @@ import com.ruoyi.common.utils.*; import com.ruoyi.common.utils.http.HttpUtils; import com.ruoyi.common.utils.sign.Md5Utils; import com.ruoyi.common.utils.sms.smsUtils; import com.ruoyi.common.utils.sms.SmsUtils; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.system.service.ISysConfigService; @@ -691,7 +691,7 @@ } String wxCode = ""; if (active.equals("hzszlyy")) { wxCode = smsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh()); wxCode = SmsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh()); log.info("wxCodeçå¼ä¸º:{}", wxCode); } else { wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskName(), patArchive.getTelcode(), patArchive.getName(), patArchive.getPatidHis(), wxqqxx); ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
@@ -3,13 +3,15 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import com.ruoyi.common.annotation.AddOrgId; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.dx.MessageSend; import com.ruoyi.common.utils.HttpUtil; import com.ruoyi.common.utils.RSAPublicKeyExample; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.http.HttpUtils; import com.ruoyi.common.utils.sms.smsUtils; import com.ruoyi.common.utils.sms.SmsUtils; import com.ruoyi.system.service.ISysConfigService; import com.smartor.common.MtSubmitSmUtil; import com.smartor.common.ShiyiSmsUtil; import com.smartor.domain.*; @@ -71,6 +73,8 @@ private IServiceOutPathService iServiceOutPathService; @Autowired private IServiceSubtaskService iServiceSubtaskService; @Autowired private ISysConfigService configService; @Value("${spring.profiles.active}") private String active; @@ -82,7 +86,7 @@ @ApiOperation("çä¿¡åé") @PostMapping("/sendTest") public AjaxResult send(@RequestBody smsVO vo) { String sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), vo.getContent()); String sendMsg = SmsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), vo.getContent()); return AjaxResult.success(sendMsg); } @@ -138,7 +142,7 @@ String sendMsg = "false"; try { if (active.equals("hzszlyy")) { sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content); sendMsg = SmsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content); } else if (active.equals("nhfy")) { Map<String, Object> smsResult = mtSubmitSmUtil.submitSm(vo.getPhone(), content); if (smsResult != null && smsResult.get("result") != null && smsResult.get("result").toString().equals("0")) { @@ -223,7 +227,7 @@ serviceOutPath.setOrgid(vo.getOrgid()); iServiceOutPathService.insertServiceOutPath(serviceOutPath); String url = StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/wt?p=" + format : ip + "/wt?p=" + format; sendMsg = smsUtils.sendChat(url, vo.getPhone(), vo.getIdCard()); sendMsg = SmsUtils.sendChat(url, vo.getPhone(), vo.getIdCard()); } return AjaxResult.success(sendMsg); } @@ -265,4 +269,19 @@ return AjaxResult.success(content); } /** * @param * @return */ @ApiOperation("çä¿¡åé") @AddOrgId @PostMapping("/sendYunMasSms") public AjaxResult sendYunMasSms(@RequestBody smsVO vo) throws Exception { // String yunMasConfig = configService.selectConfigByKey("ls.msg.yunmas",vo.getOrgid()); SmsUtils.YunMasConfig yunMasConfig = new SmsUtils.YunMasConfig(); SmsUtils.SmsResult smsResult = SmsUtils.sendYunMasSms(yunMasConfig, vo.getPhone(), vo.getContent()); return AjaxResult.success(smsResult); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTelInfoController.java
@@ -1,7 +1,7 @@ package com.ruoyi.web.controller.smartor; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.sms.smsUtils; import com.ruoyi.common.utils.sms.SmsUtils; import com.smartor.domain.smsVO; import com.smartor.service.IServiceTaskoperService; import com.smartor.service.IServiceTelInfoService; ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/tools/BaseSmsaccountController.java
@@ -11,7 +11,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.sms.smsUtils; import com.ruoyi.common.utils.sms.SmsUtils; import com.smartor.common.MtSubmitSmUtil; import com.smartor.domain.BaseSmsRequest; import com.smartor.domain.BaseSmsaccount; @@ -135,7 +135,7 @@ try { JSONObject jsTemp = JSON.parseObject(baseSmsRequest.getTemplateParam()); String content = jsTemp.getString("name"); sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, baseSmsRequest.getPhoneNumber(), content); sendMsg = SmsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, baseSmsRequest.getPhoneNumber(), content); } catch (Exception ex) { return AjaxResult.error(ex.getMessage()); } ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpUtil.java
@@ -95,7 +95,26 @@ return httpClient; } /** * jsonçpost请æ±ï¼åªå ³å¿æ¯å¦æåï¼é200ç´æ¥æå¼å¸¸ï¼ * * @param url 请æ±url * @param request è¯·æ±æ¥æ * @return åºå®è¿åtrueï¼httpç¶æé200伿HttpRequestExceptionï¼ */ public static Boolean postJsonRequest(String url, String request) throws HttpRequestException { postJsonRequestForString(url, request); return true; } /** * jsonçpost请æ±ï¼è¿åååºæ¥æå 容ï¼ç¨äºéè¦è§£æè¿åç çåºæ¯ï¼å¦äºMASçä¿¡ï¼ * * @param url 请æ±url * @param request è¯·æ±æ¥æ * @return ååºæ¥æå 容 */ public static String postJsonRequestForString(String url, String request) throws HttpRequestException { Assert.hasLength(url, "请æ±urlä¸è½ä¸ºç©ºå符串ã"); EntityEnclosingMethod httpMethod = new PostMethod(url); @@ -132,8 +151,9 @@ String respJson = stringBuffer.toString(); // String respJson = httpMethod.getResponseBodyAsString(); if (resultCode == OK) { return true; return respJson; } else { log.warn("ãpostJsonRequestForStringã请æ±å¤±è´¥ï¼urlï¼{}ï¼ç¶æç ï¼{}ï¼ååºï¼{}", url, resultCode, respJson); throw new HttpRequestException(resultCode, respJson); } } catch (UnsupportedEncodingException e) { ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/SmsUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,336 @@ package com.ruoyi.common.utils.sms; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; import com.ruoyi.common.utils.HttpUtil; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.http.HttpUtils; import com.ruoyi.common.utils.sign.Md5Utils; import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * çä¿¡åéå·¥å ·ç±» * * @author ruoyi */ @Slf4j public final class SmsUtils { private SmsUtils() { } /** * äºMAS æ¯æ¹æ¬¡æå¤ææºå·æ°é */ private static final int YUNMAS_MAX_MOBILES = 5000; /** * äºMAS è¿åç 说æ */ private static final Map<String, String> YUNMAS_RSPCOD_DESC = new HashMap<>(); static { YUNMAS_RSPCOD_DESC.put("success", "æ°æ®éªè¯éè¿"); YUNMAS_RSPCOD_DESC.put("IllegalMac", "macæ ¡éªä¸éè¿"); YUNMAS_RSPCOD_DESC.put("IllegalSignId", "æ æçç¾åç¼ç "); YUNMAS_RSPCOD_DESC.put("InvalidMessage", "éæ³æ¶æ¯ï¼è¯·æ±æ°æ®è§£æå¤±è´¥"); YUNMAS_RSPCOD_DESC.put("InvalidUsrOrPwd", "éæ³ç¨æ·å/å¯ç "); YUNMAS_RSPCOD_DESC.put("NoSignId", "æªå¹é å°å¯¹åºçç¾åä¿¡æ¯"); YUNMAS_RSPCOD_DESC.put("TooManyMobiles", "ææºå·æ°éè¶ é(>5000)"); } /** * äºMAS æ¥å£é ç½®ã * <p> * 注æï¼secretKey åªåä¸ mac 计ç®ï¼ä¸è½æ¾è¿è¯·æ±æ¥æã */ @Data public static class YunMasConfig { /** * æ¥å£å°å */ private String url; /** * ä¼ä¸åç§° */ private String ecName; /** * æ¥å£è´¦å·ç¨æ·å */ private String apId; /** * å¯é¥ï¼ä» åä¸ mac 计ç®ï¼ */ private String secretKey; /** * ç¾åç¼ç */ private String sign; /** * æ©å±ç ï¼ç²¾ç¡®å¹é 填空åç¬¦ä¸²ï¼æ¨¡ç³å¹é å¯å¡«ç©ºå符串æèªå®ä¹æ©å±ç ï¼ä¸æå¡ä»£ç å计ä¸è¶ è¿20ä½ï¼ */ private String addSerial; public String getAddSerial() { return addSerial == null ? "" : addSerial; } /** * 丽水å¦å¹¼é»è®¤é ç½®ï¼æªå¨ sys_config ä¸é ç½®æ¶ä½¿ç¨ï¼ */ public static YunMasConfig defaultLishui() { YunMasConfig config = new YunMasConfig(); config.setUrl("http://9.208.5.35:1992/sms/norsubmit"); config.setEcName("丽水å¸å¦å¹¼ä¿å¥é¢"); config.setApId("dxjkkf"); config.setSecretKey("1q2w3e4r5t6y"); config.setSign("D9gKbwdt7"); config.setAddSerial(""); return config; } /** * æ ¹æ®é ç½®å 容ï¼jsonï¼æå»ºï¼æªé ç½®çåæ®µæ²¿ç¨é»è®¤å¼ * * @param configJson å½¢å¦ {"url":"...","ecName":"...","apId":"...","secretKey":"...","sign":"...","addSerial":""} */ public static YunMasConfig of(String configJson) { YunMasConfig config = defaultLishui(); if (StringUtils.isEmpty(configJson)) { return config; } JSONObject json; try { json = JSON.parseObject(configJson); } catch (Exception e) { log.error("ãäºMASãé 置解æå¤±è´¥ï¼ä½¿ç¨é»è®¤é ç½®ï¼é ç½®å 容ï¼{}", configJson, e); return config; } if (json == null) { return config; } if (StringUtils.isNotEmpty(json.getString("url"))) { config.setUrl(json.getString("url")); } if (StringUtils.isNotEmpty(json.getString("ecName"))) { config.setEcName(json.getString("ecName")); } if (StringUtils.isNotEmpty(json.getString("apId"))) { config.setApId(json.getString("apId")); } if (StringUtils.isNotEmpty(json.getString("secretKey"))) { config.setSecretKey(json.getString("secretKey")); } if (StringUtils.isNotEmpty(json.getString("sign"))) { config.setSign(json.getString("sign")); } if (json.containsKey("addSerial")) { config.setAddSerial(json.getString("addSerial")); } return config; } /** * å ³é®åæ°æ¯å¦é½å ¨ */ public boolean isValid() { return StringUtils.isNotEmpty(url) && StringUtils.isNotEmpty(ecName) && StringUtils.isNotEmpty(apId) && StringUtils.isNotEmpty(secretKey) && StringUtils.isNotEmpty(sign); } } /** * çä¿¡åéç»æ */ @Data public static class SmsResult { /** * å¹³å°è¿åçç¶æç ï¼success è¡¨ç¤ºæ ¡éªéè¿ï¼ */ private String rspcod; /** * æ¶æ¯æ¹æ¬¡å·ï¼å¤±è´¥æ¶ä¸ºç©º */ private String msgGroup; /** * å¹³å°è¿åçæ°æ®æ ¡éªç»æ */ private boolean success; /** * æ¬å°å¼å¸¸/失败æè¿°ï¼ä¾¿äºææ¥ */ private String message; /** * æ¯å¦åéæåï¼å¹³å°æ ¡éªéè¿ï¼ */ @JSONField(serialize = false, deserialize = false) public boolean isOk() { return success && "success".equals(rspcod); } public static SmsResult fail(String message) { SmsResult result = new SmsResult(); result.setSuccess(false); result.setMessage(message); return result; } } /** * æå·å¸ä¸å»é¢å´å±±é¢åºæçä¿¡æ¥å£ * * @param url çä¿¡URL * @param userName çä¿¡å¸å· * @param passWord çä¿¡å¯ç * @param phone ææºå·ç»åå¦ 13500000001,13500000002 * @param content çä¿¡å 容 * @return åéç»æ */ public static String sendSms(String url, String userName, String passWord, String phone, String content) { long timestamp = new Date().getTime(); String sign = Md5Utils.hash(userName + timestamp + Md5Utils.hash(passWord)); content = "ãæå·å¸è¿ç¤å»é¢ã" + content; String jsonMsg = "{" + "\"userName\": \"" + userName + "\"," + "\"content\": \"" + content + "\"," + "\"phoneList\": [" + phone + "]," + "\"timestamp\": " + timestamp + "," + "\"sign\": \"" + sign + "\"" + "}"; Boolean sendMsg = HttpUtil.postJsonRequest(url, jsonMsg); return sendMsg.toString(); } /** * æå·å¸ä¸å»é¢æ¹æ»¨é¢åºæçä¿¡æ¥å£ * * @param url çä¿¡URL * @param userName çä¿¡å¸å· * @param passWord çä¿¡å¯ç * @param phone ææºå·ç»åå¦ 13500000001,13500000002 * @param content çä¿¡å 容 * @return åéç»æ */ public static String sendSms1(String url, String userName, String passWord, String phone, String content) { long timestamp = new Date().getTime(); String sign = Md5Utils.hash(userName + timestamp + Md5Utils.hash(passWord)); content = "ãæå·å¸ç¬¬ä¸äººæ°å»é¢ã" + content; String jsonMsg = "{" + "\"userName\": \"" + userName + "\"," + "\"content\": \"" + content + "\"," + "\"phoneList\": [" + phone + "]," + "\"timestamp\": " + timestamp + "," + "\"sign\": \"" + sign + "\"" + "}"; Boolean sendMsg = HttpUtil.postJsonRequest(url, jsonMsg); return sendMsg.toString(); } /** * ä¸å½ç§»å¨äºMAS æ®éçä¿¡åéï¼ä¸å¯¹ä¸/å¤å¯¹ä¸æ¨¡å¼ï¼ * <p> * æ¥å£ï¼POST {url}ï¼æ¥æä¸º json ç base64 ç¼ç ã * <ul> * <li>mac æ ecNameãapIdãsecretKeyãmobilesãcontentãsignãaddSerial é¡ºåºæ¼æ¥åå MD5ï¼32ä½å°åï¼</li> * <li>secretKey åªåä¸ mac 计ç®ï¼ä¸æ¾è¿è¯·æ±æ¥æ</li> * <li>ç¾åç±å¹³å°æ ¹æ® sign ç¼ç èªå¨è¿½å ï¼content ä¸ä¸è¦åæå·¥æ¼ãç¾åã</li> * </ul> * * @param config äºMAS é ç½® * @param mobiles æ¶ä¿¡ææºå·ï¼è±æéå·åéï¼å¦ 13800138000,13800138001ï¼æ¯æ¹ä¸è¶ è¿ 5000 个 * @param content çä¿¡å 容ï¼mac ç¨æç»å 容计ç®ï¼è®¡ç®åä¸å¾åä¿®æ¹ï¼ * @return åéç»æï¼éè¿ {@link SmsResult#isOk()} 夿æ¯å¦æå */ public static SmsResult sendYunMasSms(YunMasConfig config, String mobiles, String content) { if (config == null || !config.isValid()) { return SmsResult.fail("äºMASé ç½®ä¸å®æ´"); } if (StringUtils.isEmpty(mobiles)) { return SmsResult.fail("æ¶ä¿¡ææºå·ä¸è½ä¸ºç©º"); } if (StringUtils.isEmpty(content)) { return SmsResult.fail("çä¿¡å 容ä¸è½ä¸ºç©º"); } if (mobiles.split(",").length > YUNMAS_MAX_MOBILES) { return SmsResult.fail("ææºå·æ°éè¶ é(>" + YUNMAS_MAX_MOBILES + ")"); } String addSerial = config.getAddSerial(); // 1. mac å¿ é¡»ç¨æ¥æéæç»åéçå å®¹è®¡ç® String mac = Md5Utils.hash(config.getEcName() + config.getApId() + config.getSecretKey() + mobiles + content + config.getSign() + addSerial); // 2. ç¨ json ç»è£ æ¥æï¼é¿å å 容ä¸çå¼å·/åææ ç ´åæ¥æï¼secretKey ä¸è½æ¥æ JSONObject body = new JSONObject(true); body.put("ecName", config.getEcName()); body.put("apId", config.getApId()); body.put("mobiles", mobiles); body.put("content", content); body.put("sign", config.getSign()); body.put("addSerial", addSerial); body.put("mac", mac); String requestBody = Base64.getEncoder() .encodeToString(body.toJSONString().getBytes(StandardCharsets.UTF_8)); try { String resp = HttpUtil.postJsonRequestForString(config.getUrl(), requestBody); log.info("ãäºMASãåéçä¿¡ï¼ææºå·ï¼{}ï¼ååºï¼{}", mobiles, resp); if (StringUtils.isEmpty(resp)) { return SmsResult.fail("äºMASååºä¸ºç©º"); } SmsResult result = JSON.parseObject(resp, SmsResult.class); if (result == null) { return SmsResult.fail("äºMASååºè§£æå¤±è´¥ï¼" + resp); } if (!result.isOk()) { String desc = YUNMAS_RSPCOD_DESC.getOrDefault(result.getRspcod(), "æªç¥é误"); result.setMessage(desc); log.error("ãäºMASãåéå¤±è´¥ï¼ææºå·ï¼{}ï¼rspcodï¼{}ï¼{}ï¼ï¼ååºï¼{}", mobiles, result.getRspcod(), desc, resp); } return result; } catch (Exception e) { log.error("ãäºMASãåéå¼å¸¸ï¼ææºå·ï¼{}ï¼åå ï¼{}", mobiles, e.getMessage(), e); return SmsResult.fail("äºMASåéå¼å¸¸ï¼" + e.getMessage()); } } /** * æå·å¸ä¸å»é¢å´å±±é¢åºå¾®ä¿¡æ¥å£ * * @param url 微信URL * @param phone ææºå· 13500000001 * @param idCard èº«ä»½è¯ * @return åéç»æ */ public static String sendChat(String url, String phone, String idCard) { String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + idCard + "&title=æ¨å¥½ï¼é请æ¨å¡«ååºé¢è°æ¥è¡¨ï¼è¯·ç¹å»å¡«åã&content=å¾ é访&phone=" + phone + "&url=" + url + "&key=ff76f8904f5f32b5ee1739e8ea46e60g"; String sendMsg = ""; try { log.info("ãsendChatãå¸ä¸å¾®ä¿¡å ¬ä¼å·è¯·æ±åæ°ï¼{}", urlTemp); sendMsg = HttpUtils.sendPost(urlTemp); log.info("ãsendChatãå¸ä¸å¾®ä¿¡å ¬ä¼å·è¿åå¼ï¼{}", sendMsg); } catch (Exception ex) { sendMsg = ex.getMessage(); log.error(ex.getMessage()); } return sendMsg; } } ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java
ÎļþÒÑɾ³ý ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -17,7 +17,7 @@ import com.ruoyi.common.enums.WxGZHEnum; import com.ruoyi.common.utils.*; import com.ruoyi.common.utils.http.HttpUtils; import com.ruoyi.common.utils.sms.smsUtils; import com.ruoyi.common.utils.sms.SmsUtils; import com.ruoyi.quartz.service.ICollectHISService; import com.ruoyi.quartz.util.CreateDataTable; import com.ruoyi.system.domain.SysConfig; @@ -1003,6 +1003,24 @@ } /** * ææºææ¥è¯¢é ç½®å¼ï¼åä¸ key å¨ä¸åæºæä¸å¯é ç½®ä¸åå¼ï¼ * * @param configKey é ç½®key * @param orgid æºæID * @return é ç½®å¼ï¼æªé ç½®è¿å null */ private String getConfigValue(String configKey, String orgid) { SysConfig query = new SysConfig(); query.setConfigKey(configKey); query.setOrgid(orgid); List<SysConfig> sysConfigs = configService.selectConfigList(query); if (CollectionUtils.isNotEmpty(sysConfigs)) { return sysConfigs.get(0).getConfigValue(); } return null; } /** * é访-è¡¥å¿å¤ç * * @param serviceSubtask @@ -1210,33 +1228,48 @@ // String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid()); // //丽水ççä¿¡åéæ¹å¼ // Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid()); SysConfig config = new SysConfig(); config.setConfigKey("ls.msg.info"); config.setOrgid(serviceSubtask.getOrgid()); List<SysConfig> sysConfigs = configService.selectConfigList(config); Map<String, String> msgInfo = new HashMap<>(); if (CollectionUtils.isNotEmpty(sysConfigs)) { String configValue = sysConfigs.get(0).getConfigValue(); if ("47226079133110211G1001".equals(serviceSubtask.getOrgid())) { // å¦å¹¼ä¸å½ç§»å¨äºMASï¼ä¸ä¾èµ ls.msg.info ä¸ token SmsUtils.YunMasConfig yunMasConfig = SmsUtils.YunMasConfig.of(getConfigValue("ls.msg.yunmas", serviceSubtask.getOrgid())); SmsUtils.SmsResult smsResult = SmsUtils.sendYunMasSms(yunMasConfig, sendMagParam.getPhone(), sendMagParam.getContent()); log.info("ãsfHandlleãäºMASçä¿¡åéç»æï¼ok={}ï¼rspcod={}ï¼msgGroup={}ï¼message={}", smsResult.isOk(), smsResult.getRspcod(), smsResult.getMsgGroup(), smsResult.getMessage()); if (smsResult.isOk()) { isSuccess = "true"; } else { log.error("ãsfHandlleãäºMASçä¿¡åé失败ï¼subidï¼{}ï¼ææºå·ï¼{}ï¼åå ï¼{}", serviceSubtask.getId(), sendMagParam.getPhone(), smsResult.getMessage()); } } else { SysConfig config = new SysConfig(); config.setConfigKey("ls.msg.info"); config.setOrgid(serviceSubtask.getOrgid()); List<SysConfig> sysConfigs = configService.selectConfigList(config); Map<String, String> msgInfo = new HashMap<>(); if (CollectionUtils.isNotEmpty(sysConfigs)) { String configValue = sysConfigs.get(0).getConfigValue(); ObjectMapper objectMapper = new ObjectMapper(); if (StringUtils.isNotEmpty(configValue)) { msgInfo = objectMapper.readValue(configValue, Map.class); } } log.info("-----------mapçå¼ä¸ºï¼{}", msgInfo); if (ObjectUtils.isEmpty(msgInfo) || StringUtils.isEmpty(msgInfo.get("address"))) { setSuccessPreachForm(serviceSubtask, sendPreachform, "çä¿¡åé失败,è¯¥æºææ²¡æé ç½®çä¿¡å°å, æ¶é´:" + now, "5"); return; } String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(), msgInfo.get("tokenUrl")); log.info("ãsfHandlleã丽水çä¿¡åéï¼å°åï¼{}ï¼åæ°ï¼{}ï¼æºæIDï¼{}", msgInfo.get("address"), sendMagParam, serviceSubtask.getOrgid()); String dxCode = getDXCode(msgInfo.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), msgInfo.get("sendPersonId"), msgInfo.get("sendPersonName"), MsgLSEnum.getHeaderByCode(msgInfo), token); log.info("ãsfHandlleã丽水çä¿¡åéç»æï¼{}", dxCode); ObjectMapper objectMapper = new ObjectMapper(); if (StringUtils.isNotEmpty(configValue)) { msgInfo = objectMapper.readValue(configValue, Map.class); Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class); String code = textParam.get("Code").toString(); if (code.equals("0")) { isSuccess = "true"; } } log.info("-----------mapçå¼ä¸ºï¼{}", msgInfo); String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(), msgInfo.get("tokenUrl")); if (ObjectUtils.isNotEmpty(msgInfo) && StringUtils.isEmpty(msgInfo.get("address"))) { setSuccessPreachForm(serviceSubtask, sendPreachform, "çä¿¡åé失败,è¯¥æºææ²¡æé ç½®çä¿¡å°å, æ¶é´:" + now, "5"); return; } log.info("ãsfHandlleã丽水çä¿¡åéï¼å°åï¼{}ï¼åæ°ï¼{}ï¼æºæIDï¼{}", msgInfo.get("address"), sendMagParam, serviceSubtask.getOrgid()); String dxCode = getDXCode(msgInfo.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), msgInfo.get("sendPersonId"), msgInfo.get("sendPersonName"), MsgLSEnum.getHeaderByCode(msgInfo), token); log.info("ãsfHandlleã丽水çä¿¡åéç»æï¼{}", dxCode); ObjectMapper objectMapper = new ObjectMapper(); Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class); String code = textParam.get("Code").toString(); if (code.equals("0")) { isSuccess = "true"; } } else if (active.equals("sltd") || active.equals("nhfy")) { log.info("sltdè¿æ¥äºåï¼{} ,---sendMagParam.getContent()çåæ°ä¸ºï¼{}", active, sendMagParam.getContent()); if (active.equals("sltd")) { @@ -1284,13 +1317,13 @@ String campusid = ObjectUtils.isNotEmpty(sysDept) ? sysDept.getCampusid() : "2"; //æ¹æ»¨åç¬åéæ¹å¼ if ("1".equals(campusid)) { String result = smsUtils.sendSms1(xhsmsPath, xhsmsAccount, xhsmsPwd, sendMagParam.getPhone(), content); String result = SmsUtils.sendSms1(xhsmsPath, xhsmsAccount, xhsmsPwd, sendMagParam.getPhone(), content); //è¿ééè¦æ ¹æ®resultè¿åçå¼å»å¤æï¼æ¯å¦æåï¼ç¶åå°å¼èµå¼ç»isSuccess if (StringUtils.isNotEmpty(result) && result.contains("å¤çæå")) { isSuccess = "true"; } } else { String result = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, sendMagParam.getPhone(), content); String result = SmsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, sendMagParam.getPhone(), content); //è¿ééè¦æ ¹æ®resultè¿åçå¼å»å¤æï¼æ¯å¦æåï¼ç¶åå°å¼èµå¼ç»isSuccess if (StringUtils.isNotEmpty(result) && result.contains("å¤çæå")) { isSuccess = "true"; @@ -1372,7 +1405,7 @@ //å¸ä¸å»é¢ if (active.equals("hzszlyy")) { //å¤ç䏿乱ç é®é¢ wxCode = smsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh()); wxCode = SmsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh()); } else { wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), serviceSubtask.getSendname(), patArchive.getPatidHis(), wxqqxx); } smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -14,7 +14,7 @@ import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.*; import com.ruoyi.common.utils.http.HttpUtils; import com.ruoyi.common.utils.sms.smsUtils; import com.ruoyi.common.utils.sms.SmsUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.mapper.SysConfigMapper;