From 3ede859fc8cd6068ea91f66553d38f5b510af3ef Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 17 四月 2026 17:06:03 +0800
Subject: [PATCH] 修改一下serviceSubtask的remark的值

---
 smartor/src/main/java/com/smartor/common/MtSubmitSmUtil.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 113 insertions(+), 0 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/common/MtSubmitSmUtil.java b/smartor/src/main/java/com/smartor/common/MtSubmitSmUtil.java
new file mode 100644
index 0000000..ebe29e1
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/common/MtSubmitSmUtil.java
@@ -0,0 +1,113 @@
+package com.smartor.common;
+
+import com.alibaba.fastjson2.JSON;
+import com.smartor.domain.MtSubmitSmResp;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.RestTemplate;
+
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * MT娑堟伅鍙戦�佸伐鍏风被锛圫P鍚戣涓氭眹鑱氬钩鍙版彁浜T娑堟伅锛�
+ * 鎺ュ彛鍦板潃锛歨ttp://ip:port/submitsm
+ * 缂栫爜锛歎TF-8锛岄壌鏉冪畻娉曪細MD5
+ */
+@Slf4j
+@Component
+public class MtSubmitSmUtil {
+    private static final RestTemplate restTemplate = new RestTemplate();
+
+    @Value("${sms_password}")
+    private String password;
+
+    @Value("${sms_accountName}")
+    private String accountName;
+
+    @Value("${sms_url}")
+    private String url;
+
+    @Value("${sms_sourceAddr}")
+    private String sourceAddr;
+
+    @Value("${sms_serviceCode}")
+    private String serviceCode;
+
+    @Value("${sms_appkey}")
+    private String appKey;
+
+    @Value("${sms_flag}")
+    private String smsFlag;
+
+
+    /**
+     * 鍙戦�丮T娑堟伅
+     *
+     * @param destAddr 鐩爣鍙风爜
+     * @param content  鐭俊鍐呭
+     * @return MtSubmitSmResp 鍝嶅簲缁撴灉
+     */
+    public Map<String, Object> submitSm(String destAddr, String content) {
+        try {
+            String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+            String hashHex = buildHashHex(accountName, password, date);
+
+            Map<String, Object> authMap = new HashMap<>();
+            authMap.put("Algorithm", "MD5");
+            authMap.put("Date", date);
+            authMap.put("HASHHEX", hashHex);
+
+            Map<String, Object> reqMap = new HashMap<>();
+            reqMap.put("accountName", accountName);
+            reqMap.put("Authorization", authMap);
+            reqMap.put("DestAddr", destAddr);
+            reqMap.put("SourceAddr", sourceAddr);
+            reqMap.put("Content", smsFlag + content);
+            reqMap.put("ServiceCode", serviceCode);
+
+            HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(new MediaType("application", "json", StandardCharsets.UTF_8));
+            headers.set("Accept-Language", "UTF-8");
+            headers.set("app-key", "ak-BFq4NN0TMf92J7KAioNYGz74");
+
+            HttpEntity<String> entity = new HttpEntity<>(JSON.toJSONString(reqMap), headers);
+            log.info("MtSubmitSm 璇锋眰鍦板潃锛歿}锛岃姹傚弬鏁帮細{}", url + "/submitsm", JSON.toJSONString(reqMap));
+
+            ResponseEntity<String> response = restTemplate.postForEntity(url, entity, String.class);
+            log.info("MtSubmitSm 鍝嶅簲缁撴灉锛歿}", response.getBody());
+
+            return JSON.parseObject(response.getBody(), Map.class);
+        } catch (Exception e) {
+            log.error("MtSubmitSm 鍙戦�佸け璐ワ紝url锛歿}锛宒estAddr锛歿}锛宔rror锛歿}", url, destAddr, e.getMessage(), e);
+            Map<String, Object> resp = new HashMap<>();
+            resp.put("code", -1);
+            resp.put("message", "鍙戦�佸紓甯革細" + e.getMessage());
+            return resp;
+        }
+    }
+
+    /**
+     * 璁$畻HASHHEX锛歁D5(Algorithm:甯愬彿鍚�:瀵嗙爜:Date)
+     * 渚嬶細MD5:95555:12345:2016-10-09 16:19:43
+     */
+    private static String buildHashHex(String accountName, String password, String date) throws Exception {
+        String plain = "MD5:" + accountName + ":" + password + ":" + date;
+        MessageDigest md = MessageDigest.getInstance("MD5");
+        byte[] bytes = md.digest(plain.getBytes(StandardCharsets.UTF_8));
+        StringBuilder sb = new StringBuilder();
+        for (byte b : bytes) {
+            sb.append(String.format("%02x", b));
+        }
+        return sb.toString();
+    }
+}

--
Gitblit v1.9.3