From 4ad32c37e3317fb6cb7cbfb034b53d3220c27db4 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 30 五月 2025 17:59:16 +0800 Subject: [PATCH] 优化报警 --- ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-) diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java index 2932e7e..cb11761 100644 --- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java +++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java @@ -54,6 +54,9 @@ private UPExgMsgRealLocationDao upExgMsgRealLocationDao; //走川标的公司 private List<Integer> enterprise = Arrays.asList(17458936, 43984060, 13914394); + //固定报警类型 + private List<Integer> warnType = Arrays.asList(0x0201, 0x0202, 0x0301, 0x000B, 0x0012, 0x0203, 0x0208, 0x0002, 0x0211, 0x0212, 0x0214, 0x0213, 0x0215, 0x0217, 0x0307); + public void up_warn_msg(ChannelHandlerContext ctx, OuterPacket out) { if (!redisTemplate.hasKey("login:" + out.getGnsscenterId())) { @@ -129,6 +132,9 @@ */ public void up_warn_msg_adpt_info(ChannelHandlerContext ctx, int inferiorPlatformId, WarnMsg warnMsg) { UPWarnMsgAdptInfo upWarnMsgAdptInfo = enterprise.contains(inferiorPlatformId) ? new UPWarnMsgAdptInfo().decode2(warnMsg) : new UPWarnMsgAdptInfo().decode1(warnMsg); + if(!warnType.contains(upWarnMsgAdptInfo.getWarnType())){ + return; + } upWarnMsgAdptInfo.setResult(0x00); upWarnMsgAdptInfo.setInferiorPlatformId(inferiorPlatformId); upWarnMsgAdptInfo.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8))); @@ -140,8 +146,6 @@ upWarnMsgAdptInfo.setLongitude(gnssData.getLon()); upWarnMsgAdptInfo.setLatitude(gnssData.getLat()); } - }else if(2 != upWarnMsgAdptInfo.getLevel()){ - return; } upWarnMsgAdptInfoDao.save(upWarnMsgAdptInfo); } @@ -187,31 +191,39 @@ * 存储mqtt协议报警信息 */ public void saveWarnMsgService(JSONObject jsonObject) { - SubscriptionEvent subscriptionEvent = jsonObject.getObject("", SubscriptionEvent.class); + SubscriptionEvent subscriptionEvent = jsonObject.getObject("params", SubscriptionEvent.class); List<Event> events = subscriptionEvent.getEvents(); events.forEach(event -> { //车牌号 String srcName = event.getSrcName(); Alarm data = JSONObject.parseObject(event.getData(), Alarm.class); + if(!StringUtils.hasLength(data.getAlarmId())){ + return; + } UPWarnMsgAdptInfo upWarnMsgAdptInfo = upWarnMsgAdptInfoDao.findByInfoIdIs(data.getAlarmId()); if(null == upWarnMsgAdptInfo){ upWarnMsgAdptInfo = new UPWarnMsgAdptInfo(); } upWarnMsgAdptInfo.setVehicleNo(srcName); - upWarnMsgAdptInfo.setVehicleColor(data.getVehicleLicenseColor()); + upWarnMsgAdptInfo.setVehicleColor(null == data.getVehicleLicenseColor() ? 0 : data.getVehicleLicenseColor()); upWarnMsgAdptInfo.setWarnSrc(data.getSourceType() + 1); upWarnMsgAdptInfo.setWarnType(getAlarmType(data.getEventType())); upWarnMsgAdptInfo.setWarnTime(LocalDateTime.parse(data.getAlarmTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")).toEpochSecond(ZoneOffset.ofHours(8))); upWarnMsgAdptInfo.setInfoId(data.getAlarmId()); upWarnMsgAdptInfo.setLevel(getLevel(data.getLevel())); - upWarnMsgAdptInfo.setLongitude(data.getLongitude().intValue()); - upWarnMsgAdptInfo.setLatitude(data.getLatitude().intValue()); + upWarnMsgAdptInfo.setLongitude(data.getLatitude().intValue() * 10); + upWarnMsgAdptInfo.setLatitude(data.getLongitude().intValue()); upWarnMsgAdptInfo.setAltitude(data.getHeight().intValue() / 10); - upWarnMsgAdptInfo.setSpeed(data.getSpeed().intValue() / 10000); - upWarnMsgAdptInfo.setVec2(data.getSpeed().intValue()); + upWarnMsgAdptInfo.setSpeed(data.getSpeed().intValue() / 100000); + upWarnMsgAdptInfo.setVec2(data.getSpeed().intValue() / 100000); upWarnMsgAdptInfo.setStatus(data.getStatus()); upWarnMsgAdptInfo.setDirection(data.getDirection() / 100); upWarnMsgAdptInfo.setInfoContent(data.getAlarmInfo()); + upWarnMsgAdptInfo.setInferiorPlatformId(25439966); + upWarnMsgAdptInfo.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8))); + if(!warnType.contains(upWarnMsgAdptInfo.getWarnType())){ + return; + } upWarnMsgAdptInfoDao.save(upWarnMsgAdptInfo); }); } -- Gitblit v1.7.1