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