From cfe0b79fbea0fb1d7a5a796e71ada7d3b7812046 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期一, 15 十二月 2025 22:31:33 +0800
Subject: [PATCH] feat: 企业微信发送微信小程序cetd

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NotifyDispatchServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NotifyDispatchServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NotifyDispatchServiceImpl.java
index a918e86..9b11a0f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NotifyDispatchServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NotifyDispatchServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.system.service.impl;
 
 import com.alibaba.fastjson2.JSON;
+import com.ruoyi.common.config.WechatConfig;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.domain.*;
@@ -45,6 +46,16 @@
 
     @Autowired
     private ISmsService smsService;
+
+    @Autowired
+    private IQyWechatService qyWechatService;
+
+
+    @Autowired
+    private WechatConfig wechatConfig;
+
+    @Autowired
+    private ISysEmergencyTaskService sysEmergencyTaskService;
 
     /**
      * 鑾峰彇鎸囧畾閫氱煡绫诲瀷鍚敤鐨勬笭閬撳垪琛�
@@ -108,6 +119,9 @@
                         break;
                     case NotifyChannelConfig.CHANNEL_SMS:
                         success = sendSmsMessage(notifyTask);
+                        break;
+                    case NotifyChannelConfig.CHANNEL_QY_WECHAT:
+                        success = sendQyWechatMessage(notifyTask);
                         break;
                     default:
                         log.warn("涓嶆敮鎸佺殑娓犻亾绫诲瀷锛歿}", channel);
@@ -175,6 +189,7 @@
             sendLog.setChannel(channel);
             sendLog.setSendStatus(success ? NotifySendLog.SEND_STATUS_SUCCESS : NotifySendLog.SEND_STATUS_FAILED);
             sendLog.setSendTime(DateUtils.getNowDate());
+            sendLog.setSendContent(notifyTask.getContent());
             sendLog.setResponseMsg(errorMsg);
             
             notifySendLogService.insertNotifySendLog(sendLog);
@@ -318,4 +333,48 @@
             return false;
         }
     }
+
+    @Autowired
+    private ISysConfigService sysConfigService;
+    /**
+     * 鍙戦�佷紒涓氬井淇℃秷鎭�
+     */
+    @Override
+    public boolean sendQyWechatMessage(NotifyTask notifyTask) {
+        try {
+            // 妫�鏌ヤ紒涓氬井淇℃湇鍔℃槸鍚﹀惎鐢�
+            if (!qyWechatService.isEnabled()) {
+                log.info("浼佷笟寰俊鏈嶅姟宸插叧闂紝璺宠繃鍙戦��");
+                return false;
+            }
+            Long taskId= notifyTask.getTaskId();
+           SysTaskEmergency emergency = this.sysEmergencyTaskService.selectSysTaskEmergencyByTaskId(taskId);
+           if(emergency==null){
+               return false;
+           }
+//           Long dispatchOrderId = emergency.getLegacyDispatchOrdId();
+//          String oldsiteUrl= sysConfigService.selectConfigByKey("oldsite.url");
+//          if(oldsiteUrl==null){
+//              oldsiteUrl="https://sys.966120.com.cn/m_DispatchOrder.gds?DispatchOrdID=";
+//          }
+            String appId=wechatConfig.getAppId();
+           String pathPage="/pagesTask/detail?id="+taskId;
+            // 鍙戦�佷紒涓氬井淇℃秷鎭�
+            boolean success = qyWechatService.sendNotifyMessage(
+                    notifyTask.getUserId(), 
+                    notifyTask.getTitle(), 
+                    notifyTask.getContent(),appId,pathPage
+            );
+            
+            if (success) {
+                log.info("浼佷笟寰俊娑堟伅鍙戦�佹垚鍔燂紝userId={}", notifyTask.getUserId());
+            } else {
+                log.warn("浼佷笟寰俊娑堟伅鍙戦�佸け璐ワ紝userId={}", notifyTask.getUserId());
+            }
+            return success;
+        } catch (Exception e) {
+            log.error("浼佷笟寰俊娑堟伅鍙戦�佸紓甯革紝taskId={}, userId={}", notifyTask.getTaskId(), notifyTask.getUserId(), e);
+            return false;
+        }
+    }
 }

--
Gitblit v1.9.1