From e44f3f7b666394907a016488e79f788e7ed97a70 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 27 十一月 2024 19:23:37 +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