From 4b2ca88276b33d71467a2428f702e80a22602d15 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 31 Oct 2022 18:16:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=B6=88=E6=81=AF=E7=AE=A1=E7=90=86):=20?= =?UTF-8?q?=E5=8D=95=E4=B8=80=E6=B8=A0=E9=81=93=E5=BC=82=E5=B8=B8=E9=98=BB?= =?UTF-8?q?=E5=A1=9E=E5=85=A8=E9=83=A8=E6=B6=88=E6=81=AF=E6=B8=A0=E9=81=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/message/SysMsgService.java | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/message/SysMsgService.java b/backend/src/main/java/io/dataease/service/message/SysMsgService.java index 3621bf8d66..721a466c5b 100644 --- a/backend/src/main/java/io/dataease/service/message/SysMsgService.java +++ b/backend/src/main/java/io/dataease/service/message/SysMsgService.java @@ -1,5 +1,6 @@ package io.dataease.service.message; +import io.dataease.commons.utils.LogUtil; import io.dataease.ext.ExtSysMsgMapper; import io.dataease.commons.constants.SysMsgConstants; import io.dataease.commons.utils.AuthUtils; @@ -25,6 +26,7 @@ import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @@ -65,7 +67,7 @@ public class SysMsgService { orderClause = String.join(", ", orders); } - if (CollectionUtils.isNotEmpty(typeIds)){ + if (CollectionUtils.isNotEmpty(typeIds)) { criteria.andTypeIdIn(typeIds); } @@ -120,7 +122,7 @@ public class SysMsgService { return sysMsgTypeMapper.selectByExample(example); } - private List buildTree(List lists){ + private List buildTree(List lists) { List rootNodes = new ArrayList<>(); lists.forEach(node -> { SettingTreeNode settingTreeNode = convert(node); @@ -183,6 +185,7 @@ public class SysMsgService { /** * 修改了订阅信息 需要清除缓存 + * * @param request * @param userId */ @@ -241,22 +244,29 @@ public class SysMsgService { List subscribes = subscribes(userId); if (CollectionUtils.isNotEmpty(subscribes)) { - subscribes.stream().filter(item -> item.getTypeId().equals(typeId)).forEach(sub -> { - SendService sendService = serviceByChannel(sub.getChannelId()); - sendService.sendMsg(userId, typeId, content, param); - }); - + for (int i = 0; i < subscribes.size(); i++) { + SubscribeNode item = subscribes.get(i); + if (item.getTypeId().equals(typeId)) { + try { + SendService sendService = serviceByChannel(item.getChannelId()); + sendService.sendMsg(userId, typeId, content, param); + } catch (Exception e) { + LogUtil.error(e.getMessage(), e); + } + } + } } } - private SendService serviceByChannel(Long channelId){ + private SendService serviceByChannel(Long channelId) { String beanName = sysMsgChannelMapper.selectByPrimaryKey(channelId).getServiceName(); - return (SendService)CommonBeanFactory.getBean(beanName); + return (SendService) CommonBeanFactory.getBean(beanName); } /** * 查询用户订阅的消息 并缓存 + * * @param userId * @return */ @@ -280,7 +290,7 @@ public class SysMsgService { List defaultSettings = defaultSettings(); defaultSettings.forEach(setting -> { - if (!sourceLists.stream().anyMatch(item -> item.match(setting))){ + if (!sourceLists.stream().anyMatch(item -> item.match(setting))) { sourceLists.add(setting); } }); @@ -297,7 +307,7 @@ public class SysMsgService { public Long overTime() { String msgTimeOut = systemParameterService.basicInfo().getMsgTimeOut(); - if(StringUtils.isNotBlank(msgTimeOut)) { + if (StringUtils.isNotBlank(msgTimeOut)) { overDays = Integer.parseInt(msgTimeOut); } Long currentTime = System.currentTimeMillis(); @@ -307,9 +317,8 @@ public class SysMsgService { long temp = overDays * oneDayTime; return currentTime - (currentTime + 8 * 60 * 60 * 1000) % oneDayTime - temp; - + } - }