From 3a740faa161ec976986c0735ba18837f570a525f Mon Sep 17 00:00:00 2001 From: hyingbo <1363390067@qq.com> Date: 星期二, 27 五月 2025 19:04:07 +0800 Subject: [PATCH] 消息类型拆分并按类型推送至不同角色 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java | 29 +++++++++++++++++------------ 1 files changed, 17 insertions(+), 12 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java index bb5732c..fc04271 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java @@ -3,6 +3,7 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.dto.message.MessageDTO; import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.constant.enums.MessageSplitTypeEnum; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.vo.DictModel; import org.jeecg.modules.mdc.constant.MdcConstant; @@ -31,6 +32,7 @@ import java.time.LocalDate; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -38,8 +40,6 @@ * @Description: 鍒╃敤鐜囨甯稿�硷紝璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ * @date 2024/1/17 14:10 */ -@PersistJobDataAfterExecution -@DisallowConcurrentExecution @Slf4j public class RunningEquipmentStatusJob implements Job { @@ -104,10 +104,12 @@ if (dictModelList3 != null && !dictModelList3.isEmpty()) { equipmentStatusJudge = Integer.valueOf(dictModelList3.get(0).getValue()); } + Map<String, String> proNamesByEquipmentIds = mdcEquipmentService.getProNamesByEquipmentIds(equipmentList.stream().map(MdcEquipment::getId).collect(Collectors.toList())); for (MdcEquipment mdcEquipment : equipmentList) { + String productionName = proNamesByEquipmentIds.get(mdcEquipment.getId()); // 鍒ゆ柇鍒╃敤鐜� // step.1 鏌ヨ娑堟伅涓璁惧鎶ヨ鏃堕棿 - SysAnnouncement sysAnnouncement = sysAnnouncementService.findLastMessage("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囧埄鐢ㄧ巼浣庝簬姝e父鍊兼姤璀︼紒"); + SysAnnouncement sysAnnouncement = sysAnnouncementService.findLastMessage("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囧埄鐢ㄧ巼浣庝簬姝e父鍊硷紒"); boolean flag1 = true; if (sysAnnouncement != null) { Date createTime = sysAnnouncement.getCreateTime(); @@ -132,18 +134,19 @@ if (flag) { // 涓婃姤 MessageDTO messageDTO = new MessageDTO(); - messageDTO.setTitle("璁惧鍒╃敤鐜囨姤璀︼紒"); + messageDTO.setTitle("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囧埄鐢ㄧ巼浣庝簬姝e父鍊硷紒"); messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2); + messageDTO.setMessageType(MessageSplitTypeEnum.deviceRunError.getType()); messageDTO.setFromUser("admin"); messageDTO.setToUser("admin"); - messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囧埄鐢ㄧ巼浣庝簬姝e父鍊兼姤璀︼紒"); + messageDTO.setContent("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囧埄鐢ㄧ巼浣庝簬姝e父鍊硷紒"); sysBaseApi.sendSysAnnouncement(messageDTO); } } } // 鍒ゆ柇璁惧鐘舵�侀暱鏃堕棿鏃犲彉鍖栧鎵逛汉 - SysAnnouncement sysAnnouncement1 = sysAnnouncementService.findLastMessage("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�"); + SysAnnouncement sysAnnouncement1 = sysAnnouncementService.findLastMessage("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲锛�"); if (sysAnnouncement1 != null) { Date createTime = sysAnnouncement1.getCreateTime(); Date msgDate = DateUtils.toDate(DateUtils.format(createTime, DateUtils.STR_DATE), DateUtils.STR_DATE); @@ -172,28 +175,30 @@ if (adminList != null && !adminList.isEmpty()) { for (SysUser sysUser : adminList) { MessageDTO messageDTO = new MessageDTO(); - messageDTO.setTitle("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ锛�"); + messageDTO.setTitle("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲锛�"); messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2); + messageDTO.setMessageType(MessageSplitTypeEnum.deviceRunError.getType()); messageDTO.setFromUser("admin"); messageDTO.setToUser(sysUser.getUsername()); - messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�"); + messageDTO.setContent("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲锛�"); sysBaseApi.sendSysAnnouncement(messageDTO); } } else { MessageDTO messageDTO = new MessageDTO(); - messageDTO.setTitle("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ锛�"); + messageDTO.setTitle("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲锛�"); messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2); + messageDTO.setMessageType(MessageSplitTypeEnum.deviceRunError.getType()); messageDTO.setFromUser("admin"); messageDTO.setToUser("admin"); - messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�"); + messageDTO.setContent("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲锛�"); sysBaseApi.sendSysAnnouncement(messageDTO); } if (adminList != null && !adminList.isEmpty() && superList != null && !superList.isEmpty()) { MdcMessageApproval mdcMessageApproval = new MdcMessageApproval(); mdcMessageApproval.setEquipmentId(mdcEquipment.getEquipmentId()); - mdcMessageApproval.setTitile("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ锛�"); - mdcMessageApproval.setMsgContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�"); + mdcMessageApproval.setTitile("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲锛�"); + mdcMessageApproval.setMsgContent("銆愯澶囧紓甯告彁閱掋��" + productionName + "杞﹂棿璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲锛�"); List<String> senderIdList = adminList.stream().map(SysUser::getId).collect(Collectors.toList()); mdcMessageApproval.setSenderIds(String.join(",", senderIdList)); List<String> senderNameList = adminList.stream().map(SysUser::getRealname).collect(Collectors.toList()); -- Gitblit v1.9.3