From 394e00dfbe5adf153dce53c34615874a9ea9273f Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 15 一月 2026 15:08:22 +0800
Subject: [PATCH] 给宣教内容做通配符替换

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 46 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..25cd045 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);
                         }
 
                     }
@@ -1109,4 +1111,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