From 8cb5d3440208a3be3e772e65f1bd0ec63031ba62 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 17 十二月 2025 08:37:14 +0800
Subject: [PATCH] feat: 增加服务单派发通知
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java | 41 +++++++++++++++++++++++++++++++++++++----
1 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java
index 48833d3..5b7273a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java
@@ -5,12 +5,16 @@
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.WechatUtils;
-import com.ruoyi.system.domain.SysTask;
-import com.ruoyi.system.domain.SysTaskEmergency;
+import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.mapper.SysTaskEmergencyMapper;
import com.ruoyi.system.mapper.SysTaskMapper;
+import com.ruoyi.system.domain.SysTask;
+import com.ruoyi.system.domain.SysTaskEmergency;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.IWechatTaskNotifyService;
+import com.ruoyi.system.service.IWechatAccessTokenService;
+import com.ruoyi.system.service.ISysConfigService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +48,30 @@
@Autowired
private WechatConfig wechatConfig;
+ @Autowired
+ private IWechatAccessTokenService wechatAccessTokenService;
+
+ @Autowired
+ private ISysConfigService configService;
+
+
+
+
+ /**
+ * 妫�鏌ユ槸鍚﹀惎鐢ㄨ闃呮秷鎭彂閫�
+ *
+ * @return true=鍚敤锛宖alse=绂佺敤
+ */
+ private boolean isSubscribeMessageEnabled() {
+ try {
+ String enabled = configService.selectConfigByKey("wechat.subscribe.message.enabled");
+ return "true".equalsIgnoreCase(enabled);
+ } catch (Exception e) {
+ log.warn("鑾峰彇璁㈤槄娑堟伅寮�鍏抽厤缃け璐ワ紝榛樿鍚敤", e);
+ return true; // 榛樿鍚敤
+ }
+ }
+
/**
* 鍙戦�佷换鍔¢�氱煡娑堟伅缁欐寚瀹氱敤鎴峰垪琛�
*
@@ -54,6 +82,11 @@
*/
@Override
public int sendTaskNotifyMessage(Long taskId, List<Long> userIds, Long excludeUserId) {
+ // 妫�鏌ヨ闃呮秷鎭紑鍏�
+ if (!isSubscribeMessageEnabled()) {
+ log.info("璁㈤槄娑堟伅鍙戦�佸凡鍏抽棴锛岃烦杩囧彂閫侊紝taskId={}", taskId);
+ return 0;
+ }
if (taskId == null || userIds == null || userIds.isEmpty()) {
log.warn("鍙戦�佸井淇′换鍔¢�氱煡鍙傛暟涓嶅畬鏁达紝taskId={}, userIds={}", taskId, userIds);
return 0;
@@ -69,8 +102,8 @@
// 鏌ヨ鎬ユ晳淇℃伅
SysTaskEmergency emergency = sysTaskEmergencyMapper.selectSysTaskEmergencyByTaskId(taskId);
- // 鑾峰彇寰俊AccessToken
- String accessToken = WechatUtils.getAccessToken(wechatConfig.getAppId(), wechatConfig.getAppSecret());
+ // 鑾峰彇寰俊AccessToken锛堣蛋搴旂敤绾х紦瀛橈級
+ String accessToken = wechatAccessTokenService.getAppAccessToken();
if (StringUtils.isEmpty(accessToken)) {
log.error("鑾峰彇寰俊AccessToken澶辫触锛屾棤娉曞彂閫佷换鍔¢�氱煡");
return 0;
--
Gitblit v1.9.1