From 5c1f5dcc9dbea7478b1a9bd7c047a99a042e9d24 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 30 十月 2025 20:02:28 +0800
Subject: [PATCH] 省立同德短信模板

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |   22 +++++++++++
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java            |   38 +++++++++++++++++--
 smartor/src/main/java/com/smartor/domain/PatArchiveSrmVO.java                            |   44 ++++++++++++++++++++++
 smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java                    |    2 +
 ruoyi-admin/src/main/resources/application.yml                                           |    2 
 5 files changed, 103 insertions(+), 5 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
index b3593bb..2fb4c59 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -2,6 +2,7 @@
 
 import com.github.pagehelper.ISelect;
 import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.constant.HttpStatus;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
@@ -10,6 +11,7 @@
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.enums.PreachFormEnum;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -19,9 +21,11 @@
 import com.smartor.service.IServiceSubtaskRecordService;
 import com.smartor.service.IServiceSubtaskService;
 import com.smartor.service.IServiceTaskService;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import net.bytebuddy.implementation.bytecode.Throw;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +33,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -386,4 +391,21 @@
         return success(serviceSubtaskService.getSfStatisticsJoydetails(serviceSubtaskCountReq));
     }
 
+
+    /**
+     * 鍙戦�佺煭淇℃ā鏉�
+     */
+    @ApiOperation("鍙戦�佺煭淇℃ā鏉�")
+    @PostMapping("/sendMsgTemplate")
+    public Map<String, Object> sendMsgTemplate(@RequestBody List<PatArchiveSrmVO> patArchiveSrmVOS) {
+        if (CollectionUtils.isEmpty(patArchiveSrmVOS)) {
+            throw new BaseException("鎮h�呬俊鎭笉鑳戒负绌�");
+        }
+        List<PatArchiveSrmVO> pasList = serviceSubtaskService.sendMsgTemplate(patArchiveSrmVOS);
+        Map<String, Object> map = new HashMap<>();
+        map.put("code", HttpStatus.SUCCESS);
+        map.put("fail", CollectionUtils.isEmpty(pasList) ? null : pasList);
+        return map;
+    }
+
 }
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 7c0275b..e418f3f 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -74,7 +74,7 @@
     # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
     basename: i18n/messages
   profiles:
-    active: druid
+    active: sltd
   # 鏂囦欢涓婁紶
   servlet:
     multipart:
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchiveSrmVO.java b/smartor/src/main/java/com/smartor/domain/PatArchiveSrmVO.java
new file mode 100644
index 0000000..539084f
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/PatArchiveSrmVO.java
@@ -0,0 +1,44 @@
+package com.smartor.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鎮h�呮。妗堝璞� PatArchiveVO
+ *
+ * @author ls
+ */
+@ApiModel(value = "PatArchiveVO", description = "鎮h�呯煭淇℃ā鏉垮彂閫�")
+@Data
+public class PatArchiveSrmVO extends BaseEntity {
+
+    /**
+     * 濮撳悕
+     */
+    @ApiModelProperty("濮撳悕")
+    @Excel(name = " 濮撳悕 ")
+    private String name;
+
+
+    @ApiModelProperty("鐭俊妯℃澘")
+    @Excel(name = "鐭俊妯℃澘")
+    private String srmTemplate;
+
+    @ApiModelProperty("鎵嬫満鍙�")
+    @Excel(name = "鎵嬫満鍙�")
+    private String phone;
+
+
+    @ApiModelProperty("鏉ヨ鏃堕棿")
+    @Excel(name = "鏉ヨ鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    private Date visitTime;
+
+}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
index 89ecadf..59af7b6 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -134,4 +134,6 @@
     public List<ServiceSubtaskCount> getSfStatisticsJoydetails(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
     public List<ServiceStatisticsResponse> getServiceStatistics(ServiceStatisticsRequest request);
+
+    public  List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS);
 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 76af007..370d592 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -1,10 +1,12 @@
 package com.smartor.service.impl;
 
 import com.alibaba.fastjson2.JSON;
+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.core.redis.RedisCache;
+import com.ruoyi.common.dx.MessageSend;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.*;
 import com.smartor.common.FtpService;
@@ -25,10 +27,7 @@
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
-import java.time.Duration;
-import java.time.LocalDate;
-import java.time.LocalTime;
-import java.time.ZoneId;
+import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
@@ -2080,6 +2079,37 @@
         return result;
     }
 
+    @Override
+    public List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS) {
+        //鐢ㄦ潵璁板綍鍙戦�佸け璐ョ殑
+        List<PatArchiveSrmVO> sendError = new ArrayList<>();
+
+        for (PatArchiveSrmVO patArchiveSrmVO : patArchiveSrmVOS) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY骞碝M鏈坉d鏃H:mm");
+            String timestamp = simpleDateFormat.format(patArchiveSrmVO.getVisitTime());
+
+            StringBuilder stringBuilder = new StringBuilder();
+            if (patArchiveSrmVO.getSrmTemplate().equals("鍏ラ櫌鍑嗗涓績-鏃犳鏌�")) {
+                stringBuilder.append(patArchiveSrmVO.getName() + ",鎮ㄥソ锛佷富绠″尰鐢熷凡涓烘偍瀹夋帓浣忛櫌锛岃浜庡綋澶�");
+            } else if (patArchiveSrmVO.getSrmTemplate().equals("鍏ラ櫌鍑嗗涓績-绌鸿吂妫�鏌�")) {
+                stringBuilder.append(patArchiveSrmVO.getName() + ",鎮ㄥソ锛佷富绠″尰鐢熷凡涓烘偍瀹夋帓浣忛櫌锛岃褰撳ぉ绌鸿吂骞朵簬");
+            } else if (patArchiveSrmVO.getSrmTemplate().equals("鏃ラ棿鐥呮埧鈥旀嫨鏈熺梾浜烘鏌�")) {
+                stringBuilder.append(patArchiveSrmVO.getName() + ",鎮ㄥソ锛佷富绠″尰鐢熷凡涓烘偍瀹夋帓浣忛櫌鍓嶆鏌ワ紝璇峰綋澶╃┖鑵瑰苟浜�");
+            }
+
+            stringBuilder.append(timestamp + ",涔嬪墠鎼哄甫鍖讳繚鍗℃垨鐢靛瓙鍖讳繚鍗¤韩浠借瘉鍑鏉$煭淇″埌1鍙锋ゼ3妤煎崡鍏ラ櫌鍑嗗涓績鍏ラ櫌鐧昏绐楀彛锛屽姙鐞嗘寮忎綇闄㈡墜缁紝瀹屾垚鍚勯」妫�鏌ュ悗鍐嶅埌鐩稿簲鐥呭尯鎶ゅ+绔欐姤鍒般��");
+            stringBuilder.append("鍏ラ櫌鍑嗗涓績鐢佃瘽锛�89975977銆傚叆闄㈠姙鐞嗛』鐭�:https://mp.weixin.qq.com/s/OCkotuRyQ8Ld2owFF0YErw");
+
+            JSONObject data = MessageSend.sendMsg(stringBuilder.toString(), "2", patArchiveSrmVO.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+            String code = data.get("code").toString();
+            if (StringUtils.isNotEmpty(code) && !code.equals("00000")) {
+                sendError.add(patArchiveSrmVO);
+            }
+        }
+
+        return sendError;
+    }
+
     /**
      * 鑾峰彇闅忚缁熻姣斾緥
      *

--
Gitblit v1.9.3