From 42214216ef5758346a9be6b43eb9a4cd54542c21 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 26 一月 2026 17:52:46 +0800
Subject: [PATCH] 【丽水】微信已发送、已领取视为发送成功,不再进行补偿 -丽水中医院

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 57 insertions(+), 1 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 93f236a..43adc67 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -669,7 +669,9 @@
                         } else if (heLibrary.getHetype().equals("2")) {
                             //閫氱煡
                             sendMagParam.setPhone(serviceSubtask.getPhone());
-                            sendMagParam.setContent(heLibrary.getPreachcontent());
+                            // 鏇挎崲鏂囨湰鍐呭涓殑鍙橀噺
+                            String content = getObject(serviceSubtask, heLibrary.getPreachcontent());
+                            sendMagParam.setContent(content);
                         }
 
                     }
@@ -885,6 +887,17 @@
         Optional<Long> currentSort = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getSort).findFirst();
 
         if (currentSort.isPresent()) {
+            //寰俊宸插彂閫併�佸凡棰嗗彇瑙嗕负鍙戦�佹垚鍔燂紝涓嶅啀杩涜琛ュ伩 -涓芥按涓尰闄�
+            if(active.equals("47231022633110211A2101")){
+                //鑾峰彇褰撳墠鍙戦�佹柟寮�
+                ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform());
+                if(currentServiceSubtaskPreachform.getPreachform().equals("5")
+                        && (currentServiceSubtaskPreachform.getSendstate().equals("2")
+                        || currentServiceSubtaskPreachform.getSendstate().equals("3"))){
+                    return "-1";
+                }
+            }
+
             // 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9
             boolean allSendStateNot1AndNot9 = serviceSubtaskPreachforms.stream().allMatch(item -> !item.getSendstate().equals("9"));
             if (!allSendStateNot1AndNot9) {
@@ -1109,4 +1122,47 @@
         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
         return true;
     }
+
+    /**
+     * 閫氶厤绗﹀彉閲忔浛鎹�
+     *
+     * @param serviceSubtask
+     * @param scriptContent
+     * @return
+     */
+    private String getObject(ServiceSubtask serviceSubtask, String scriptContent) {
+        Map<String, Map<String, String>> param = getParam(serviceSubtask.getTaskid());
+        for (Map<String, String> map : param.values()) {
+            for (String key : map.keySet()) {
+                scriptContent = scriptContent.replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "");
+            }
+        }
+        if (StringUtils.isEmpty(scriptContent)) {
+            return scriptContent;
+        }
+        scriptContent = scriptContent.replace("${name}", StringUtils.isNotEmpty(serviceSubtask.getSendname()) ? serviceSubtask.getSendname() : "");
+        scriptContent = scriptContent.replace("${dzz}", StringUtils.isNotEmpty(serviceSubtask.getAddr()) ? serviceSubtask.getAddr() : "");
+        scriptContent = scriptContent.replace("${phone}", StringUtils.isNotEmpty(serviceSubtask.getTelcode()) ? serviceSubtask.getTelcode() : "");
+
+        return scriptContent;
+    }
+
+    /**
+     * 鑾峰彇浠诲姟閲岀殑閫氶厤绗�
+     *
+     * @param taskId
+     * @return
+     */
+    private Map<String, Map<String, String>> getParam(Long taskId) {
+        ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(taskId);
+        ObjectMapper objectMapper = new ObjectMapper();
+        Map<String, Map<String, String>> serviceTaskMap = null;
+        try {
+            serviceTaskMap = objectMapper.readValue(serviceTask.getTextParam(), Map.class);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+        return serviceTaskMap;
+    }
+
 }

--
Gitblit v1.9.3