From 17892dc637c45ec60853e840bd962f407abf2157 Mon Sep 17 00:00:00 2001 From: zhangyue <82248909@qq.com> Date: Fri, 31 Jul 2026 17:32:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0gps=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lanhai/MybatisPlusGenerator.java | 2 +- .../com/lanhai/constant/IotConstants.java | 114 +++--- .../controller/SurvGpsInfoController.java | 21 ++ .../controller/SurvGpsRecordController.java | 21 ++ .../controller/SurvVehicleInfoController.java | 21 ++ .../java/com/lanhai/entity/SurvGpsInfo.java | 205 +++++++++++ .../java/com/lanhai/entity/SurvGpsRecord.java | 330 ++++++++++++++++++ .../com/lanhai/entity/SurvVehicleInfo.java | 156 +++++++++ .../com/lanhai/mapper/SurvGpsInfoMapper.java | 16 + .../lanhai/mapper/SurvGpsRecordMapper.java | 16 + .../lanhai/mapper/SurvVehicleInfoMapper.java | 16 + .../lanhai/mapper/xml/SurvGpsInfoMapper.xml | 5 + .../lanhai/mapper/xml/SurvGpsRecordMapper.xml | 5 + .../mapper/xml/SurvVehicleInfoMapper.xml | 5 + .../lanhai/o/iot/szdx/ResultDeviceData.java | 14 + .../o/iot/szdx/ResultDeviceDataKeys.java | 42 +++ .../lanhai/service/ISurvGpsInfoService.java | 16 + .../lanhai/service/ISurvGpsRecordService.java | 16 + .../service/ISurvVehicleInfoService.java | 16 + .../service/Impl/SurvGpsInfoServiceImpl.java | 20 ++ .../Impl/SurvGpsRecordServiceImpl.java | 20 ++ .../Impl/SurvVehicleInfoServiceImpl.java | 20 ++ .../java/com/lanhai/task/GpsRecordTask.java | 79 +++++ .../java/com/lanhai/util/PlainIotUtils.java | 266 ++++++++++++++ src/main/java/com/lanhai/util/SzDxUtils.java | 327 +++++++++++++++++ src/main/resources/application-local.yml | 32 +- src/main/resources/application.yml | 2 +- 27 files changed, 1742 insertions(+), 61 deletions(-) create mode 100644 src/main/java/com/lanhai/controller/SurvGpsInfoController.java create mode 100644 src/main/java/com/lanhai/controller/SurvGpsRecordController.java create mode 100644 src/main/java/com/lanhai/controller/SurvVehicleInfoController.java create mode 100644 src/main/java/com/lanhai/entity/SurvGpsInfo.java create mode 100644 src/main/java/com/lanhai/entity/SurvGpsRecord.java create mode 100644 src/main/java/com/lanhai/entity/SurvVehicleInfo.java create mode 100644 src/main/java/com/lanhai/mapper/SurvGpsInfoMapper.java create mode 100644 src/main/java/com/lanhai/mapper/SurvGpsRecordMapper.java create mode 100644 src/main/java/com/lanhai/mapper/SurvVehicleInfoMapper.java create mode 100644 src/main/java/com/lanhai/mapper/xml/SurvGpsInfoMapper.xml create mode 100644 src/main/java/com/lanhai/mapper/xml/SurvGpsRecordMapper.xml create mode 100644 src/main/java/com/lanhai/mapper/xml/SurvVehicleInfoMapper.xml create mode 100644 src/main/java/com/lanhai/o/iot/szdx/ResultDeviceData.java create mode 100644 src/main/java/com/lanhai/o/iot/szdx/ResultDeviceDataKeys.java create mode 100644 src/main/java/com/lanhai/service/ISurvGpsInfoService.java create mode 100644 src/main/java/com/lanhai/service/ISurvGpsRecordService.java create mode 100644 src/main/java/com/lanhai/service/ISurvVehicleInfoService.java create mode 100644 src/main/java/com/lanhai/service/Impl/SurvGpsInfoServiceImpl.java create mode 100644 src/main/java/com/lanhai/service/Impl/SurvGpsRecordServiceImpl.java create mode 100644 src/main/java/com/lanhai/service/Impl/SurvVehicleInfoServiceImpl.java create mode 100644 src/main/java/com/lanhai/task/GpsRecordTask.java create mode 100644 src/main/java/com/lanhai/util/PlainIotUtils.java create mode 100644 src/main/java/com/lanhai/util/SzDxUtils.java diff --git a/src/main/java/com/lanhai/MybatisPlusGenerator.java b/src/main/java/com/lanhai/MybatisPlusGenerator.java index 358b239..831732f 100644 --- a/src/main/java/com/lanhai/MybatisPlusGenerator.java +++ b/src/main/java/com/lanhai/MybatisPlusGenerator.java @@ -80,7 +80,7 @@ public class MybatisPlusGenerator { public static void main(String[] args) { - new MybatisPlusGenerator().generator("surv_transdata_flowmeter","surv_hisdata_flowmeter");//指标 + new MybatisPlusGenerator().generator("surv_gps_info","surv_gps_record","surv_vehicle_info");//指标 } diff --git a/src/main/java/com/lanhai/constant/IotConstants.java b/src/main/java/com/lanhai/constant/IotConstants.java index 905cc52..d299d1d 100644 --- a/src/main/java/com/lanhai/constant/IotConstants.java +++ b/src/main/java/com/lanhai/constant/IotConstants.java @@ -1,6 +1,7 @@ package com.lanhai.constant; public interface IotConstants { + /** ------------------------------------------------------厂家识别码-----------------------------------------------------------*/ /** * 萤石云访问 */ @@ -32,6 +33,24 @@ public interface IotConstants { */ String gcszxc_access = "gcszxc_access"; + /** + * 仁科应用 + */ + String renke_access = "RenKe_access"; + + /** + * 曲沃山东芯谷网络密钥 + */ + String qwxgwl_access = "qwxgwl_access"; + + + + /** + * 曲沃山东优晟系统密钥 + */ + String qwmeter_access = "qwmeter_access"; + /** ------------------------------------------------------厂家识别码-----------------------------------------------------------*/ +/** ------------------------------------------------------redis缓存头-----------------------------------------------------------*/ /** * 新普惠应用 */ @@ -49,9 +68,48 @@ public interface IotConstants { String APPLICATION_RenKe = "RenKe"; /** - * 仁科应用 + * 物联网配置缓存头 */ - String renke_access = "RenKe_access"; + String IOT_SURVCONFIG_CACHE = "surv:config:params"; + + + /** ------------------------------------------------------redis缓存头-----------------------------------------------------------*/ + + + + /** ------------------------------------------------------数据生成-----------------------------------------------------------*/ + /** + * 生成数据标记 + */ + String MARK_GENDATA = "GenData"; + + + /** + * 真实数据标记 + */ + String MARK_REALDATA = "RealTime"; + + /** + * 规则类型 历史 + */ + String RULE_HISTORY = "rule_history"; + + /** + * 规则类型 预设 + */ + String RULE_PRE = "rule_preset"; + + +/** ------------------------------------------------------数据生成-----------------------------------------------------------*/ + + /** ------------------------------------------------------物联网协议-----------------------------------------------------------*/ + /** + * + * 深圳帝馨gps协议 + */ + String PROTOCOL_SZDXGPS = "szdx_gps_protocol"; + + /** * 萤石云标准 @@ -100,10 +158,6 @@ public interface IotConstants { String qwxgwl_standard = "qwxgwl_standard"; - /** - * 曲沃山东芯谷网络密钥 - */ - String qwxgwl_access = "qwxgwl_access"; /** @@ -111,10 +165,7 @@ public interface IotConstants { */ String qwmeter_standard = "qwmeter_standard"; - /** - * 曲沃山东优晟系统密钥 - */ - String qwmeter_access = "qwmeter_access"; + /** @@ -127,6 +178,15 @@ public interface IotConstants { */ String renke_standard = "RenKe_standard"; + /** + * 蓝海虚拟设备协议 + */ + String lhviot_standard = "lhviot_standard"; + + + /** ------------------------------------------------------物联网协议-----------------------------------------------------------*/ + + /** ------------------------------------------------------业务逻辑-----------------------------------------------------------*/ /** * 害虫目录 */ @@ -189,42 +249,10 @@ public interface IotConstants { */ String iot_device_guard = "guard"; - /** - * 物联网配置缓存头 - */ - String IOT_SURVCONFIG_CACHE = "surv:config:params"; - - /** - * 生成数据标记 - */ - String MARK_GENDATA = "GenData"; - - - /** - * 真实数据标记 - */ - String MARK_REALDATA = "RealTime"; - - /** - * 规则类型 历史 - */ - String RULE_HISTORY = "rule_history"; - - /** - * 规则类型 预设 - */ - String RULE_PRE = "rule_preset"; - - - /** - * 蓝海虚拟设备协议 - */ - String lhviot_standard = "lhviot_standard"; - /** * mqtt连接协议 */ String CONFIG_TYPE_MQTT = "mqtt"; - + /** ------------------------------------------------------业务逻辑-----------------------------------------------------------*/ } diff --git a/src/main/java/com/lanhai/controller/SurvGpsInfoController.java b/src/main/java/com/lanhai/controller/SurvGpsInfoController.java new file mode 100644 index 0000000..14789ce --- /dev/null +++ b/src/main/java/com/lanhai/controller/SurvGpsInfoController.java @@ -0,0 +1,21 @@ +package com.lanhai.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *
+ * gps信息 前端控制器 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +@Controller +@RequestMapping("/survGpsInfo") +public class SurvGpsInfoController { + +} + diff --git a/src/main/java/com/lanhai/controller/SurvGpsRecordController.java b/src/main/java/com/lanhai/controller/SurvGpsRecordController.java new file mode 100644 index 0000000..5e0ec02 --- /dev/null +++ b/src/main/java/com/lanhai/controller/SurvGpsRecordController.java @@ -0,0 +1,21 @@ +package com.lanhai.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *+ * gsp轨迹记录 前端控制器 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +@Controller +@RequestMapping("/survGpsRecord") +public class SurvGpsRecordController { + +} + diff --git a/src/main/java/com/lanhai/controller/SurvVehicleInfoController.java b/src/main/java/com/lanhai/controller/SurvVehicleInfoController.java new file mode 100644 index 0000000..5576e65 --- /dev/null +++ b/src/main/java/com/lanhai/controller/SurvVehicleInfoController.java @@ -0,0 +1,21 @@ +package com.lanhai.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *+ * 车辆信息表 前端控制器 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +@Controller +@RequestMapping("/survVehicleInfo") +public class SurvVehicleInfoController { + +} + diff --git a/src/main/java/com/lanhai/entity/SurvGpsInfo.java b/src/main/java/com/lanhai/entity/SurvGpsInfo.java new file mode 100644 index 0000000..d569c4c --- /dev/null +++ b/src/main/java/com/lanhai/entity/SurvGpsInfo.java @@ -0,0 +1,205 @@ +package com.lanhai.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.time.LocalDateTime; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *+ * gps信息 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvGpsInfo extends Model+ * gsp轨迹记录 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvGpsRecord extends Model+ * 车辆信息表 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvVehicleInfo extends Model+ * gps信息 Mapper 接口 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +public interface SurvGpsInfoMapper extends BaseMapper+ * gsp轨迹记录 Mapper 接口 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +public interface SurvGpsRecordMapper extends BaseMapper+ * 车辆信息表 Mapper 接口 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +public interface SurvVehicleInfoMapper extends BaseMapper+ * gps信息 服务类 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +public interface ISurvGpsInfoService extends IService+ * gsp轨迹记录 服务类 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +public interface ISurvGpsRecordService extends IService+ * 车辆信息表 服务类 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +public interface ISurvVehicleInfoService extends IService+ * gps信息 服务实现类 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +@Service +public class SurvGpsInfoServiceImpl extends ServiceImpl+ * gsp轨迹记录 服务实现类 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +@Service +public class SurvGpsRecordServiceImpl extends ServiceImpl+ * 车辆信息表 服务实现类 + *
+ * + * @author ${author} + * @since 2026-07-30 + */ +@Service +public class SurvVehicleInfoServiceImpl extends ServiceImpl
+ * 使用方式:复制此类,改类名,改下面4个常量,按需修改各方法
+ */
+@Slf4j
+public class PlainIotUtils {
+
+ // ==================== 改这里 ====================
+ private static final String PROVIDER_CODE = "xxx";
+ private static final String PROVIDER_NAME = "XXX厂家";
+ private static final String ACCESS_CODE = "XXX_ACCESS";
+ private static final String DOMAIN = "https://api.xxx.com";
+
+ // ==================== 常量 ====================
+ private static final String TOKEN_KEY_PREFIX = "iot:token:";
+ private static final String TOKEN_EXPIRE_PREFIX = "iot:token:expire:";
+ private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ private static final RedisTemplate
+ * 使用方式:复制此类,改类名,改下面4个常量,按需修改各方法
+ */
+@Slf4j
+public class SzDxUtils {
+
+ // ==================== 改这里 ====================
+ private static final String PROVIDER_CODE = "DiXinSoft";
+ private static final String PROVIDER_NAME = "深圳帝馨";
+ private static final String ACCESS_CODE = "dxsoft_access";
+ private static final String DOMAIN = "http://api.18gps.net/GetDateServices.asmx";
+
+ // ==================== 常量 ====================
+ private static final String TOKEN_KEY_PREFIX = "iot:token:";
+ private static final String TOKEN_EXPIRE_PREFIX = "iot:token:expire:";
+ private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ private static final RedisTemplate