From 8a788a51e44d59c6e9b4f88d603b3b87745dcfd7 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 18 Jan 2025 10:34:51 +0800
Subject: [PATCH] 增加执法记录仪数据读取
---
/dev/null | 64 ------
src/main/java/org/springblade/modules/netty/business/service/DeviceChannelPoliceCameraService.java | 19 +
src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java | 67 +++---
src/main/java/org/springblade/modules/netty/business/entity/DeviceChannelPoliceCamera.java | 186 ++++++++++++++++++
src/main/java/org/springblade/modules/system/mapper/DeviceChannelPoliceCameraMapper.xml | 0
src/main/java/org/springblade/modules/netty/business/entity/DeviceMobilePositionPoliceCamera.java | 74 +++++++
src/main/java/org/springblade/modules/netty/business/mapper/DeviceChannelPoliceCameraMapper.java | 41 ++++
src/main/java/org/springblade/modules/netty/business/mapper/DeviceChannelPoliceCameraMapper.xml | 47 ++++
pom.xml | 2
src/main/java/org/springblade/modules/netty/business/service/impl/DeviceChannelPoliceCameraServiceImpl.java | 61 ++++++
10 files changed, 459 insertions(+), 102 deletions(-)
diff --git a/pom.xml b/pom.xml
index 3c7c05d..c0cd521 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
<version>3.0.1.RELEASE</version>
<properties>
- <bladex.project.id>srjw-talk</bladex.project.id>
+ <bladex.project.id>srjw-law</bladex.project.id>
<bladex.project.version>3.0.1.RELEASE</bladex.project.version>
<java.version>1.8</java.version>
diff --git a/src/main/java/org/springblade/modules/netty/business/entity/DeviceChannelPoliceCamera.java b/src/main/java/org/springblade/modules/netty/business/entity/DeviceChannelPoliceCamera.java
new file mode 100644
index 0000000..01be767
--- /dev/null
+++ b/src/main/java/org/springblade/modules/netty/business/entity/DeviceChannelPoliceCamera.java
@@ -0,0 +1,186 @@
+package org.springblade.modules.netty.business.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 执法记录仪 实体类
+ * @author zhongrj
+ * @date 2023-03-04
+ */
+@Data
+public class DeviceChannelPoliceCamera implements Serializable {
+
+ /**
+ * 数据库自赠ID
+ */
+ private Integer id;
+
+ /**
+ * 通道id
+ */
+ private String channelId;
+
+ /**
+ * 设备id
+ */
+ private String deviceId;
+
+ /**
+ * 通道名
+ */
+ private String name;
+
+ /**
+ * 生产厂商
+ */
+ private String manufacture;
+
+ /**
+ * 型号
+ */
+ private String model;
+
+ /**
+ * 设备归属
+ */
+ private String owner;
+
+ /**
+ * 行政区域
+ */
+ private String civilCode;
+
+ /**
+ * 警区
+ */
+ private String block;
+
+ /**
+ * 安装地址
+ */
+ private String address;
+
+ /**
+ * 是否有子设备 1有, 0没有
+ */
+ private int parental;
+
+ /**
+ * 父级id
+ */
+ private String parentId;
+
+ /**
+ * 信令安全模式 缺省为0; 0:不采用; 2: S/MIME签名方式; 3: S/ MIME加密签名同时采用方式; 4:数字摘要方式
+ */
+ private int safetyWay;
+
+ /**
+ * 注册方式 缺省为1;1:符合IETFRFC3261标准的认证注册模 式; 2:基于口令的双向认证注册模式; 3:基于数字证书的双向认证注册模式
+ */
+ private int registerWay;
+
+ /**
+ * 证书序列号
+ */
+ private String certNum;
+
+ /**
+ * 证书有效标识 缺省为0;证书有效标识:0:无效1: 有效
+ */
+ private int certifiable;
+
+ /**
+ * 证书无效原因码
+ */
+ private int errCode;
+
+ /**
+ * 证书终止有效期
+ */
+ private String endTime;
+
+ /**
+ * 保密属性 缺省为0; 0:不涉密, 1:涉密
+ */
+ private String secrecy;
+
+ /**
+ * IP地址
+ */
+ private String ipAddress;
+
+ /**
+ * 端口号
+ */
+ private int port;
+
+ /**
+ * 密码
+ */
+ private String password;
+
+ /**
+ * 云台类型
+ */
+ private int PTZType;
+
+ /**
+ * 云台类型描述字符串
+ */
+ private String PTZTypeText;
+
+ /**
+ * 创建时间
+ */
+ private String createTime;
+
+ /**
+ * 更新时间
+ */
+ private String updateTime;
+
+ /**
+ * 在线/离线
+ * 1在线,0离线
+ * 默认在线
+ * 信令:
+ * <Status>ON</Status>
+ * <Status>OFF</Status>
+ * 遇到过NVR下的IPC下发信令可以推流, 但是 Status 响应 OFF
+ */
+ private int status;
+
+ /**
+ * 经度
+ */
+ private double longitude;
+
+ /**
+ * 纬度
+ */
+ private double latitude;
+
+ /**
+ * 子设备数
+ */
+ private int subCount;
+
+ /**
+ * 流唯一编号,存在表示正在直播
+ */
+ private String streamId;
+
+ /**
+ * 是否含有音频
+ */
+ private boolean hasAudio;
+
+ /**
+ * 传入时间
+ */
+ private String gpsTime;
+
+}
diff --git a/src/main/java/org/springblade/modules/netty/business/entity/DeviceMobilePositionPoliceCamera.java b/src/main/java/org/springblade/modules/netty/business/entity/DeviceMobilePositionPoliceCamera.java
new file mode 100644
index 0000000..ef68774
--- /dev/null
+++ b/src/main/java/org/springblade/modules/netty/business/entity/DeviceMobilePositionPoliceCamera.java
@@ -0,0 +1,74 @@
+package org.springblade.modules.netty.business.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 执法记录仪历史记录表
+ * @author: zhongrj
+ * @date: 2023-03-04
+ */
+@Data
+public class DeviceMobilePositionPoliceCamera implements Serializable {
+ /**
+ * id 自增
+ */
+ private Integer id;
+
+ /**
+ * 设备Id
+ */
+ private String deviceId;
+
+ /**
+ * 通道Id
+ */
+ private String channelId;
+
+ /**
+ * 设备名称
+ */
+ private String deviceName;
+
+ /**
+ * 通知时间
+ */
+ private String time;
+
+ /**
+ * 经度
+ */
+ private double longitude;
+
+ /**
+ * 纬度
+ */
+ private double latitude;
+
+ /**
+ * 海拔高度
+ */
+ private double altitude;
+
+ /**
+ * 速度
+ */
+ private double speed;
+
+ /**
+ * 方向
+ */
+ private double direction;
+
+ /**
+ * 位置信息上报来源(Mobile Position、GPS Alarm)
+ */
+ private String reportSource;
+
+ /**
+ * 更新时间
+ */
+ private String createTime;
+}
diff --git a/src/main/java/org/springblade/modules/netty/business/entity/TalkBackEquipment.java b/src/main/java/org/springblade/modules/netty/business/entity/TalkBackEquipment.java
deleted file mode 100644
index b97b408..0000000
--- a/src/main/java/org/springblade/modules/netty/business/entity/TalkBackEquipment.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.springblade.modules.netty.business.entity;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 对接设备信息表 实体类
- *
- * @author zhongrj
- * @since 2023-02-23
- */
-@Data
-public class TalkBackEquipment implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键id
- */
- private Long id;
-
- /**
- * 设备名称
- */
- private String name;
-
- /**
- * 设备编号
- */
- private String code;
-
- /**
- * 设备状态 0:离线 1:在线
- */
- private Integer status;
-
- /**
- * 终端编号
- */
- private String terminalNumber;
-
- /**
- * 经度
- */
- private String longitude;
-
- /**
- * 纬度
- */
- private String latitude;
-
- /**
- * 速度,单位 米/秒
- */
- private String speed;
-
- /**
- * 方向,以正北方向为 0 角度,顺时针方向偏转
- */
- private String direction;
-
- /**
- * 高程,单位:米
- */
- private String elevation;
-
- /**
- * 精度
- */
- private String precisions;
-
- /**
- * 日期
- */
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date receiveTime;
-
- /**
- * 创建时间
- */
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date createTime;
-
- /**
- * 更新时间
- */
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date updateTime;
-
- /**
- * 说明
- */
-// @ApiModelProperty(value = "说明")
-// private String remark;
-}
diff --git a/src/main/java/org/springblade/modules/netty/business/entity/TalkBackEquipmentRecord.java b/src/main/java/org/springblade/modules/netty/business/entity/TalkBackEquipmentRecord.java
deleted file mode 100644
index caae77c..0000000
--- a/src/main/java/org/springblade/modules/netty/business/entity/TalkBackEquipmentRecord.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.springblade.modules.netty.business.entity;
-
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 对接设备信息记录表 实体类
- *
- * @author zhongrj
- * @since 2023-02-23
- */
-@Data
-public class TalkBackEquipmentRecord implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键id
- */
- private Long id;
-
- /**
- * 设备id
- */
- private Long talkBackEquipmentId;
-
- /**
- * 设备状态 0:离线 1:在线
- */
- private Integer status;
-
- /**
- * 终端编号
- */
- private String terminalNumber;
-
- /**
- * 经度
- */
- private String longitude;
-
- /**
- * 纬度
- */
- private String latitude;
-
- /**
- * 速度,单位 米/秒
- */
- private String speed;
-
- /**
- * 方向,以正北方向为 0 角度,顺时针方向偏转
- */
- private String direction;
-
- /**
- * 高程,单位:米
- */
- private String elevation;
-
- /**
- * 精度
- */
- private String precisions;
-
- /**
- * 日期
- */
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date receiveTime;
-
- /**
- * 创建时间
- */
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date createTime;
-
-// /**
-// * 说明
-// */
-// @ApiModelProperty(value = "说明")
-// private String remark;
-}
diff --git a/src/main/java/org/springblade/modules/netty/business/mapper/DeviceChannelPoliceCameraMapper.java b/src/main/java/org/springblade/modules/netty/business/mapper/DeviceChannelPoliceCameraMapper.java
new file mode 100644
index 0000000..b009298
--- /dev/null
+++ b/src/main/java/org/springblade/modules/netty/business/mapper/DeviceChannelPoliceCameraMapper.java
@@ -0,0 +1,41 @@
+package org.springblade.modules.netty.business.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+import org.springblade.modules.netty.business.entity.DeviceChannelPoliceCamera;
+import org.springblade.modules.netty.business.entity.DeviceMobilePositionPoliceCamera;
+
+/**
+ * 执法记录仪mapper映射层
+ * @author zhongrj
+ * @date 2023-03-02
+ */
+@Mapper
+public interface DeviceChannelPoliceCameraMapper {
+
+ /**
+ * 新增执法记录仪数据
+ * @param talkBackEquipment
+ */
+ void saveDeviceChannelPoliceCamera(DeviceChannelPoliceCamera talkBackEquipment);
+
+ /**
+ * 新增执法记录仪历史数据
+ * @param talkBackEquipmentRecord
+ */
+ void saveDeviceMobilePositionPoliceCamera(DeviceMobilePositionPoliceCamera talkBackEquipmentRecord);
+
+ /**
+ * 查询设备信息
+ * @param code
+ * @return
+ */
+ @Select("select * from device_channel_police_camera where channelId = #{code}")
+ DeviceChannelPoliceCamera getTalkBackEquipment(String code);
+
+ /**
+ * 修改执法记录仪信息
+ * @param talkBackEquipment
+ */
+ void updateDeviceChannelPoliceCamera(DeviceChannelPoliceCamera talkBackEquipment);
+}
diff --git a/src/main/java/org/springblade/modules/netty/business/mapper/DeviceChannelPoliceCameraMapper.xml b/src/main/java/org/springblade/modules/netty/business/mapper/DeviceChannelPoliceCameraMapper.xml
new file mode 100644
index 0000000..78a380c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/netty/business/mapper/DeviceChannelPoliceCameraMapper.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.netty.business.mapper.DeviceChannelPoliceCameraMapper">
+
+ <!--新增对讲设备信息-->
+ <insert id="saveDeviceChannelPoliceCamera" useGeneratedKeys="true" keyProperty="id">
+ insert into device_channel_police_camera
+ (
+ deviceId,name,channelId,status,longitude,latitude,
+ parental,hasAudio,createTime,updateTime
+ )
+ values
+ (
+ #{deviceId},#{name},#{channelId},#{status},#{longitude},#{latitude},
+ #{parental},#{hasAudio},#{createTime},#{updateTime}
+ )
+ </insert>
+
+ <!--新增对接设备历史记录信息-->
+ <insert id="saveDeviceMobilePositionPoliceCamera">
+ insert into device_mobile_position_police_camera
+ (
+ deviceId,channelId,time,longitude,latitude,speed,direction,altitude,createTime,reportSource
+ )
+ values
+ (
+ #{deviceId},#{channelId},#{time},#{longitude},#{latitude},#{speed},#{direction},#{altitude},#{createTime},#{reportSource}
+ )
+ </insert>
+
+ <!--修改对讲设备信息-->
+ <update id="updateDeviceChannelPoliceCamera">
+ update device_channel_police_camera
+ set
+ name = #{name},
+ status = #{status},
+ <if test="null!=longitude and longitude!=''">
+ longitude = #{longitude},
+ </if>
+ <if test="null!=latitude and latitude!=''">
+ latitude = #{latitude},
+ </if>
+ updateTime = #{updateTime}
+ where id = #{id}
+ </update>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/netty/business/mapper/TalkBackEquipmentMapper.java b/src/main/java/org/springblade/modules/netty/business/mapper/TalkBackEquipmentMapper.java
deleted file mode 100644
index c52fa78..0000000
--- a/src/main/java/org/springblade/modules/netty/business/mapper/TalkBackEquipmentMapper.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.springblade.modules.netty.business.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-import org.springblade.modules.netty.business.entity.TalkBackEquipment;
-import org.springblade.modules.netty.business.entity.TalkBackEquipmentRecord;
-
-/**
- * 对讲设备mapper映射层
- * @author zhongrj
- * @date 2023-03-02
- */
-@Mapper
-public interface TalkBackEquipmentMapper {
-
- /**
- * 新增对讲设备数据
- * @param talkBackEquipment
- */
- void saveTalkBackEquipment(TalkBackEquipment talkBackEquipment);
-
- /**
- * 新增对讲设备历史数据
- * @param talkBackEquipmentRecord
- */
- void saveTalkBackEquipmentRecord(TalkBackEquipmentRecord talkBackEquipmentRecord);
-
- /**
- * 查询设备信息
- * @param code
- * @return
- */
- @Select("select * from sys_talk_back_equipment where terminal_number = #{code}")
- TalkBackEquipment getTalkBackEquipment(String code);
-
- /**
- * 修改对讲设备信息
- * @param talkBackEquipment
- */
- void updateTalkBackEquipment(TalkBackEquipment talkBackEquipment);
-}
diff --git a/src/main/java/org/springblade/modules/netty/business/mapper/TalkBackEquipmentMapper.xml b/src/main/java/org/springblade/modules/netty/business/mapper/TalkBackEquipmentMapper.xml
deleted file mode 100644
index 199827b..0000000
--- a/src/main/java/org/springblade/modules/netty/business/mapper/TalkBackEquipmentMapper.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.springblade.modules.netty.business.mapper.TalkBackEquipmentMapper">
-
- <!--新增对讲设备信息-->
- <insert id="saveTalkBackEquipment" useGeneratedKeys="true" keyProperty="id">
- insert into sys_talk_back_equipment
- (
- name,code,status,terminal_number,longitude,latitude,
- speed,direction,elevation,precisions,receive_time,create_time,update_time
- )
- values
- (
- #{name},#{code},#{status},#{terminalNumber},#{longitude},#{latitude},
- #{speed},#{direction},#{elevation},#{precisions},#{receiveTime},#{createTime},#{updateTime}
- )
- </insert>
-
- <!--新增对接设备历史记录信息-->
- <insert id="saveTalkBackEquipmentRecord">
- insert into sys_talk_back_equipment_record
- (
- talk_back_equipment_id,status,terminal_number,
- longitude,latitude,speed,direction,elevation,precisions,receive_time,create_time
- )
- values
- (
- #{talkBackEquipmentId},#{status},#{terminalNumber},
- #{longitude},#{latitude},#{speed},#{direction},#{elevation},#{precisions},#{receiveTime},#{createTime}
- )
- </insert>
-
- <!--修改对讲设备信息-->
- <update id="updateTalkBackEquipment">
- update sys_talk_back_equipment
- set
- code = #{code},
- name = #{name},
- status = #{status},
- <if test="null!=terminalNumber and terminalNumber!=''">
- terminal_number = #{terminalNumber},
- </if>
- <if test="null!=longitude and longitude!=''">
- longitude = #{longitude},
- </if>
- <if test="null!=latitude and latitude!=''">
- latitude = #{latitude},
- </if>
- <if test="null!=speed and speed!=''">
- speed = #{speed},
- </if>
- <if test="null!=direction and direction!=''">
- direction = #{direction},
- </if>
- <if test="null!=elevation and elevation!=''">
- elevation = #{elevation},
- </if>
- <if test="null!=precisions and precisions!=''">
- precisions = #{precisions},
- </if>
- <if test="null!=receiveTime">
- receive_time = #{receiveTime},
- </if>
- update_time = #{updateTime}
- where id = #{id}
- </update>
-
-</mapper>
diff --git a/src/main/java/org/springblade/modules/netty/business/service/DeviceChannelPoliceCameraService.java b/src/main/java/org/springblade/modules/netty/business/service/DeviceChannelPoliceCameraService.java
new file mode 100644
index 0000000..9e3c020
--- /dev/null
+++ b/src/main/java/org/springblade/modules/netty/business/service/DeviceChannelPoliceCameraService.java
@@ -0,0 +1,19 @@
+package org.springblade.modules.netty.business.service;
+
+
+import org.springblade.modules.netty.business.entity.DeviceMobilePositionPoliceCamera;
+
+/**
+ * 执法记录仪信息表 服务类
+ *
+ * @author zhongrj
+ * @date 2023-03-02
+ */
+public interface DeviceChannelPoliceCameraService {
+
+ /**
+ * 保存执法记录仪设备数据
+ * @param deviceMobilePositionPoliceCamera
+ */
+ void save(DeviceMobilePositionPoliceCamera deviceMobilePositionPoliceCamera);
+}
diff --git a/src/main/java/org/springblade/modules/netty/business/service/TalkBackEquipmentService.java b/src/main/java/org/springblade/modules/netty/business/service/TalkBackEquipmentService.java
deleted file mode 100644
index 58309d6..0000000
--- a/src/main/java/org/springblade/modules/netty/business/service/TalkBackEquipmentService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.springblade.modules.netty.business.service;
-
-
-import org.springblade.modules.netty.business.entity.TalkBackEquipment;
-
-/**
- * 对讲设备信息表 服务类
- *
- * @author zhongrj
- * @date 2023-03-02
- */
-public interface TalkBackEquipmentService{
-
- /**
- * 保存对讲设备数据
- * @param talkBackEquipment
- */
- void save(TalkBackEquipment talkBackEquipment);
-}
diff --git a/src/main/java/org/springblade/modules/netty/business/service/impl/DeviceChannelPoliceCameraServiceImpl.java b/src/main/java/org/springblade/modules/netty/business/service/impl/DeviceChannelPoliceCameraServiceImpl.java
new file mode 100644
index 0000000..cd871b1
--- /dev/null
+++ b/src/main/java/org/springblade/modules/netty/business/service/impl/DeviceChannelPoliceCameraServiceImpl.java
@@ -0,0 +1,61 @@
+package org.springblade.modules.netty.business.service.impl;
+
+import org.springblade.modules.netty.business.entity.DeviceChannelPoliceCamera;
+import org.springblade.modules.netty.business.entity.DeviceMobilePositionPoliceCamera;
+import org.springblade.modules.netty.business.mapper.DeviceChannelPoliceCameraMapper;
+import org.springblade.modules.netty.business.service.DeviceChannelPoliceCameraService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * 执法记录仪服务实现层
+ * @author zhongrj
+ * @date 2023-03-02
+ */
+@Service
+public class DeviceChannelPoliceCameraServiceImpl implements DeviceChannelPoliceCameraService {
+
+ @Autowired
+ private DeviceChannelPoliceCameraMapper deviceChannelPoliceCameraMapper;
+
+ /**
+ * 保存执法记录仪数据
+ * @param deviceMobilePositionPoliceCamera
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(DeviceMobilePositionPoliceCamera deviceMobilePositionPoliceCamera) {
+ // 设置信息
+ DeviceChannelPoliceCamera deviceChannelPoliceCameraInfo = new DeviceChannelPoliceCamera();
+ // 设置默认在线
+ deviceChannelPoliceCameraInfo.setStatus(1);
+ deviceChannelPoliceCameraInfo.setDeviceId(deviceMobilePositionPoliceCamera.getDeviceId());
+ deviceChannelPoliceCameraInfo.setChannelId(deviceMobilePositionPoliceCamera.getChannelId());
+ deviceChannelPoliceCameraInfo.setLongitude(deviceMobilePositionPoliceCamera.getLongitude());
+ deviceChannelPoliceCameraInfo.setLatitude(deviceMobilePositionPoliceCamera.getLatitude());
+ deviceChannelPoliceCameraInfo.setParental(0);
+ deviceChannelPoliceCameraInfo.setHasAudio(false);
+ deviceChannelPoliceCameraInfo.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ //判断设备是否已存在,如果存在则更新,不存在则新增
+ DeviceChannelPoliceCamera deviceChannelPoliceCamera = deviceChannelPoliceCameraMapper.getTalkBackEquipment(deviceMobilePositionPoliceCamera.getChannelId());
+ if (null == deviceChannelPoliceCamera) {
+ deviceChannelPoliceCameraInfo.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ //新增记录信息
+ deviceChannelPoliceCameraMapper.saveDeviceChannelPoliceCamera(deviceChannelPoliceCameraInfo);
+ }else {
+ deviceChannelPoliceCameraInfo.setId(deviceChannelPoliceCamera.getId());
+ //修改
+ deviceChannelPoliceCameraMapper.updateDeviceChannelPoliceCamera(deviceChannelPoliceCameraInfo);
+ }
+
+ //判断是否存在设备id
+ if (null != deviceChannelPoliceCameraInfo.getId()) {
+ deviceMobilePositionPoliceCamera.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ deviceChannelPoliceCameraMapper.saveDeviceMobilePositionPoliceCamera(deviceMobilePositionPoliceCamera);
+ }
+ }
+}
diff --git a/src/main/java/org/springblade/modules/netty/business/service/impl/TalkBackEquipmentServiceImpl.java b/src/main/java/org/springblade/modules/netty/business/service/impl/TalkBackEquipmentServiceImpl.java
deleted file mode 100644
index bda2ab4..0000000
--- a/src/main/java/org/springblade/modules/netty/business/service/impl/TalkBackEquipmentServiceImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.springblade.modules.netty.business.service.impl;
-
-import org.springblade.modules.netty.business.entity.TalkBackEquipment;
-import org.springblade.modules.netty.business.entity.TalkBackEquipmentRecord;
-import org.springblade.modules.netty.business.mapper.TalkBackEquipmentMapper;
-import org.springblade.modules.netty.business.service.TalkBackEquipmentService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Date;
-
-/**
- * 对讲设备服务实现层
- * @author zhongrj
- * @date 2023-03-02
- */
-@Service
-public class TalkBackEquipmentServiceImpl implements TalkBackEquipmentService {
-
- @Autowired
- private TalkBackEquipmentMapper talkBackEquipmentMapper;
-
- /**
- * 保存对讲设备数据
- * @param talkBackEquipment
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void save(TalkBackEquipment talkBackEquipment) {
- //判断设备是否已存在,如果存在则更新,不存在则新增
- TalkBackEquipment backEquipment = talkBackEquipmentMapper.getTalkBackEquipment(talkBackEquipment.getTerminalNumber());
- if (null==backEquipment) {
- talkBackEquipment.setCreateTime(new Date());
- //新增对接设备数据
- talkBackEquipmentMapper.saveTalkBackEquipment(talkBackEquipment);
- }else {
- talkBackEquipment.setId(backEquipment.getId());
- //修改
- talkBackEquipmentMapper.updateTalkBackEquipment(talkBackEquipment);
- }
- //判断是否存在设备id
- if (null != talkBackEquipment.getId()) {
- TalkBackEquipmentRecord equipmentRecord = new TalkBackEquipmentRecord();
- equipmentRecord.setTalkBackEquipmentId(talkBackEquipment.getId());
- equipmentRecord.setStatus(talkBackEquipment.getStatus());
-// equipmentRecord.setUnitName(talkBackEquipment.getUnitName());
-// equipmentRecord.setUnitCode(talkBackEquipment.getUnitCode());
-// equipmentRecord.setPoliceName(talkBackEquipment.getPoliceName());
-// equipmentRecord.setPoliceCode(talkBackEquipment.getPoliceCode());
- equipmentRecord.setTerminalNumber(talkBackEquipment.getTerminalNumber());
- equipmentRecord.setLongitude(talkBackEquipment.getLongitude());
- equipmentRecord.setLatitude(talkBackEquipment.getLatitude());
- equipmentRecord.setSpeed(talkBackEquipment.getSpeed());
- equipmentRecord.setDirection(talkBackEquipment.getDirection());
- equipmentRecord.setElevation(talkBackEquipment.getElevation());
- equipmentRecord.setPrecisions(talkBackEquipment.getPrecisions());
- equipmentRecord.setReceiveTime(talkBackEquipment.getReceiveTime());
- equipmentRecord.setCreateTime(new Date());
- //新增记录信息
- talkBackEquipmentMapper.saveTalkBackEquipmentRecord(equipmentRecord);
- }
- }
-}
diff --git a/src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java b/src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java
index fc96f8d..37617dc 100644
--- a/src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java
+++ b/src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java
@@ -7,14 +7,11 @@
import io.netty.util.CharsetUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springblade.modules.netty.business.entity.TalkBackEquipment;
-import org.springblade.modules.netty.business.service.TalkBackEquipmentService;
+import org.springblade.modules.netty.business.entity.DeviceMobilePositionPoliceCamera;
+import org.springblade.modules.netty.business.service.DeviceChannelPoliceCameraService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
import static org.springblade.modules.netty.config.MyDecoder.hexToByte;
import static org.springblade.modules.netty.config.MyDecoder.hexTohort;
import static org.springblade.modules.netty.util.Hex.getDouble;
@@ -32,12 +29,12 @@
private static UdpServerHandler udpServerHandler;
@Autowired
- private TalkBackEquipmentService talkBackEquipmentService;
+ private DeviceChannelPoliceCameraService deviceChannelPoliceCameraService;
@PostConstruct
public void init() {
udpServerHandler = this;
- udpServerHandler.talkBackEquipmentService = this.talkBackEquipmentService;
+ udpServerHandler.deviceChannelPoliceCameraService = this.deviceChannelPoliceCameraService;
}
@Override
@@ -61,30 +58,30 @@
* @param s 16位字符串
*/
private void dataHandler(String s) {
-// s = "AAAACCCC220000000033373933343732393100000000000000000000000052D50451F77D5D406C04E275FD723C400000015F0000000507E70306103B0A";
+ System.out.println("s = " + s);
+ s = "AAAACCCC220000000033373933343732393100000000000000000000000052D50451F77D5D406C04E275FD723C400000015F0000000507E70306103B0A";
+ System.out.println("s = " + s);
//创建设备对象
- TalkBackEquipment backEquipment = new TalkBackEquipment();
- if (s.substring(4,8).equals("CCCC")) {
- backEquipment.setStatus(1);
- }
- //断开连接
- if (s.substring(4,8).equals("FFFF")) {
- backEquipment.setStatus(0);
- }
- //截取字符串
- backEquipment.setTerminalNumber(hexStr2Str(s.substring(20, 60)));
-
- backEquipment.setLongitude(Double.toString(getDouble(s.substring(60, 76))));
-
- backEquipment.setLatitude(Double.toString(getDouble(s.substring(76, 92))));
-
- backEquipment.setSpeed(Short.toString(hexTohort(s.substring(92, 96))));
- backEquipment.setDirection(Short.toString(hexTohort(s.substring(96, 100))));
- backEquipment.setElevation(Short.toString(hexTohort(s.substring(100, 104))));
- backEquipment.setPrecisions(Short.toString(hexTohort(s.substring(104, 108))));
-
+ DeviceMobilePositionPoliceCamera backEquipment = new DeviceMobilePositionPoliceCamera();
+// if (s.substring(4,8).equals("CCCC")) {
+// backEquipment.setStatus(1);
+// }
+// //断开连接
+// if (s.substring(4,8).equals("FFFF")) {
+// backEquipment.setStatus(0);
+// }
+ //截取字符串,并去除后面多余的空格(如果有)
+ backEquipment.setChannelId(hexStr2Str(s.substring(20, 60)).trim());
+ //设置经纬度
+ backEquipment.setLongitude(getDouble(s.substring(60, 76)));
+ backEquipment.setLatitude(getDouble(s.substring(76, 92)));
+ // 设置速度、方向等
+ backEquipment.setSpeed(hexTohort(s.substring(92, 96)));
+ backEquipment.setDirection(hexTohort(s.substring(96, 100)));
+ backEquipment.setAltitude(hexTohort(s.substring(100, 104)));
+ backEquipment.setReportSource(Short.toString(hexTohort(s.substring(104, 108))));
+ //时间拼接
String year = Short.toString(hexTohort(s.substring(108, 112)));
-
String month = Short.toString(hexToByte(s.substring(112, 114)));
if (Integer.parseInt(month)<10){
month = "0" + month;
@@ -106,15 +103,11 @@
second = "0" + second;
}
String time = year + "-" + month + "-" + day +" " + hour + ":" + minute + ":" + second;
- //时间拼接
- try {
- backEquipment.setReceiveTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time));
- } catch (ParseException e) {
- e.printStackTrace();
- }
- backEquipment.setUpdateTime(new Date());
+ backEquipment.setTime(time);
+ // 该处设置成和通道一样
+ backEquipment.setDeviceId(backEquipment.getChannelId());
// 新增
- udpServerHandler.talkBackEquipmentService.save(backEquipment);
+ udpServerHandler.deviceChannelPoliceCameraService.save(backEquipment);
}
/**
diff --git a/src/main/java/org/springblade/modules/system/mapper/TopMenuSettingMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeviceChannelPoliceCameraMapper.xml
similarity index 100%
rename from src/main/java/org/springblade/modules/system/mapper/TopMenuSettingMapper.xml
rename to src/main/java/org/springblade/modules/system/mapper/DeviceChannelPoliceCameraMapper.xml
--
Gitblit v1.9.3