From 16bbd0a2e072bafea1dc254fbbcf86768fb3ea48 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期一, 18 十一月 2024 14:57:18 +0800 Subject: [PATCH] 钉钉推送消息,通过机器人发送到个人 --- src/main/java/com/gs/dingtalk/service/impl/SendDingtalkServiceImpl.java | 27 ++++++++++++++++++--------- 1 files changed, 18 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..c267e80 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,7 @@ List<SendDingtalk> list = list(wrapper); - getMessage(list); + getMessage(list, 5); } @Override @@ -88,7 +89,7 @@ List<SendDingtalk> list = list(wrapper); - getMessage(list); + getMessage(list, 30); } @Override @@ -117,18 +118,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