Explorar el Código

修改数据订阅

konghl %!s(int64=4) %!d(string=hace) años
padre
commit
22255c7e56

+ 8 - 34
ebc-sea-platform/src/main/java/com/ai/ipu/server/controller/ReceiveSubscribeController.java

@ -1,8 +1,6 @@
1 1
package com.ai.ipu.server.controller;
2 2
3 3
import java.math.BigDecimal;
4
import java.util.List;
5
import java.util.Map;
6 4
7 5
import org.springframework.beans.factory.annotation.Autowired;
8 6
import org.springframework.stereotype.Controller;
@ -17,7 +15,6 @@ import com.ai.ipu.data.JMap;
17 15
import com.ai.ipu.data.impl.JsonMap;
18 16
import com.ai.ipu.server.service.interfaces.ReceiveSubscribeService;
19 17
import com.ai.ipu.server.util.EbcConstant;
20
import com.alibaba.fastjson.JSON;
21 18
import com.alibaba.fastjson.JSONObject;
22 19
23 20
/**
@ -44,8 +41,8 @@ public class ReceiveSubscribeController {
44 41
		logger.info("已接收定位消息,消息为:" + msg);
45 42
46 43
		// 解析数据
47
		List<Map> msgList = JSON.parseArray(msg, Map.class);
48
		for (Map msgMap : msgList) {
44
		JSONObject msgMap=(JSONObject) JSONObject.parse(msg);
45
		
49 46
			String msgJson = (String) msgMap.get("dataPointValue");
50 47
			JSONObject detailInfo = JSONObject.parseObject(msgJson);
51 48
			JMap detailInfoMap = new JsonMap();
@ -63,11 +60,9 @@ public class ReceiveSubscribeController {
63 60
			detailInfoMap.put("latitude",
64 61
					latitudeBigDecimal.setScale(EbcConstant.coord_scale, BigDecimal.ROUND_HALF_UP).toString());
65 62
66
			// 析并推送定位数据
63
			// 析并推送定位数据
67 64
			receiveSubscribeService.receiveIotLocationData(detailInfoMap);
68 65
69
		}
70
71 66
		return msg;
72 67
	}
73 68
@ -82,8 +77,8 @@ public class ReceiveSubscribeController {
82 77
		logger.info("已接收告警消息,消息为:" + msg);
83 78
84 79
		// 解析数据
85
		List<Map> msgList = JSON.parseArray(msg, Map.class);
86
		for (Map msgMap : msgList) {
80
		JSONObject msgMap=(JSONObject) JSONObject.parse(msg);
81
		
87 82
			String msgJson = (String) msgMap.get("dataPointValue");
88 83
			JSONObject detailInfo = JSONObject.parseObject(msgJson);
89 84
			JMap detailInfoMap = new JsonMap();
@ -101,33 +96,12 @@ public class ReceiveSubscribeController {
101 96
			detailInfoMap.put("latitude",
102 97
					latitudeBigDecimal.setScale(EbcConstant.coord_scale, BigDecimal.ROUND_HALF_UP).toString());
103 98
104
			// 报警类型
105
			switch (detailInfo.getJSONObject("alarmType").getIntValue("value")) {
106
			case EbcConstant.alarm_type_autosos_beidou:
107
				// 自动报警
108
				detailInfoMap.put("locationStatus", EbcConstant.location_status_autosos);// 定位状态
109
				detailInfoMap.put("alarmType", EbcConstant.alarm_type_autosos_ZH);// 报警类型
110
				break;
111
			case EbcConstant.alarm_type_jogsos_beidou:
112
				// 手动报警
113
				detailInfoMap.put("locationStatus", EbcConstant.location_status_jogsos);// 定位状态
114
				detailInfoMap.put("alarmType", EbcConstant.alarm_type_jogsos_ZH);// 报警类型
115
				break;
116
			case EbcConstant.alarm_type_offline_beidou:
117
				// 离线
118
				detailInfoMap.put("locationStatus", EbcConstant.location_status_offline);// 定位状态
119
				detailInfoMap.put("alarmType", EbcConstant.alarm_type_offline_ZH);// 报警类型
120
				break;
121
			default:
122
				logger.error("告警消息的内容错误,消息为:" + msg);
123
				return msg;
124
			}
125
99
			//报警类型
100
			detailInfoMap.put("alarmType",detailInfo.getJSONObject("alarmType").getIntValue("value"));
101
			
126 102
			// 分析并推送报警数据
127 103
			receiveSubscribeService.receiveIotAlarmData(detailInfoMap);
128 104
129
		}
130
131 105
		return msg;
132 106
133 107
	}

+ 22 - 2
ebc-sea-platform/src/main/java/com/ai/ipu/server/service/iotData/ManageIotNewAlarmData.java

@ -12,6 +12,7 @@ import com.ai.ipu.basic.log.IpuLoggerFactory;
12 12
import com.ai.ipu.data.JMap;
13 13
import com.ai.ipu.server.dao.interfaces.MapTagManageDao;
14 14
import com.ai.ipu.server.dao.interfaces.RescueDao;
15
import com.ai.ipu.server.util.EbcConstant;
15 16
import com.ai.ipu.server.util.JingPingSendDateUtil;
16 17
17 18
@Component
@ -37,12 +38,32 @@ public class ManageIotNewAlarmData {
37 38
	}
38 39
39 40
	private void sendJingpingData(JMap params, String logId) {
41
		// 报警类型
42
		switch (params.getInt("alarmType")) {
43
		case EbcConstant.alarm_type_autosos_beidou:
44
			// 自动报警
45
			params.put("locationStatus", EbcConstant.location_status_autosos);// 定位状态
46
			params.put("alarmType", EbcConstant.alarm_type_autosos_ZH);// 报警类型
47
			break;
48
		case EbcConstant.alarm_type_jogsos_beidou:
49
			// 手动报警
50
			params.put("locationStatus", EbcConstant.location_status_jogsos);// 定位状态
51
			params.put("alarmType", EbcConstant.alarm_type_jogsos_ZH);// 报警类型
52
			break;
53
		case EbcConstant.alarm_type_offline_beidou:
54
			// 离线
55
			params.put("locationStatus", EbcConstant.location_status_offline);// 定位状态
56
			params.put("alarmType", EbcConstant.alarm_type_offline_ZH);// 报警类型
57
			break;
58
		default:
59
			logger.error("告警消息的内容错误");
60
		}
40 61
41 62
		params.put("alarmDate", params.getString("newDate"));// 求救时间
42 63
		params.put("alarmLong", "0");// 求救时长
43 64
44
		params.put("isNewAlarm", "1");
45 65
		params.put("alarmLogId", logId);
66
		params.put("isNewAlarm", "1");
46 67
47 68
		JingPingSendDateUtil.sendData(JingPingSendDateUtil.topic_personnel, params);
48 69
	}
@ -67,7 +88,6 @@ public class ManageIotNewAlarmData {
67 88
		// 报警位置
68 89
		if (currentAreaInfoList == null || currentAreaInfoList.isEmpty()) {
69 90
			dataMap.put("callerLocation", "");
70
71 91
		} else {
72 92
			StringBuffer mapTagName = new StringBuffer(String.valueOf(currentAreaInfoList.get(0).get("MAP_TAG_NAME")));
73 93
			for (int i = 1; i < currentAreaInfoList.size(); i++) {