WebNoticePushServiceExt.java
4.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package com.skua.modules.system.service;
import com.alibaba.fastjson.JSONObject;
import com.skua.core.context.SpringContextUtils;
import com.skua.core.service.ISequenceService;
import com.skua.core.util.ConvertUtils;
import com.skua.core.util.DateUtils;
import com.skua.core.util.push.IWebSocketPushService;
import com.skua.core.util.push.MessageEntity;
import com.skua.core.util.push.impl.WebNoticePushServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* @auther kangwei
* @create 2025-03-04-18:43
*/
@Service("WebNoticePushServiceExt")
public class WebNoticePushServiceExt {
private static final Logger log = LoggerFactory.getLogger(WebNoticePushServiceImpl.class);
@Autowired
private ISequenceService sequenceService;
public WebNoticePushServiceExt() {
}
public void pushMessage(MessageEntity messageEntity,String msgCategory) {
JdbcTemplate masterDB = (JdbcTemplate) SpringContextUtils.getBean("master");
List<String> userIds = messageEntity.getReceiveUser();
String sendUser = messageEntity.getSendUser();
String title = messageEntity.getMessageTitle();
String message = messageEntity.getMessageBody();
String tzId = String.valueOf(this.sequenceService.nextId());
String forwardTag = messageEntity.getForwardTag();
List<Map<String, Object>> extMapList = messageEntity.getExtMapList();
String userIdStr = "";
Object webSocketPushServiceObject = SpringContextUtils.getBean("webSocketPushService");
Iterator var12 = userIds.iterator();
String alarmType;
while(var12.hasNext()) {
String userId = (String)var12.next();
userIdStr = userIdStr + userId + ",";
alarmType = "insert into sys_announcement_send (id,annt_id,user_id,read_flag) values('" + this.sequenceService.nextId() + "','" + tzId + "','" + userId + "','0')";
masterDB.update(alarmType);
}
String insertTzSql = "INSERT INTO sys_announcement (id,titile,msg_content,sender,msg_category,msg_type,send_status,send_time,del_flag,create_by,create_time,user_ids,depart_id)VALUES('" + tzId + "','" + title + "','" + message + "','" + sendUser + "','"+msgCategory+"','USER','1','" + DateUtils.now() + "','0','" + sendUser + "','" + DateUtils.now() + "','" + userIdStr + "','A01')";
if (extMapList != null && extMapList.size() > 0) {
System.out.println("报警业务逻辑插入");
Map<String, String> extMap = new HashMap();
extMapList.forEach((map) -> {
extMap.put(ConvertUtils.getString(map.get("key"), ""), ConvertUtils.getString(map.get("value"), ""));
});
alarmType = (String)extMap.get("alarmType");
String id = (String)extMap.get("id");
if (StringUtils.isNotEmpty(alarmType) && StringUtils.isNotEmpty(id)) {
insertTzSql = "INSERT INTO sys_announcement (id,titile,msg_content,sender,msg_category,msg_type,send_status,send_time,del_flag,create_by,create_time,user_ids,depart_id,alarm_type,alarm_record_id)VALUES('" + tzId + "','" + title + "','" + message + "','" + sendUser + "','3','ALARM','1','" + DateUtils.now() + "','0','" + sendUser + "','" + DateUtils.now() + "','" + userIdStr + "','A01','" + alarmType + "','" + id + "')";
}
}
masterDB.update(insertTzSql);
if (webSocketPushServiceObject != null) {
IWebSocketPushService webSocketPushService = (IWebSocketPushService)webSocketPushServiceObject;
JSONObject obj = new JSONObject();
obj.put("cmd", forwardTag);
obj.put("msgPriority", "M");
obj.put("msgId", tzId);
obj.put("msgTxt", message);
obj.put("msgExt", extMapList);
webSocketPushService.webSocketPush((String[])userIds.toArray(new String[userIds.size()]), obj);
}
}
}