b2fd0881 张雷

feat(module-system): 优化消息查询和处理功能

- 在 AnnouncementSendModel 中添加字典注解,用于优先级和消息类型
- 修改 DeviceStatusJob 中的报警规则类型
- 更新 EduSendMsgJob 中的消息推送逻辑,增加优先级参数
- 调整 SysAnnouncementController 中的消息查询逻辑,支持多类别系统消息
- 修改 SysAnnouncementMapper 接口,调整会议通知消息的查询方法- 更新 SysAnnouncementMapper.xml 中的 SQL 查询,支持多类别系统消息查询
1 个父辈 780fb479
...@@ -284,7 +284,7 @@ public class DeviceStatusJob implements Job { ...@@ -284,7 +284,7 @@ public class DeviceStatusJob implements Job {
284 if ("add".equals(status)) { 284 if ("add".equals(status)) {
285 AlarmRecordHistory alarmRecordHistory = new AlarmRecordHistory(); 285 AlarmRecordHistory alarmRecordHistory = new AlarmRecordHistory();
286 alarmRecordHistory.setAlarmParamCode(plc); 286 alarmRecordHistory.setAlarmParamCode(plc);
287 alarmRecordHistory.setAlarmRuleType("6"); 287 alarmRecordHistory.setAlarmRuleType("B001B005");
288 alarmRecordHistory.setAlarmParamType(paramType); 288 alarmRecordHistory.setAlarmParamType(paramType);
289 alarmRecordHistory.setActualAvgValue("断线"); 289 alarmRecordHistory.setActualAvgValue("断线");
290 alarmRecordHistory.setDelFlag(1); 290 alarmRecordHistory.setDelFlag(1);
......
...@@ -66,7 +66,7 @@ public class EduSendMsgJob implements Job { ...@@ -66,7 +66,7 @@ public class EduSendMsgJob implements Job {
66 userIds = getNoExamUserIds(paper.getExamUserIds(),paper.getUserIds()); 66 userIds = getNoExamUserIds(paper.getExamUserIds(),paper.getUserIds());
67 if(StringUtils.isNotEmpty(userIds)){ 67 if(StringUtils.isNotEmpty(userIds)){
68 //pushMsgNoProcess(messageTitle,messageBody,userIds); 68 //pushMsgNoProcess(messageTitle,messageBody,userIds);
69 smsService.pushMsgNoProcess( messageTitle , messageBody , userIds, "Paper", msgCategory); 69 smsService.pushMsgNoProcess( messageTitle , messageBody , userIds, "Paper", msgCategory,"H");
70 } 70 }
71 71
72 } 72 }
...@@ -80,7 +80,7 @@ public class EduSendMsgJob implements Job { ...@@ -80,7 +80,7 @@ public class EduSendMsgJob implements Job {
80 userIds = getNoExamUserIds(paper.getExamUserIds(),paper.getUserIds()); 80 userIds = getNoExamUserIds(paper.getExamUserIds(),paper.getUserIds());
81 if(StringUtils.isNotEmpty(userIds)){ 81 if(StringUtils.isNotEmpty(userIds)){
82 //pushMsgNoProcess(messageTitle,messageBody,userIds); 82 //pushMsgNoProcess(messageTitle,messageBody,userIds);
83 smsService.pushMsgNoProcess( messageTitle , messageBody , userIds, "Paper", msgCategory); 83 smsService.pushMsgNoProcess( messageTitle , messageBody , userIds, "Paper", msgCategory,"H");
84 } 84 }
85 } 85 }
86 } 86 }
......
...@@ -73,9 +73,9 @@ public class SysAnnouncementController { ...@@ -73,9 +73,9 @@ public class SysAnnouncementController {
73 Result<IPage<SysAnnouncement>> result = new Result<IPage<SysAnnouncement>>(); 73 Result<IPage<SysAnnouncement>> result = new Result<IPage<SysAnnouncement>>();
74 sysAnnouncement.setDelFlag(CommonConstant.DEL_FLAG_0.toString()); 74 sysAnnouncement.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
75 //QueryWrapper<SysAnnouncement> queryWrapper = new QueryWrapper<SysAnnouncement>(sysAnnouncement); 75 //QueryWrapper<SysAnnouncement> queryWrapper = new QueryWrapper<SysAnnouncement>(sysAnnouncement);
76 76
77 QueryWrapper<SysAnnouncement> queryWrapper = QueryGenerator.initQueryWrapper(sysAnnouncement, req.getParameterMap()); 77 QueryWrapper<SysAnnouncement> queryWrapper = QueryGenerator.initQueryWrapper(sysAnnouncement, req.getParameterMap());
78 78
79 Page<SysAnnouncement> page = new Page<SysAnnouncement>(pageNo, pageSize); 79 Page<SysAnnouncement> page = new Page<SysAnnouncement>(pageNo, pageSize);
80 //排序逻辑 处理 80 //排序逻辑 处理
81 String column = req.getParameter("column"); 81 String column = req.getParameter("column");
...@@ -87,8 +87,8 @@ public class SysAnnouncementController { ...@@ -87,8 +87,8 @@ public class SysAnnouncementController {
87 queryWrapper.orderByDesc(ConvertUtils.camelToUnderline(column)); 87 queryWrapper.orderByDesc(ConvertUtils.camelToUnderline(column));
88 } 88 }
89 } 89 }
90 90
91 91
92 IPage<SysAnnouncement> pageList = sysAnnouncementService.page(page, queryWrapper); 92 IPage<SysAnnouncement> pageList = sysAnnouncementService.page(page, queryWrapper);
93 log.info("查询当前页:" + pageList.getCurrent()); 93 log.info("查询当前页:" + pageList.getCurrent());
94 log.info("查询当前页数量:" + pageList.getSize()); 94 log.info("查询当前页数量:" + pageList.getSize());
...@@ -362,12 +362,11 @@ public class SysAnnouncementController { ...@@ -362,12 +362,11 @@ public class SysAnnouncementController {
362 Page<SysAnnouncement> anntMsgList = new Page<SysAnnouncement>(0, 5); 362 Page<SysAnnouncement> anntMsgList = new Page<SysAnnouncement>(0, 5);
363 anntMsgList = sysAnnouncementService.querySysCementPageByUserId(anntMsgList, userId, "1");//通知公告消息 363 anntMsgList = sysAnnouncementService.querySysCementPageByUserId(anntMsgList, userId, "1");//通知公告消息
364 Page<SysAnnouncement> sysMsgList = new Page<SysAnnouncement>(0, 5); 364 Page<SysAnnouncement> sysMsgList = new Page<SysAnnouncement>(0, 5);
365 sysMsgList = sysAnnouncementService.querySysCementPageByUserId(sysMsgList, userId, "2");//系统消息 365 sysMsgList = sysAnnouncementService.querySysCementPageByUserId(sysMsgList, userId, "2,4,5,6,7,8,9,10,11,12,13");//系统消息
366 Page<SysAnnouncement> alarmList = new Page<SysAnnouncement>(0, 5); 366 Page<SysAnnouncement> alarmList = new Page<SysAnnouncement>(0, 5);
367 alarmList = sysAnnouncementService.querySysCementPageByUserId(alarmList, userId, "3");//报警通知 367 alarmList = sysAnnouncementService.querySysCementPageByUserId(alarmList, userId, "3");//报警通知
368 Page meetingMsgList = new Page(0, 100); 368 Page meetingMsgList = new Page(0, 100);
369 meetingMsgList = sysAnnouncementService.queryMeetingListByUserId(meetingMsgList, userId, "6");//会议通知消息 369 // meetingMsgList = sysAnnouncementService.queryMeetingListByUserId(meetingMsgList, userId, "6");//会议通知消息
370 //meetingMsgList = sysAnnouncementService.querySysCementPageByUserId(meetingMsgList,userId,"6");//会议通知消息
371 Map<String, Object> sysMsgMap = new HashMap<String, Object>(); 370 Map<String, Object> sysMsgMap = new HashMap<String, Object>();
372 sysMsgMap.put("sysMsgList", sysMsgList.getRecords()); 371 sysMsgMap.put("sysMsgList", sysMsgList.getRecords());
373 sysMsgMap.put("sysMsgTotal", sysMsgList.getTotal()); 372 sysMsgMap.put("sysMsgTotal", sysMsgList.getTotal());
......
...@@ -14,8 +14,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -14,8 +14,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
14 */ 14 */
15 public interface SysAnnouncementMapper extends BaseMapper<SysAnnouncement> { 15 public interface SysAnnouncementMapper extends BaseMapper<SysAnnouncement> {
16 16
17
18 List<SysAnnouncement> querySysCementListByUserId(Page<SysAnnouncement> page, @Param("userId")String userId,@Param("msgCategory")String msgCategory); 17 List<SysAnnouncement> querySysCementListByUserId(Page<SysAnnouncement> page, @Param("userId")String userId,@Param("msgCategory")String msgCategory);
18
19 List<Map<String,Object>> queryMeetingListByUserId(Page<SysAnnouncement> page, @Param("userId")String userId,@Param("msgCategory")String msgCategory); 19 List<Map<String,Object>> queryMeetingListByUserId(Page<SysAnnouncement> page, @Param("userId")String userId,@Param("msgCategory")String msgCategory);
20 20
21 List<SysAnnouncement> getListByParam(Map<String, Object> map); 21 List<SysAnnouncement> getListByParam(Map<String, Object> map);
......
...@@ -26,73 +26,76 @@ ...@@ -26,73 +26,76 @@
26 26
27 <select id="querySysCementListByUserId" parameterType="String" resultMap="SysAnnouncement"> 27 <select id="querySysCementListByUserId" parameterType="String" resultMap="SysAnnouncement">
28 SELECT 28 SELECT
29 a.`id`, 29 a.`id`,
30 a.`titile`, 30 a.`titile`,
31 a.`msg_content`, 31 a.`msg_content`,
32 a.`start_time`, 32 a.`start_time`,
33 a.`end_time`, 33 a.`end_time`,
34 a.`priority`, 34 a.`priority`,
35 a.`msg_category`, 35 a.`msg_category`,
36 a.`msg_type`, 36 a.`msg_type`,
37 a.`send_status`, 37 a.`send_status`,
38 a.`send_time`, 38 a.`send_time`,
39 a.`cancel_time`, 39 a.`cancel_time`,
40 a.`del_flag`, 40 a.`del_flag`,
41 a.`create_by`, 41 a.`create_by`,
42 a.`create_time`, 42 a.`create_time`,
43 a.`update_by`, 43 a.`update_by`,
44 a.`update_time`, 44 a.`update_time`,
45 a.`user_ids`, 45 a.`user_ids`,
46 a.`docu_addr`, 46 a.`docu_addr`,
47 b.`realname` AS sender 47 b.`realname` AS sender
48 FROM 48 FROM
49 sys_announcement a 49 sys_announcement a
50 LEFT JOIN sys_user b ON a.sender = b.username 50 LEFT JOIN sys_user b ON a.sender = b.username
51 where a.send_status = '1' 51 where a.send_status = '1'
52 and a.del_flag = '0' 52 and a.del_flag = '0'
53 and a.msg_category = #{msgCategory} 53 and a.msg_category in
54 and a.id IN ( select annt_id from sys_announcement_send where user_id = #{userId} and read_flag = '0') order by a.`send_time` desc 54 <foreach item="item" index="index" collection="msgCategory.split(',')" open="(" separator="," close=")">
55 #{item}
56 </foreach>
57 and a.id IN ( select annt_id from sys_announcement_send where user_id = #{userId} and read_flag = '0')
58 order by a.`send_time` desc
55 </select> 59 </select>
56 60
57 61
58 <select id="queryMeetingListByUserId" parameterType="String" resultType="map"> 62 <select id="queryMeetingListByUserId" parameterType="String" resultType="map">
59 SELECT 63 SELECT
60 a.`id`, 64 a.`id`,
61 a.`titile`, 65 a.`titile`,
62 a.`msg_content` as msgContent, 66 a.`msg_content` as msgContent,
63 a.`priority`, 67 a.`priority`,
64 a.`msg_category` as msgCategory, 68 a.`msg_category` as msgCategory,
65 a.`msg_type` as msgType, 69 a.`msg_type` as msgType,
66 a.`send_status`as sendStatus, 70 a.`send_status`as sendStatus,
67 a.`send_time`as sendTime, 71 a.`send_time`as sendTime,
68 a.`cancel_time` as cancelTime, 72 a.`cancel_time` as cancelTime,
69 a.`del_flag` as delFlag, 73 a.`del_flag` as delFlag,
70 a.`create_by` as createBy, 74 a.`create_by` as createBy,
71 a.`create_time` as createTime, 75 a.`create_time` as createTime,
72 a.`update_by` as updateBy, 76 a.`update_by` as updateBy,
73 a.`update_time` as updateTime, 77 a.`update_time` as updateTime,
74 a.`user_ids` as userIds, 78 a.`user_ids` as userIds,
75 a.`docu_addr` as docuAddr, 79 a.`docu_addr` as docuAddr,
76 b.`realname` AS sender, 80 b.`realname` AS sender,
77 c.id as meetingRoomId, 81 c.id as meetingRoomId,
78 c.meeting_title as meetingTitle, 82 c.meeting_title as meetingTitle,
79 c.meeting_content as meetingContent, 83 c.meeting_content as meetingContent,
80 c.meeting_site as meetingSite, 84 c.meeting_site as meetingSite,
81 c.meeting_capacity as meetingCapacity, 85 c.meeting_capacity as meetingCapacity,
82 c.annt_id as AnntId, 86 c.annt_id as AnntId,
83 c.start_time as startTime, 87 c.start_time as startTime,
84 c.end_time as endTime, 88 c.end_time as endTime,
85 d.id as meetingAccountId, 89 d.id as meetingAccountId,
86 d.meeting_number as meetingNumber, 90 d.meeting_number as meetingNumber,
87 d.account_number as accountNumber, 91 d.account_number as accountNumber,
88 d.capacity, 92 d.capacity,
89 d.equipment 93 d.equipment
90 94 FROM
91 FROM 95 sys_announcement a
92 sys_announcement a 96 LEFT JOIN sys_user b ON a.sender = b.username
93 LEFT JOIN sys_user b ON a.sender = b.username 97 left join meeting_room c on a.id = c.annt_id
94 left join meeting_room c on a.id = c.annt_id 98 left join meeting_account d on c.meeting_id = d.id
95 left join meeting_account d on c.meeting_id = d.id
96 where a.send_status = '1' 99 where a.send_status = '1'
97 and a.del_flag = '0' 100 and a.del_flag = '0'
98 and a.msg_category = #{msgCategory} 101 and a.msg_category = #{msgCategory}
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
5 import com.baomidou.mybatisplus.annotation.TableId; 5 import com.baomidou.mybatisplus.annotation.TableId;
6 import com.baomidou.mybatisplus.annotation.TableName; 6 import com.baomidou.mybatisplus.annotation.TableName;
7 import com.fasterxml.jackson.annotation.JsonFormat; 7 import com.fasterxml.jackson.annotation.JsonFormat;
8 import com.skua.core.aspect.annotation.Dict;
8 import lombok.Data; 9 import lombok.Data;
9 import org.springframework.format.annotation.DateTimeFormat; 10 import org.springframework.format.annotation.DateTimeFormat;
10 11
...@@ -32,6 +33,7 @@ public class AnnouncementSendModel implements Serializable { ...@@ -32,6 +33,7 @@ public class AnnouncementSendModel implements Serializable {
32 /**发布人*/ 33 /**发布人*/
33 private java.lang.String sender; 34 private java.lang.String sender;
34 /**优先级(L低,M中,H高)*/ 35 /**优先级(L低,M中,H高)*/
36 @Dict(dicCode = "priority")
35 private java.lang.String priority; 37 private java.lang.String priority;
36 /**阅读状态*/ 38 /**阅读状态*/
37 private java.lang.String readFlag; 39 private java.lang.String readFlag;
...@@ -46,6 +48,7 @@ public class AnnouncementSendModel implements Serializable { ...@@ -46,6 +48,7 @@ public class AnnouncementSendModel implements Serializable {
46 /** 48 /**
47 * 消息类型1:通知公告2:系统消息 49 * 消息类型1:通知公告2:系统消息
48 */ 50 */
51 @Dict(dicCode = "msg_category")
49 private java.lang.String msgCategory; 52 private java.lang.String msgCategory;
50 53
51 private java.lang.String alarmType; 54 private java.lang.String alarmType;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!