| | |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Component; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.system.domain.SysMessage; |
| | | import com.ruoyi.system.domain.SysTask; |
| | | import com.ruoyi.system.domain.SysTaskEmergency; |
| | | import com.ruoyi.system.event.TaskCreatedEvent; |
| | | import com.ruoyi.system.event.TaskAssignedEvent; |
| | | import com.ruoyi.system.event.TaskStatusChangedEvent; |
| | | import com.ruoyi.system.mapper.SysMessageMapper; |
| | | import com.ruoyi.system.mapper.SysUserMapper; |
| | | import com.ruoyi.system.mapper.SysTaskMapper; |
| | | import com.ruoyi.system.mapper.SysTaskEmergencyMapper; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.system.service.IWechatTaskNotifyService; |
| | | |
| | | import java.util.HashMap; |
| | | |
| | | /** |
| | | * 任务消息监听器 |
| | |
| | | |
| | | @Autowired |
| | | private SysUserMapper sysUserMapper; |
| | | |
| | | @Autowired |
| | | private SysTaskMapper sysTaskMapper; |
| | | |
| | | @Autowired |
| | | private SysTaskEmergencyMapper sysTaskEmergencyMapper; |
| | | |
| | | @Autowired |
| | | private IWechatTaskNotifyService wechatTaskNotifyService; |
| | | |
| | | /** |
| | | * 监听任务创建事件 |
| | |
| | | return; |
| | | } |
| | | |
| | | // 给每个执行人发送消息 |
| | | // 给每个执行人发送站内消息 |
| | | for (int i = 0; i < event.getAssigneeIds().size(); i++) { |
| | | Long assigneeId = event.getAssigneeIds().get(i); |
| | | |
| | |
| | | continue; |
| | | } |
| | | |
| | | // 创建消息 |
| | | // 创建站内消息 |
| | | SysMessage message = new SysMessage(); |
| | | message.setMessageType("PUSH"); |
| | | message.setMessageTitle("任务推送"); |
| | |
| | | log.info("任务分配消息已保存,消息ID:{},接收人:{}", message.getMessageId(), assignee.getNickName()); |
| | | } |
| | | |
| | | // 发送微信订阅消息(排除创建人) |
| | | try { |
| | | SysTask task = sysTaskMapper.selectSysTaskByTaskId(event.getTaskId()); |
| | | Long creatorId = task != null ? task.getCreatorId() : null; |
| | | wechatTaskNotifyService.sendTaskNotifyMessage(event.getTaskId(), event.getAssigneeIds(), creatorId); |
| | | } catch (Exception e) { |
| | | log.error("处理任务分配事件时发送微信订阅消息失败", e); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | log.error("处理任务分配事件失败", e); |
| | | } |