From 0c1f8c479065739f3c7a5126de8e667035d00b58 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 12 十月 2026 14:21:52 +0800
Subject: [PATCH] 【丽水】满意度模块化:新增 ruoyi-satisfaction 独立模块

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java |  109 +++++++++++++-----------------------------------------
 1 files changed, 26 insertions(+), 83 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java
index e2802c7..cf899c0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java
@@ -1,26 +1,18 @@
 package com.ruoyi.system.service.impl;
 
-import java.io.IOException;
 import java.sql.Date;
 import java.time.LocalDate;
 import java.util.*;
 
-import com.alibaba.fastjson2.JSONObject;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.gson.Gson;
-import com.ruoyi.common.enums.MsgLSEnum;
 import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.OkHttpExample;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.message.SendResult;
+import com.ruoyi.message.sms.SmsSendRequest;
+import com.ruoyi.message.sms.SmsSenderFactory;
 import com.ruoyi.system.service.ISysConfigService;
-import com.smartor.common.LSHospTokenUtil;
-import com.smartor.domain.ServiceSubtask;
-import com.smartor.mapper.ServiceSubtaskMapper;
+import com.ruoyi.common.core.service.ISubtaskSmsService;
+import com.ruoyi.common.utils.spring.SpringUtils;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.SmsRecordsMapper;
@@ -42,11 +34,11 @@
     @Autowired
     private ISysConfigService iSysConfigService;
 
+    /**
+     * 娑堟伅鍙戦�佹柟宸ュ巶锛堢煭淇★級锛屼附姘寸煭淇″凡鏀跺彛鍒� ruoyi-message
+     */
     @Autowired
-    private ServiceSubtaskMapper serviceSubtaskMapper;
-
-    @Autowired
-    private ISysConfigService configService;
+    private SmsSenderFactory smsSenderFactory;
     /**
      * 鏌ヨ鐭俊璁板綍
      *
@@ -109,10 +101,10 @@
         List<SmsRecords> selectSmsRecordsList = smsRecordsMapper.selectSmsRecordsList(smsRecords);
         for (SmsRecords record : selectSmsRecordsList) {
             Boolean aBoolean = sendSMS(record.getOrgid(), record.getPhone(), record.getMsg());
-            ServiceSubtask serviceSubtask = new ServiceSubtask();
-            serviceSubtask.setId(record.getSubId());
-            if (aBoolean) serviceSubtask.setVisitNotice(1);
-            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+            if (aBoolean) {
+                ISubtaskSmsService subtaskSmsService = SpringUtils.getBean(ISubtaskSmsService.class);
+                subtaskSmsService.updateSubtaskVisitNotice(record.getSubId(), 1);
+            }
         }
 
         return true;
@@ -120,40 +112,18 @@
 
 
     public Boolean sendSMS(String orgid, String phone, String content) {
-        //涓芥按鐨勭煭淇″彂閫佹柟寮�
-        Boolean isSuccess = false;
+        //涓芥按鐨勭煭淇″彂閫佹柟寮忥細宸叉敹鍙e埌 ruoyi-message 鐨� LishuiSmsSender
+        //锛堟満鏋勯厤缃粠 sys_config 鐨� ls.msg.info 璇诲彇锛宼oken 鐢� smartor 娉ㄥ唽鐨�
+        //  LishuiMessageConfigProvider 鎻愪緵锛夛紝杩欓噷涓嶅啀鑷繁鎷兼姤鏂�
         try {
-            SysConfig config = new SysConfig();
-            config.setConfigKey("ls.msg.info");
-            config.setOrgid(orgid);
-            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);
-//
-//            String url = configService.selectConfigByKey("token.360",orgid);
-//            Map<String, String> map = MsgLSEnum.getAddressByCode(orgid);
-            String token = LSHospTokenUtil.getToken(orgid,msgInfo.get("tokenUrl"));
-            log.info("銆恠fHandlle銆戜附姘寸煭淇″彂閫侊紝鍦板潃锛歿}锛屽弬鏁帮細{}锛屾満鏋処D锛歿}", msgInfo.get("address"), orgid);
-            String dxCode = getDXCode(msgInfo.get("address"), phone, content, msgInfo.get("sendPersonId"), msgInfo.get("sendPersonName"), MsgLSEnum.getHeaderByCode(msgInfo), token);
-            log.info("銆恠fHandlle銆戜附姘寸煭淇″彂閫佺粨鏋滐細{}", dxCode);
-            ObjectMapper objectMapper = new ObjectMapper();
-            Map<String, Object> textParam = null;
-            textParam = objectMapper.readValue(dxCode, Map.class);
-            String code = textParam.get("Code").toString();
-            if (code.equals("0")) {
-                isSuccess = true;
-            }
+            SendResult sendResult = smsSenderFactory.send("ls",
+                    SmsSendRequest.of(phone, content, orgid));
+            log.info("銆怱msRecordsServiceImpl銆戜附姘寸煭淇″彂閫佺粨鏋滐細{}", sendResult);
+            return sendResult.isOk();
         } catch (Exception e) {
-            e.printStackTrace();
+            log.error("銆怱msRecordsServiceImpl銆戜附姘寸煭淇″彂閫佸紓甯革紝orgid锛歿}锛宲hone锛歿}", orgid, phone, e);
+            return false;
         }
-        return isSuccess;
     }
 
     /**
@@ -167,7 +137,6 @@
         smsRecords.setUpdateTime(DateUtils.getNowDate());
         return smsRecordsMapper.updateSmsRecords(smsRecords);
     }
-
     /**
      * 鎵归噺鍒犻櫎鐭俊璁板綍
      *
@@ -190,34 +159,8 @@
         return smsRecordsMapper.deleteSmsRecordsByRecordid(recordid);
     }
 
-
-    private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap, String token) {
-        Map<String, Object> map = new LinkedHashMap<>();
-
-        Map<String, Object> YeWuXX = new LinkedHashMap<>();
-        Map<String, Object> DuanXinXX = new LinkedHashMap<>();
-        DuanXinXX.put("ShouJiHM", ShouJiHM);
-        DuanXinXX.put("FaSongNR", FaSongNR);
-        DuanXinXX.put("FaSongRID", FaSongRID);
-        DuanXinXX.put("FaSongRXM", FaSongRXM);
-        YeWuXX.put("DuanXinXX", DuanXinXX);
-
-        map.put("XiaoXiTou", headerMap);
-        map.put("YeWuXX", YeWuXX);
-
-        String body = new Gson().toJson(map);
-
-//        String result = HttpUtils.sendPost(address, body);
-        String result = null;
-        try {
-            result = OkHttpExample.sendPostRequest(address, body, token);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        log.info("銆恎etDXCode銆戠煭淇″彂閫佺粨鏋滐細{}", result);
-
-        JSONObject jsonObject = JSONObject.parseObject(result);
-        String code = (String) jsonObject.toString();
-        return code;
-    }
+    // ---------------------------------------------------------------------
+    // 璇存槑锛氬師 getDXCode 宸查殢鍙戦�佹柟涓�璧锋敹鍙e埌 ruoyi-message 鐨� LishuiSmsSender锛�
+    // 姝ゅ宸插垹闄わ紝閬垮厤绗笁濂椾附姘存姤鏂囧疄鐜扮户缁瓨鍦ㄣ��
+    // ---------------------------------------------------------------------
 }

--
Gitblit v1.9.3