|
@@ -142,7 +142,8 @@ public class MqttSubHandle {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 2 存储跌倒确认事件
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 2 有跌倒事件发生
|
|
|
if (messageType == 3 && ("fall_confirmed").equals(event)) {
|
|
if (messageType == 3 && ("fall_confirmed").equals(event)) {
|
|
|
|
|
|
|
|
BigDecimal[][] targetPoints = new BigDecimal[targetPointArray.size()][3];
|
|
BigDecimal[][] targetPoints = new BigDecimal[targetPointArray.size()][3];
|
|
@@ -152,32 +153,33 @@ public class MqttSubHandle {
|
|
|
}
|
|
}
|
|
|
String targetPointsStr = JSON.toJSONString(targetPoints);
|
|
String targetPointsStr = JSON.toJSONString(targetPoints);
|
|
|
|
|
|
|
|
|
|
+ //存储跌倒时间到数据库
|
|
|
EventList eventListVO = new EventList();
|
|
EventList eventListVO = new EventList();
|
|
|
eventListVO.setDevId(dev.getDevId());
|
|
eventListVO.setDevId(dev.getDevId());
|
|
|
- eventListVO.setPose((int)pose);
|
|
|
|
|
|
|
+ eventListVO.setPose((int) pose);
|
|
|
eventListVO.setIsHandle(0);
|
|
eventListVO.setIsHandle(0);
|
|
|
eventListVO.setTargetPoints(targetPointsStr);
|
|
eventListVO.setTargetPoints(targetPointsStr);
|
|
|
- eventListVO.setEventType((int)messageType);
|
|
|
|
|
|
|
+ eventListVO.setEventType((int) messageType);
|
|
|
eventService.save(eventListVO);
|
|
eventService.save(eventListVO);
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- // 3 向前端发送数据
|
|
|
|
|
- JSONArray targetPointOne = targetPointArray.getJSONArray(0);
|
|
|
|
|
- BigDecimal x = targetPointOne.getBigDecimal(0);
|
|
|
|
|
- BigDecimal y = targetPointOne.getBigDecimal(1);
|
|
|
|
|
- JSONObject msg = new JSONObject();
|
|
|
|
|
- msg.put("target_points", targetPointArray);
|
|
|
|
|
- msg.put("x", x);
|
|
|
|
|
- msg.put("y", y);
|
|
|
|
|
- msg.put("zt", pose);
|
|
|
|
|
- msg.put("clientId", clientId);
|
|
|
|
|
- msg.put("event", event);
|
|
|
|
|
- msg.put("msgType", "event");
|
|
|
|
|
- // 发送socket
|
|
|
|
|
- mqttClient.sendMessage(String.format("/mps/%s/event", clientId), msg.toString());
|
|
|
|
|
|
|
|
|
|
- // 发送短信
|
|
|
|
|
- if (event.equals("fall_confirmed")) {
|
|
|
|
|
|
|
+ // 向前端发送数据
|
|
|
|
|
+ JSONArray targetPointOne = targetPointArray.getJSONArray(0);
|
|
|
|
|
+ BigDecimal x = targetPointOne.getBigDecimal(0);
|
|
|
|
|
+ BigDecimal y = targetPointOne.getBigDecimal(1);
|
|
|
|
|
+ JSONObject msg = new JSONObject();
|
|
|
|
|
+ msg.put("target_points", targetPointArray);
|
|
|
|
|
+ msg.put("x", x);
|
|
|
|
|
+ msg.put("y", y);
|
|
|
|
|
+ msg.put("zt", pose);
|
|
|
|
|
+ msg.put("clientId", clientId);
|
|
|
|
|
+ msg.put("event", event);
|
|
|
|
|
+ msg.put("msgType", "event");
|
|
|
|
|
+ msg.put("eventListId", eventListVO.getEventListId());
|
|
|
|
|
+ // 发送socket
|
|
|
|
|
+ mqttClient.sendMessage(String.format("/mps/%s/event", clientId), msg.toString());
|
|
|
|
|
+
|
|
|
|
|
+ // 整理需要接收消息的人员列表
|
|
|
log.info("mqttutil--有跌倒事件");
|
|
log.info("mqttutil--有跌倒事件");
|
|
|
List<SendMsgUserDto> sendList = new ArrayList<>();
|
|
List<SendMsgUserDto> sendList = new ArrayList<>();
|
|
|
String devName = dev.getDevName();
|
|
String devName = dev.getDevName();
|
|
@@ -185,7 +187,7 @@ public class MqttSubHandle {
|
|
|
Long userId = dev.getUserId();
|
|
Long userId = dev.getUserId();
|
|
|
|
|
|
|
|
// 需要发送提示的 有 当前设备拥有者, 被分享者, 以及 对当前设备 具有管理权限的 web管理用户
|
|
// 需要发送提示的 有 当前设备拥有者, 被分享者, 以及 对当前设备 具有管理权限的 web管理用户
|
|
|
- // 1 小程序拥有者
|
|
|
|
|
|
|
+ // 小程序拥有者
|
|
|
if (userId != null) {
|
|
if (userId != null) {
|
|
|
UserInfo userInfo = userService.queryById(userId);
|
|
UserInfo userInfo = userService.queryById(userId);
|
|
|
SendMsgUserDto msgUserDto = new SendMsgUserDto();
|
|
SendMsgUserDto msgUserDto = new SendMsgUserDto();
|
|
@@ -211,11 +213,12 @@ public class MqttSubHandle {
|
|
|
wxMsg.put("event", "fall_confirmed");
|
|
wxMsg.put("event", "fall_confirmed");
|
|
|
wxMsg.put("msgType", "fall");
|
|
wxMsg.put("msgType", "fall");
|
|
|
wxMsg.put("devName", devName.toString());
|
|
wxMsg.put("devName", devName.toString());
|
|
|
|
|
+ wxMsg.put("eventListId", eventListVO.getEventListId());
|
|
|
|
|
|
|
|
log.info("发送微信跌倒主题消息:topic:{}, msg:{}", String.format(TopicConstants.TOPIC_MPS_NOTIC, RedisCacheConstant.WX_USER_PRE + userInfo.getUserId()), wxMsg.toString());
|
|
log.info("发送微信跌倒主题消息:topic:{}, msg:{}", String.format(TopicConstants.TOPIC_MPS_NOTIC, RedisCacheConstant.WX_USER_PRE + userInfo.getUserId()), wxMsg.toString());
|
|
|
mqttClient.sendMessage(String.format(TopicConstants.TOPIC_MPS_NOTIC, RedisCacheConstant.WX_USER_PRE + userInfo.getUserId()), wxMsg.toString(), 2, false);
|
|
mqttClient.sendMessage(String.format(TopicConstants.TOPIC_MPS_NOTIC, RedisCacheConstant.WX_USER_PRE + userInfo.getUserId()), wxMsg.toString(), 2, false);
|
|
|
|
|
|
|
|
- // 2 被分享者 - 根据标志位筛选并添加到发送列表
|
|
|
|
|
|
|
+ // 设备的被分享者 - 根据标志位筛选并添加到发送列表
|
|
|
List<DevShare> shares = devShareService.queryConfirmedByDevId(dev.getDevId());
|
|
List<DevShare> shares = devShareService.queryConfirmedByDevId(dev.getDevId());
|
|
|
if (!CollectionUtils.isEmpty(shares)) {
|
|
if (!CollectionUtils.isEmpty(shares)) {
|
|
|
for (DevShare share : shares) {
|
|
for (DevShare share : shares) {
|
|
@@ -279,6 +282,7 @@ public class MqttSubHandle {
|
|
|
webMsg.put("msgType", "fall");
|
|
webMsg.put("msgType", "fall");
|
|
|
webMsg.put("devName", devName.toString());
|
|
webMsg.put("devName", devName.toString());
|
|
|
webMsg.put("tenantName", tenantName);
|
|
webMsg.put("tenantName", tenantName);
|
|
|
|
|
+ webMsg.put("eventListId", eventListVO.getEventListId());
|
|
|
|
|
|
|
|
// 查询当前需要发送的userId
|
|
// 查询当前需要发送的userId
|
|
|
List<AdminUserInfo> adminUserInfos = adminUserService.queryByTenantIdAndUserType(dev.getTenantId(), null);
|
|
List<AdminUserInfo> adminUserInfos = adminUserService.queryByTenantIdAndUserType(dev.getTenantId(), null);
|
|
@@ -305,8 +309,8 @@ public class MqttSubHandle {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- //调用 发送短信和微信公众号通知 功能
|
|
|
|
|
- sendMesAndWxService(sendList, devName, devId);
|
|
|
|
|
|
|
+ //3.调用 发送短信和微信公众号通知 功能
|
|
|
|
|
+// sendMesAndWxService(sendList, devName, devId);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|