From 5e0e7ad230dfba76d00e224e27c8488383396e0e Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期日, 20 九月 2026 17:36:00 +0800
Subject: [PATCH] 【景宁】定时发送异常信息-景宁配置
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 79 ++++++++++++++++++++++++++++++---------
1 files changed, 60 insertions(+), 19 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 34ada0f..e86b2f6 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
@@ -8,6 +8,7 @@
import com.google.gson.Gson;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.core.service.IDingTalkService;
import com.ruoyi.common.dx.MessageSend;
@@ -23,6 +24,7 @@
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysUserService;
import com.smartor.common.LSHospTokenUtil;
import com.smartor.common.MtSubmitSmUtil;
import com.smartor.common.QwenLLMUtil;
@@ -108,6 +110,9 @@
@Autowired
private IDingTalkService dingTalkService;
+
+ @Autowired
+ private ISysUserService userService;
@Value("${localIP}")
@@ -283,31 +288,67 @@
subtaskDetailTraceVO.setHandleFlag("0");
List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces =
serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTraceVO);
- // 鎶� dutyDeptPersonCode 鏁寸悊鍒� list 涓紙濡傛灉澶氫釜浜虹敤閫楀彿鍒嗗壊锛屽垯灞曞紑骞跺幓閲嶏級
- List<String> dutyDeptPersonCodeList = serviceSubtaskDetailTraces.stream()
- .map(ServiceSubtaskDetailTrace::getDutyDeptPersonCode)
- .filter(StringUtils::isNotBlank)
- .flatMap(code -> Arrays.stream(code.split(",")))
- .map(String::trim)
- .filter(StringUtils::isNotBlank).distinct() // 鍘婚噸
- .collect(Collectors.toList());
// 鑾峰彇鈥滃紓甯稿唴瀹规彁閱�"
SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("send.except.content");
String exceptContent = sysConfig.getConfigValue();
// 鑾峰彇鈥滃唴瀹规彁閱掓祴璇曚汉宸ュ彿鈥�
- String testPerson = sysConfigMapper.checkConfigKeyUnique("send.test.person").getConfigValue();
- if (StringUtils.isNotBlank(testPerson)) {
- String[] split = testPerson.split(",");
- if (CollectionUtils.isEmpty(dutyDeptPersonCodeList)) dutyDeptPersonCodeList = Arrays.asList(split);
- else dutyDeptPersonCodeList.addAll(Arrays.asList(split));
- }
+ SysConfig testPersonConfig = sysConfigMapper.checkConfigKeyUnique("send.test.person");
+ String testPerson = ObjectUtils.isNotEmpty(testPersonConfig) ? testPersonConfig.getConfigValue() : "";
+ if(CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)){
+ for (ServiceSubtaskDetailTrace serviceSubtaskDetailTrace : serviceSubtaskDetailTraces) {
+ List<String> dutyDeptPersonCodeList = new ArrayList<>();
+ // 鎶� dutyDeptPersonCode 鏁寸悊鍒� list 涓紙濡傛灉澶氫釜浜虹敤閫楀彿鍒嗗壊锛屽垯灞曞紑骞跺幓閲嶏級
+ String dutyDeptPersonCodeStr = serviceSubtaskDetailTrace.getDutyDeptPersonCode();
+ if(StringUtils.isNotEmpty(dutyDeptPersonCodeStr)){
+ String[] dutyDeptPersonCodeSplit = dutyDeptPersonCodeStr.split(",");
+ if (CollectionUtils.isEmpty(dutyDeptPersonCodeList)) {
+ dutyDeptPersonCodeList = new ArrayList<>(Arrays.asList(dutyDeptPersonCodeSplit));
+ } else {
+ dutyDeptPersonCodeList.addAll(Arrays.asList(dutyDeptPersonCodeSplit));
+ }
- if (CollectionUtils.isNotEmpty(dutyDeptPersonCodeList)) {
- for (String dutyDeptPersonCode : dutyDeptPersonCodeList) {
- log.info("銆恠endExceptInfo銆戝彂閫佷汉宸ュ彿锛歿}", dutyDeptPersonCode);
- String dutyDeptPerson = dingTalkService.getDingTalkUserByMobile(dutyDeptPersonCode);
- dingTalkService.sendDingTalkText(exceptContent, dutyDeptPerson);
+ }
+
+ if (StringUtils.isNotBlank(testPerson)) {
+ String[] split = testPerson.split(",");
+ if (CollectionUtils.isEmpty(dutyDeptPersonCodeList)) {
+ dutyDeptPersonCodeList = new ArrayList<>(Arrays.asList(split));
+ } else {
+ dutyDeptPersonCodeList.addAll(Arrays.asList(split));
+ }
+ }
+
+ if (CollectionUtils.isNotEmpty(dutyDeptPersonCodeList)) {
+ for (String dutyDeptPersonCode : dutyDeptPersonCodeList) {
+ log.info("銆恠endExceptInfo銆戝彂閫佷汉宸ュ彿锛歿}", dutyDeptPersonCode);
+ SysUser sysUser = new SysUser();
+ SysUser sysUserVo = new SysUser();
+ sysUserVo.setUserCode(dutyDeptPersonCode);
+// sysUserVo.setOrgid(serviceSubtaskDetailTrace.getOrgid());
+ List<SysUser> users = userService.getUserList(sysUserVo);
+ String phoneNumber = "";
+ if(ObjectUtils.isNotEmpty(users)){
+ sysUser = users.get(0);
+ phoneNumber = sysUser.getPhonenumber();
+ }else {
+ continue;
+ }
+
+ if(StringUtils.isEmpty(phoneNumber)){
+ continue;
+ }
+ String dutyDeptPerson = dingTalkService.getDingTalkUserByMobile(phoneNumber);
+ if(StringUtils.isNotBlank(dutyDeptPerson)){
+ String context = TemplateUtils.render(exceptContent, serviceSubtaskDetailTrace);
+ dingTalkService.sendDingTalkText(context, dutyDeptPerson);
+ //鏇存柊鐘舵��
+ serviceSubtaskDetailTrace.setHandleFlag("1");
+ serviceSubtaskDetailTrace.setUpdateTime(new Date());
+ serviceSubtaskDetailTraceService.updateServiceSubtaskDetailTtrace(serviceSubtaskDetailTrace);
+ }
+ }
+ }
}
}
}
--
Gitblit v1.9.3