From b79a402cdbbecfcab661f1c24028b51dd704b2e0 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期三, 03 十二月 2025 20:34:38 +0800
Subject: [PATCH] 1 feat: 完善质量检测消息推送功能并添加测试 3 - 实现 MesQaDingtalkService.sendQaMsgSJ 方法,支持发送包含检验单号、物料编码、物料名称、车间、线体、工单号、检验结果等详细信息的钉钉消息 4 - 添加 MesQaDingtalkServiceTest 测试类,包含正常和异常情况的单元测试
---
src/main/java/com/gs/dingtalk/service/impl/SendDingtalkServiceImpl.java | 37 ++++++++++++++++++++++++++++---------
1 files changed, 28 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/gs/dingtalk/service/impl/SendDingtalkServiceImpl.java b/src/main/java/com/gs/dingtalk/service/impl/SendDingtalkServiceImpl.java
index cb17f90..0659d43 100644
--- a/src/main/java/com/gs/dingtalk/service/impl/SendDingtalkServiceImpl.java
+++ b/src/main/java/com/gs/dingtalk/service/impl/SendDingtalkServiceImpl.java
@@ -19,6 +19,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -78,7 +79,17 @@
List<SendDingtalk> list = list(wrapper);
- getMessage(list);
+ getMessage(list, 5);
+ }
+
+ @Override
+ public void sendDingTalkFifteenMinute() throws Exception {
+ LambdaQueryWrapper<SendDingtalk> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(SendDingtalk::getFifteenMinuteReminder, 1);
+
+ List<SendDingtalk> list = list(wrapper);
+
+ getMessage(list, 15);
}
@Override
@@ -88,7 +99,7 @@
List<SendDingtalk> list = list(wrapper);
- getMessage(list);
+ getMessage(list, 30);
}
@Override
@@ -117,18 +128,26 @@
});
}
- private void getMessage(List<SendDingtalk> list) {
+ private void getMessage(List<SendDingtalk> list, int Minutes) {
List<SendMessage> sendMessageList = sendMessageService.getSendMessageList();
sendMessageList.forEach(s -> {
- String userIdList = list.stream()
- .filter(dingtalk -> {
- String[] purviews = dingtalk.getPurview().split(",");
- return Arrays.asList(purviews).contains(s.getProcNo());
- }).map(SendDingtalk::getUserId).collect(Collectors.joining(","));
+ // 鑾峰彇褰撳墠鏃堕棿鐨� LocalDateTime锛屽拷鐣ョ
+ LocalDateTime now = LocalDateTime.now().withSecond(0).withNano(0);
- //閽夐拤鐨勮鍒欓檺鍒� 缁欏悓涓�鍛樺伐涓�澶╁彧鑳藉彂閫佷竴鏉″唴瀹圭浉鍚岀殑娑堟伅閫氱煡銆�
+ // 姣旇緝鏃堕棿锛屽垽鏂� sendDate 鏄惁澶т簬褰撳墠鏃堕棿浜斿垎閽�
+ boolean isGreaterThanFiveMinutes = s.getSendDate().plusMinutes(Minutes).isBefore(now);
+
+ if (!isGreaterThanFiveMinutes) {
+ return;
+ }
+
+ String userIdList = list.stream().filter(dingtalk -> {
+ String[] purviews = dingtalk.getPurview().split(",");
+ return Arrays.asList(purviews).contains(s.getProcNo());
+ }).map(SendDingtalk::getUserId).collect(Collectors.joining(","));
+
String message = s.getLineName() + s.getProcName() + ",璇峰敖蹇鐞�";
DingTalkMessage dingTalkMessage = null;
--
Gitblit v1.9.3