From a8b8408307f37888a7030f95fb69610bc3c34eb8 Mon Sep 17 00:00:00 2001 From: nyoung <12190070+nyoungo@user.noreply.gitee.com> Date: Thu, 5 Sep 2024 11:10:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E6=97=B6=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rescue/utils/RedissonDelayQueue.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/utils/RedissonDelayQueue.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/utils/RedissonDelayQueue.java index 4c5c5149..1458dab3 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/utils/RedissonDelayQueue.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/utils/RedissonDelayQueue.java @@ -4,6 +4,11 @@ import cn.iocoder.yudao.module.appBase.domain.SysAnnouncement; import cn.iocoder.yudao.module.appBase.service.ISysAnnouncementService; import cn.iocoder.yudao.module.constant.UserConstants; import cn.iocoder.yudao.module.rescue.dto.TaskDto; +import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO; +import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; +import cn.iocoder.yudao.module.system.service.permission.PermissionService; +import cn.iocoder.yudao.module.system.service.permission.RoleService; +import cn.iocoder.yudao.module.system.service.user.AdminUserService; import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -16,6 +21,7 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.util.Collections; +import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; @@ -45,6 +51,10 @@ public class RedissonDelayQueue { @Resource private ISysAnnouncementService announcementService; + @Resource + private RoleService roleService; + @Resource + private PermissionService permissionService; /** * 初始化方法,在 Spring 容器加载后自动执行。 @@ -81,7 +91,20 @@ public class RedissonDelayQueue { sysAnnouncement.setContent("有救援订单超时请立即处理"); announcementService.insertSysAnnouncements(sysAnnouncement); - // TODO 还要通知总调度 + // 发送订单信息给其他人 经理 总调度 将这俩人指定 救援其他通知人 角色 + RoleDO roleDO = roleService.queryRole("rescueOtherNotify"); + if(null!=roleDO){ + List userIds = permissionService.getUserIdByRoleId(roleDO.getId()); + if(!userIds.isEmpty()){ + // 发消息 + SysAnnouncement otherAnnouncement = new SysAnnouncement(); + otherAnnouncement.setType("救援超时信息"); + otherAnnouncement.setToUserIds(userIds); + otherAnnouncement.setTitle("有救援订单超时请立即处理"); + otherAnnouncement.setContent("有救援订单超时请立即处理"); + announcementService.insertSysAnnouncements(otherAnnouncement); + } + } /** 两个值虽然一样,但避免无法删除一直存在问题,干脆重新来过 */ // 移除原来的 @@ -186,4 +209,4 @@ public class RedissonDelayQueue { // 如果任何一个队列中移除成功,则返回 true return removedFromDelayed || removedFromBlocking; } -} \ No newline at end of file +}