超时通知
This commit is contained in:
parent
3adaa2e822
commit
a8b8408307
@ -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<Long> 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user