feat(module-system): 优化消息查询和处理功能
- 在 AnnouncementSendModel 中添加字典注解,用于优先级和消息类型 - 修改 DeviceStatusJob 中的报警规则类型 - 更新 EduSendMsgJob 中的消息推送逻辑,增加优先级参数 - 调整 SysAnnouncementController 中的消息查询逻辑,支持多类别系统消息 - 修改 SysAnnouncementMapper 接口,调整会议通知消息的查询方法- 更新 SysAnnouncementMapper.xml 中的 SQL 查询,支持多类别系统消息查询
正在显示
6 个修改的文件
包含
78 行增加
和
73 行删除
... | @@ -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; | ... | ... |
-
请 注册 或 登录 后发表评论