From fd6dca0c559c08129b7e0abdf67093b1a728ffd3 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 29 十一月 2024 17:21:00 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/common/SendService.java | 150 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 130 insertions(+), 20 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/common/SendService.java b/smartor/src/main/java/com/smartor/common/SendService.java
index 7645456..4eef100 100644
--- a/smartor/src/main/java/com/smartor/common/SendService.java
+++ b/smartor/src/main/java/com/smartor/common/SendService.java
@@ -1,17 +1,32 @@
package com.smartor.common;
-import com.aliyun.dysmsapi20170525.models.SendSmsResponseBody;
-import com.smartor.domain.BaseSmsRequest;
-import com.smartor.domain.DingTalkReqVo;
-import com.smartor.domain.SendMagParam;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.common.utils.http.HttpUtils;
+import com.smartor.domain.*;
+import com.smartor.mapper.PatWildcardMapper;
import com.smartor.service.DingTalkService;
+import com.smartor.service.ISmsParamService;
+import com.smartor.service.WeChatService;
import com.smartor.service.impl.BaseSmsaccountServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
+
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.Field;
+import java.net.URLEncoder;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* 鍙戦�佹湇鍔″伐鍏风被
*/
+@Slf4j
@Component
public class SendService {
@Autowired
@@ -20,33 +35,103 @@
@Autowired
private DingTalkService dingTalkService;
- public Boolean sendMsg(SendMagParam sendMagParam) {
+ @Autowired
+ private PatWildcardMapper patWildcardMapper;
+
+ @Autowired
+ private WeChatService weChatService;
+
+ @Autowired
+ ISmsParamService iSmsParamService;
+
+ @Value("${xhsmsPath}")
+ private String xhsmsPath;
+ // 甯愬彿
+ @Value("${xhsmsAccount}")
+ private String xhsmsAccount;
+ // 鎺ュ彛瀵嗙爜
+ @Value("${xhsmsPwd}")
+ private String xhsmsPwd;
+ // 铏氭嫙鎺ュ叆鐮�
+ @Value("${xhsmsjrm}")
+ private String xhsmsjrm;
+
+ public Boolean sendMsg(SendMagParam sendMagParam) throws UnsupportedEncodingException, JsonProcessingException {
+ // 1,澶氬獟浣� 2,绾歌川 3,鐢佃瘽 4,鐭俊 5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴� 7.鏀粯瀹� 8.鏅鸿兘灏忕▼搴� 9.閽夐拤
switch (sendMagParam.getType()) {
- case ("澶氬獟浣�"):
+ case ("1"):
- case ("绾歌川"):
+ case ("2"):
- case ("鐢佃瘽"):
+ case ("3"):
- case ("鐭俊"):
- BaseSmsRequest baseSmsRequest = new BaseSmsRequest();
- baseSmsRequest.setPhoneNumber(sendMagParam.getPhone());
- baseSmsRequest.setTemplateCode("SMS_461860582");
+ case ("4"):
+ //鐭俊
+ Map<String, String> map2 = new HashMap<>();
+ map2.put("action", "send");
+ map2.put("account", xhsmsAccount);
+ map2.put("password", xhsmsPwd);
+ map2.put("mobile", sendMagParam.getPhone());
+ map2.put("content", sendMagParam.getContent());
+ map2.put("extno", xhsmsjrm);
+ map2.put("rt", "json");
+ StringBuilder encodedParams = new StringBuilder();
- SendSmsResponseBody sendSmsResponseBody = baseSmsaccountService.sendMsg(baseSmsRequest);
- if (sendSmsResponseBody.getCode().equals("OK")) {
- return true;
+ for (Map.Entry<String, String> entry : map2.entrySet()) {
+ if (encodedParams.length() > 0) {
+ encodedParams.append("&");
+ }
+ // 瀵归敭鍜屽�艰繘琛孶RL缂栫爜
+ String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8");
+ String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8");
+ encodedParams.append(encodedKey).append("=").append(encodedValue);
}
+
+ String result = HttpUtils.sendPost(xhsmsPath, encodedParams.toString());
+ ObjectMapper objectMapper2 = new ObjectMapper();
+ Map<String, Object> map3 = objectMapper2.readValue(result, new TypeReference<Map<String, Object>>() {
+ });
+ if (ObjectUtils.isNotEmpty(map3)) {
+ String status = map3.get("status").toString();
+ if (status.equals("0")) {
+ return true;
+ }
+ }
+ log.error("鐭俊鍙戦�佸け璐ap:{}, 杩斿洖鐨勪俊鎭负:{}", map2, result);
return false;
- case ("寰俊鍏紬鍙�"):
+ case ("5"):
+ //鍏紬鍙�
+// String params = "service=smarthos.yygh.ApiService.push&idcard=" + sendMagParam.getIdcard() + "&url=" + sendMagParam.getUrl() + "&keyword1=null&keyword2=null&keyword3=null&keyword4=null";
+// String result = HttpUtils.sendPost("/api", params);
+// JSONObject jsonObject = JSONObject.parseObject(result);
+// String code = (String) jsonObject.get("code");
+// if (!code.equals(0)) {
+// log.error("寰俊鍏紬鍙锋秷鎭彂閫佸け璐ヤ簡锛歿}", sendMagParam);
+// return false;
+// }
+// return true;
- case ("寰俊灏忕▼搴�"):
+ WeChatSendVo weChatSendVo = new WeChatSendVo();
+ weChatSendVo.setUrl(sendMagParam.getUrl());
+ weChatSendVo.setTemplateId(sendMagParam.getTmpCode());
+ ObjectMapper objectMapper = new ObjectMapper();
+ Map map = null;
+ try {
+ map = objectMapper.readValue(sendMagParam.getContent(), Map.class);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ weChatSendVo.setContent(map);
+ weChatSendVo.setOpenid(sendMagParam.getOpenid());
+ Boolean aBoolean1 = weChatService.sendMessageToFollowers(weChatSendVo);
+ return aBoolean1;
+ case ("6"):
- case ("鏀粯瀹�"):
+ case ("7"):
- case ("鏅鸿兘灏忕▼搴�"):
+ case ("8"):
- case ("閽夐拤"):
+ case ("9"):
DingTalkReqVo dingTalkReqVo = new DingTalkReqVo();
Boolean aBoolean = dingTalkService.sendNotification(dingTalkReqVo);
if (aBoolean) {
@@ -57,4 +142,29 @@
}
}
+
+ /**
+ * 瀵归棶棰樹腑鐨勯�氶厤绗﹁繘琛屽尮閰�
+ *
+ * @param script
+ * @param patArchive
+ * @return
+ */
+ public String patWildcard(String script, PatArchive patArchive) {
+ List<PatWildcard> patWildcards = patWildcardMapper.selectPatWildcardList(new PatWildcard());
+ for (PatWildcard patWildcard : patWildcards) {
+ try {
+ //鑾峰彇鎮h�呭搴旂殑瀛楁鐨勫��
+ Field field = patArchive.getClass().getField(patWildcard.getPatField());
+ field.setAccessible(true);
+ String value = field.get(patArchive).toString();
+ //灏嗛棶棰樹腑鐨勯�氶厤绗﹁繘琛屾浛鎹�
+ script.replaceAll(patWildcard.getWildcard(), value);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ return script;
+ }
}
--
Gitblit v1.9.3