From a1e256f64930865ae2d170e333ee3f1a773c6c49 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 16 十月 2026 11:04:29 +0800
Subject: [PATCH] 出入院模块、门急诊模块、模块模块、宣教模块

---
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index bc3425e..a910ec0 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -39,6 +39,8 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
+import com.ruoyi.template.domain.HeLibrary;
+import com.ruoyi.template.api.TemplateFacade;
 @Slf4j
 @Component//鐩戝惉姝ら槦鍒�
 public class RedisMqReceiver extends KeyExpirationEventMessageListener {
@@ -58,12 +60,26 @@
     @Autowired
     private IServiceOutPathService iServiceOutPathService;
 
+    /**
+     * 妯℃澘鏁版嵁涓�寰嬬粡 ruoyi-template 鐨勯棬闈㈠彇鐢紙璺ㄦā鍧楁暟鎹闂師鍒欙級銆�
+     */
+    @Autowired
+    private TemplateFacade templateFacade;
+
+    /**
+     * 瀹f暀妯″潡鐨�<b>甯搁┗闂ㄩ潰</b>锛岀敤浜庡垽 {@code sys_config: publicity.enabled}銆�
+     * <p>
+     * 鈿狅笍 2025 淇锛氭湰绫诲師鏈�<b>瀹屽叏娌¤瀹f暀寮�鍏�</b> 鈥斺��
+     * {@code tsakHandle} 鐨勫叕浼楀彿 {@code type == 3} 鍒嗘敮锛圠518銆�//瀹f暀銆嶏級
+     * 鐓у父鎷煎鏁欓摼鎺ュ苟鍙戦�侊紝鎵�浠ュ叧鎺� {@code publicity.enabled} 涔熸嫤涓嶄綇杩欐潯璺��
+     */
+    @Autowired
+    private com.ruoyi.publicity.api.PublicityFacade publicityFacade;
+
     @Autowired
     private ServiceSubtaskMapper ivrTaskcallMapper;
 
 
-    @Autowired
-    private HeLibraryMapper heLibraryMapper;
 
     @Autowired
     private ServiceTaskMapper ivrTaskMapper;
@@ -208,6 +224,22 @@
                 continue;
             }
             String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(sendPreachform));
+
+            // 鈿狅笍 2025 淇锛堝鏁欏紑鍏冲け鏁堬級锛歵ype == 3 鏄�**瀹f暀/閫氱煡**锛堢函鍙戦�併�佹棤浣滅瓟锛�
+            // 瑙� setFailPreachForm 閲屻�屽鏁欐垨閫氱煡鈥︾洿鎺ユ敼鎴� 9銆嶇殑鍒ゅ畾锛夛紝鏁存潯娲惧彂鐨勬墍鏈夐�氶亾
+            // 锛堢數璇�/鐭俊/鍏紬鍙�/浜哄伐锛夊彂鐨勯兘鏄鏁欏唴瀹广�傛墍浠ュ叧鎺� publicity.enabled 鏃�
+            // 搴斿綋**涓�涓�氶亾閮戒笉鍙�**锛岃�屼笉鏄彧鎷﹀叾涓竴娈点��
+            //
+            // 鈿狅笍 鍒绘剰**涓嶆帹杩� subtask 鐘舵�併�佷篃涓嶈澶辫触**锛氬叧闂槸"鏆傛椂涓嶅彂"锛�
+            // 涓嶆槸"杩欎釜鎮h�呬笉闇�瑕佸鏁�"銆傝嫢鏍囨垚澶辫触/涓嶉渶瑕侊紝寮�鍏虫仮澶嶅悗杩欐潯瀹f暀灏辨案杩滀涪浜嗐��
+            // 淇濇寔 sendstate=2 涓嶅姩锛屽紑鍏虫墦寮�鍚庝笅涓�娆℃淳鍙戜細鐓у父鍙戝嚭銆�
+            // 锛堟湰鏂规硶鐨勮皟鐢ㄦ柟 onMessage 澶勭悊瀹屽嵆鍒� Redis 娑堟伅銆佷笉閲嶆姇锛屾墍浠ヤ笉浼氶�犳垚閲嶆姇椋庢毚銆傦級
+            if (type != null && type == 3 && !publicityFacade.isEnabled()) {
+                log.warn("銆愬鏁欍�戞ā鍧楁湭鍚敤锛堝弬鏁伴厤缃� publicity.enabled=false锛夛紝璺宠繃瀹f暀鍙戦�併�俿ubtaskId={}, patid={}",
+                        serviceSubtask.getId(), serviceSubtask.getPatid());
+                continue;
+            }
+
             if (descByCode.equals("鐢佃瘽")) {
                 try {
                     ServiceTask ivrTask = ivrTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
@@ -379,7 +411,10 @@
                         String url = "";
                         String format = String.format("%03X", serviceOutPath.getId());
                         //闇�瑕侀�氳繃妯℃澘ID鍘诲垽鏂鍙戠殑鍐呭鏄鏁欒繕鏄�氱煡
-                        HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
+                        // 鈿狅笍 涓� RyTask 鍚屽彛寰勶細**鍒绘剰涓�**涓� TemplateModuleDisabledException 闄嶇骇 鈥斺��
+                        // 妯℃澘妯″潡鍏抽棴鏃跺鏁欏唴瀹瑰彇涓嶅埌銆佺煭淇$‘瀹炲彂涓嶅嚭鍘伙紝澶栧眰 try-catch 濡傚疄璁板け璐�
+                        // 骞惰蛋鏃㈡湁鐨勯�氶亾鍗囩骇鏈哄埗銆傜‖璁版垚鍔熺瓑浜庣敤鍋囪褰曟帺鐩�"娌″彂鍑哄幓"銆�
+                        HeLibrary heLibrary = templateFacade.findHeLibraryById(serviceSubtask.getLibtemplateid());
                         if (heLibrary.getHetype().equals("1")) {
                             sendMagParam.setPhone(serviceSubtask.getPhone());
                             url = StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/xj?p=" + format : ip + "/xj?p=" + format;
@@ -523,7 +558,7 @@
                         String format = String.format("%03X", serviceOutPath.getId());
 
                         //闇�瑕侀�氳繃妯℃澘ID鍘诲垽鏂鍙戠殑鍐呭鏄鏁欒繕鏄�氱煡
-//                        HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
+//                        HeLibrary heLibrary = templateFacade.findHeLibraryById(serviceSubtask.getLibtemplateid());
 //                        if (heLibrary.getHetype().equals("1")) {
 //                            sendMagParam.setPhone(serviceSubtask.getPhone());
 //                            sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format);

--
Gitblit v1.9.3