From 59ee7a2509ec982459ea76af51381c6afe3eb4a8 Mon Sep 17 00:00:00 2001 From: fengchunyu Date: Thu, 21 Nov 2024 17:09:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E8=BF=AD=E4=BB=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/application.properties | 5 - .../datasend/dianxin/cache/DeviceCache.java | 2 +- .../dianxin/cache/DirectionCache.java | 75 ++++++ .../dianxin/cache/OrientationCache.java | 75 ++++++ .../datasend/dianxin/config/RabbitConfig.java | 28 +- .../dianxin/domain/BaseDoorRecord.java | 187 ++++++++++++++ .../dianxin/domain/BaseUserRecord.java | 217 ++++++++++++++++ .../dianxin/domain/BaseVehicleRecord.java | 242 ++++++++++++++++++ .../dianxin/domain/DevopsDeviceInfo.java | 2 +- .../datasend/dianxin/domain/SysDictData.java | 71 +++++ .../dianxin/domain/dto/UserRecordDto.java | 19 ++ .../domain/dto/UserRequestDataDTO.java | 16 ++ .../domain/dto/UserRequestDataListDTO.java | 29 +++ .../dianxin/domain/dto/VehicleRecordDto.java | 19 ++ .../domain/dto/VehicleRequestDataDTO.java | 16 ++ .../domain/dto/VehicleRequestDataListDTO.java | 30 +++ .../dianxin/mapper/BaseDoorRecordMapper.java | 16 ++ .../dianxin/mapper/BaseUserRecordMapper.java | 16 ++ .../mapper/BaseVehicleRecordMapper.java | 16 ++ .../dianxin/mapper/SysDictDataMapper.java | 16 ++ .../service/BaseDoorRecordService.java | 17 ++ .../service/BaseUserRecordService.java | 17 ++ .../service/BaseVehicleRecordService.java | 17 ++ .../dianxin/service/SysDictDataService.java | 17 ++ .../impl/BaseDoorRecordServiceImpl.java | 19 ++ .../impl/BaseUserRecordServiceImpl.java | 18 ++ .../impl/BaseVehicleRecordServiceImpl.java | 18 ++ .../service/impl/SysDictDataServiceImpl.java | 19 ++ .../datasend/dianxin/task/StandardTask.java | 202 ++++++++++++++- src/main/resources/application.yml | 20 +- 30 files changed, 1432 insertions(+), 29 deletions(-) create mode 100644 src/main/java/com/bootdo/datasend/dianxin/cache/DirectionCache.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/cache/OrientationCache.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/BaseDoorRecord.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/BaseUserRecord.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/BaseVehicleRecord.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/SysDictData.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRecordDto.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRequestDataDTO.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRequestDataListDTO.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRecordDto.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRequestDataDTO.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRequestDataListDTO.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/mapper/BaseDoorRecordMapper.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/mapper/BaseUserRecordMapper.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/mapper/BaseVehicleRecordMapper.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/mapper/SysDictDataMapper.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/service/BaseDoorRecordService.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/service/BaseUserRecordService.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/service/BaseVehicleRecordService.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/service/SysDictDataService.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseDoorRecordServiceImpl.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseUserRecordServiceImpl.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseVehicleRecordServiceImpl.java create mode 100644 src/main/java/com/bootdo/datasend/dianxin/service/impl/SysDictDataServiceImpl.java diff --git a/config/application.properties b/config/application.properties index 0abe42e..e69de29 100644 --- a/config/application.properties +++ b/config/application.properties @@ -1,5 +0,0 @@ -##对接汇聚中心 -#global mode -SENDTYPE=HJPT - - diff --git a/src/main/java/com/bootdo/datasend/dianxin/cache/DeviceCache.java b/src/main/java/com/bootdo/datasend/dianxin/cache/DeviceCache.java index d8fbabb..b9f4004 100644 --- a/src/main/java/com/bootdo/datasend/dianxin/cache/DeviceCache.java +++ b/src/main/java/com/bootdo/datasend/dianxin/cache/DeviceCache.java @@ -50,7 +50,7 @@ public class DeviceCache { } public static void put(DevopsDeviceInfo bean) { - cache.put(bean.getGbsChannelNo(), JSON.toJSONString(bean)); + cache.put(bean.getDeviceIp(), JSON.toJSONString(bean)); } /** diff --git a/src/main/java/com/bootdo/datasend/dianxin/cache/DirectionCache.java b/src/main/java/com/bootdo/datasend/dianxin/cache/DirectionCache.java new file mode 100644 index 0000000..c01358c --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/cache/DirectionCache.java @@ -0,0 +1,75 @@ +package com.bootdo.datasend.dianxin.cache; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.bootdo.datasend.dianxin.domain.SysDictData; +import com.bootdo.datasend.dianxin.service.SysDictDataService; +import com.bootdo.util.StringKit; +import com.github.benmanes.caffeine.cache.Cache; +import com.github.benmanes.caffeine.cache.Caffeine; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 区域缓存 + * + * @since 2023-09-16 11:04 + */ +@Component +public class DirectionCache { + private static final Logger logger = LoggerFactory.getLogger(DirectionCache.class); + + /** + * + */ + private static final Cache cache = Caffeine.newBuilder().build(); + + private static SysDictDataService sysDictDataService; + + @Autowired + DirectionCache(SysDictDataService sysDictDataService) { + DirectionCache.sysDictDataService = sysDictDataService; + //初始化 + load(); + } + + public static String get(String key) { + return cache.get(key, s -> { + try { + return ""; + } catch (Exception e) { + return ""; + } + }); + } + + public static void put(SysDictData bean) { + cache.put(bean.getDictValue(), JSON.toJSONString(bean)); + } + + /** + * 缓存刷新 + */ + @Scheduled(cron = "0 */30 * * * ?") + public static void refresh() { + load(); + } + + private static void load() { + logger.info("设备表缓存重新加载"); + List list = sysDictDataService.list(new QueryWrapper() + .eq("dict_type", "direction") + ); + Map dictMapCode = list.stream().collect(Collectors.toMap( + e -> "".equals(StringKit.toString(e.getDictValue())) ? "err" : e.getDictValue(), + e -> StringKit.toString(e.getDictLabel()), (v1, v2) -> v2)); + cache.putAll(dictMapCode); + } +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/cache/OrientationCache.java b/src/main/java/com/bootdo/datasend/dianxin/cache/OrientationCache.java new file mode 100644 index 0000000..81bab0d --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/cache/OrientationCache.java @@ -0,0 +1,75 @@ +package com.bootdo.datasend.dianxin.cache; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.bootdo.datasend.dianxin.domain.SysDictData; +import com.bootdo.datasend.dianxin.service.SysDictDataService; +import com.bootdo.util.StringKit; +import com.github.benmanes.caffeine.cache.Cache; +import com.github.benmanes.caffeine.cache.Caffeine; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 区域缓存 + * + * @since 2023-09-16 11:04 + */ +@Component +public class OrientationCache { + private static final Logger logger = LoggerFactory.getLogger(OrientationCache.class); + + /** + * + */ + private static final Cache cache = Caffeine.newBuilder().build(); + + private static SysDictDataService sysDictDataService; + + @Autowired + OrientationCache(SysDictDataService sysDictDataService) { + OrientationCache.sysDictDataService = sysDictDataService; + //初始化 + load(); + } + + public static String get(String key) { + return cache.get(key, s -> { + try { + return ""; + } catch (Exception e) { + return ""; + } + }); + } + + public static void put(SysDictData bean) { + cache.put(bean.getDictValue(), JSON.toJSONString(bean)); + } + + /** + * 缓存刷新 + */ + @Scheduled(cron = "0 */30 * * * ?") + public static void refresh() { + load(); + } + + private static void load() { + logger.info("设备表缓存重新加载"); + List list = sysDictDataService.list(new QueryWrapper() + .eq("dict_type", "orientation") + ); + Map dictMapCode = list.stream().collect(Collectors.toMap( + e -> "".equals(StringKit.toString(e.getDictValue())) ? "err" : e.getDictValue(), + e -> StringKit.toString(e.getDictLabel()), (v1, v2) -> v2)); + cache.putAll(dictMapCode); + } +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/config/RabbitConfig.java b/src/main/java/com/bootdo/datasend/dianxin/config/RabbitConfig.java index ed5d302..a71e310 100644 --- a/src/main/java/com/bootdo/datasend/dianxin/config/RabbitConfig.java +++ b/src/main/java/com/bootdo/datasend/dianxin/config/RabbitConfig.java @@ -11,17 +11,39 @@ import org.springframework.context.annotation.Configuration; public class RabbitConfig { @Bean - public Queue myQueue() { + public Queue warnQueue() { // 创建队列 myQueue return new Queue("warnrecord", true); } + + @Bean + public Queue userQueue() { + return new Queue("userrecord", true); + } + + @Bean + public Queue vehicleQueue() { + return new Queue("vehiclerecord", true); + } + @Bean public TopicExchange exchange() { return new TopicExchange("warnrecord"); } @Bean - public Binding binding(Queue queue, TopicExchange exchange) { - return BindingBuilder.bind(queue).to(exchange).with("routing.key.#"); + public Binding bindingWarnQueue(Queue warnQueue, TopicExchange exchange) { + return BindingBuilder.bind(warnQueue).to(exchange).with("routing.key.warnrecord"); } + + @Bean + public Binding bindingUserQueue(Queue userQueue, TopicExchange exchange) { + return BindingBuilder.bind(userQueue).to(exchange).with("routing.key.userrecord"); + } + + @Bean + public Binding bindingVehicleQueue(Queue vehicleQueue, TopicExchange exchange) { + return BindingBuilder.bind(vehicleQueue).to(exchange).with("routing.key.vehiclerecord"); + } + } diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/BaseDoorRecord.java b/src/main/java/com/bootdo/datasend/dianxin/domain/BaseDoorRecord.java new file mode 100644 index 0000000..095d4d8 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/BaseDoorRecord.java @@ -0,0 +1,187 @@ +package com.bootdo.datasend.dianxin.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 人脸门禁记录表(BaseDoorRecord)Domain + * + * @author makejava + * @since 2024-11-21 16:15:21 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName(value = "base_door_record") +public class BaseDoorRecord { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 小区编码 + */ + private String placeCode; + + /** + * 小区名称 + */ + private String placeName; + + /** + * 设备编码 + */ + private String deviceCode; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 关联视频监控编码 + */ + private String gbsChannelNo; + + /** + * 设备安装位置 + */ + private String deviceAddress; + + /** + * 方位 + */ + private Integer orientation; + + /** + * 摄像头ip + */ + private String cameraIp; + + /** + * 姓名 + */ + private String userName; + + /** + * 证件类型 + */ + private Integer identityType; + + /** + * 联系电话 + */ + private String phone; + + /** + * 证件号码 + */ + private String idcard; + + /** + * 进出方向 + */ + private Integer direction; + + /** + * 人脸图 + */ + private String personPic; + + /** + * 记录唯一标识 + */ + private String recordId; + + /** + * 数据来源唯一ID + */ + private String sourceId; + + /** + * 人脸小图唯一ID + */ + private String personImageId; + + /** + * 卡号/人脸编码 + */ + private String cardno; + + /** + * 门禁类型 + */ + private Integer cardType; + + /** + * 开门结果 + */ + private String openResult; + + /** + * 健康码类型 + */ + private Integer healthCodeType; + + /** + * 行程码类型 + */ + private Integer travelCodeType; + + /** + * 行程码记录 + */ + private String travelCodeRecord; + + /** + * 核酸检测结果 + */ + private Integer nucleicResultType; + + /** + * 开门时间 + */ + private Long passTime; + + /** + * 开门时间(分区) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date partitionField; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createtimeV; + + /** + * 创建者 + */ + private Integer createbyV; + + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updatetimeV; + + /** + * 更新者 + */ + private Integer updatebyV; + + /** + * 是否发送 + */ + private Integer isSend; + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/BaseUserRecord.java b/src/main/java/com/bootdo/datasend/dianxin/domain/BaseUserRecord.java new file mode 100644 index 0000000..5b45b59 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/BaseUserRecord.java @@ -0,0 +1,217 @@ +package com.bootdo.datasend.dianxin.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 人脸记录表(BaseUserRecord)Domain + * + * @author makejava + * @since 2024-11-21 09:18:51 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName(value = "base_user_record") +public class BaseUserRecord { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 场所编码 + */ + private String placeCode; + + /** + * 场所名称 + */ + private String placeName; + + /** + * 设备编码 + */ + private String deviceCode; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 通道国标编码 + */ + private String gbsChannelNo; + + /** + * 安装位置 + */ + private String deviceAddress; + + /** + * 方位 + */ + private Integer orientation; + + /** + * 设备ip + */ + private String deviceIp; + + /** + * 全景图 + */ + private String globalPic; + + /** + * 人脸图 + */ + private String personPic; + + /** + * 人体全景图 + */ + private String bodyGlobalPic; + + /** + * 人体小图 + */ + private String bodyPic; + + /** + * 常口库标准照片 + */ + private String userStandardPic; + + /** + * 人员姓名 + */ + private String userName; + + /** + * 档案编号 + */ + private String dossierCode; + + /** + * 证件号码 + */ + private String idCard; + + /** + * 联系电话 + */ + private String phone; + + /** + * 记录唯一标识 + */ + private String recordId; + + /** + * 人车同拍唯一记录 + */ + private String userVehicleRecordId; + + /** + * 人体关联ID + */ + private String userBodyRecordId; + + /** + * 商汤人脸记录 + */ + private String stUserRecordId; + + /** + * 数据来源唯一ID + */ + private String sourceId; + + /** + * 人脸小图唯一ID + */ + private String personImageId; + + /** + * 人脸大图唯一ID + */ + private String globalImageId; + + /** + * 相似度 + */ + private String similarity; + + /** + * 是否已比对人脸 + */ + private Integer isCompare; + + /** + * 进出方向 + */ + private Integer direction; + + /** + * 抓拍时间 + */ + private Long passTime; + + /** + * 抓拍时间(分区) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date partitionField; + + /** + * 轴系坐标 + */ + private String axis; + + /** + * 数据来源 + */ + private Integer dataSrc; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTimeV; + + /** + * 创建者 + */ + private Integer createByV; + + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTimeV; + + /** + * 更新者 + */ + private Integer updateByV; + + /** + * 多维设备SN + */ + private String geminiSn; + + /** + * 是否发送 + */ + private Integer isSend; + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/BaseVehicleRecord.java b/src/main/java/com/bootdo/datasend/dianxin/domain/BaseVehicleRecord.java new file mode 100644 index 0000000..c399771 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/BaseVehicleRecord.java @@ -0,0 +1,242 @@ +package com.bootdo.datasend.dianxin.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 车辆记录表(BaseVehicleRecord)Domain + * + * @author makejava + * @since 2024-11-21 09:18:52 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName(value = "base_vehicle_record") +public class BaseVehicleRecord { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 场所编码 + */ + private String placeCode; + + /** + * 场所名称 + */ + private String placeName; + + /** + * 设备编码 + */ + private String deviceCode; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 通道国标编码 + */ + private String gbsChannelNo; + + /** + * 安装位置 + */ + private String deviceAddress; + + /** + * 方位 + */ + private Integer orientation; + + /** + * 设备ip + */ + private String deviceIp; + + /** + * 车牌号码 + */ + private String plateNo; + + /** + * 全景图 + */ + private String globalPic; + + /** + * 车牌图 + */ + private String platePic; + + /** + * 记录唯一ID + */ + private String recordId; + + /** + * 数据来源唯一ID + */ + private String sourceId; + + /** + * 车牌号小图唯一ID + */ + private String plateImageId; + + /** + * 车辆全景图唯一ID + */ + private String globalImageId; + + /** + * 人车同拍唯一记录 + */ + private String userVehicleRecordId; + + /** + * 车主人脸图 + */ + private String ownerPersonPic; + + /** + * 车主全景图 + */ + private String ownerGlobalPic; + + /** + * 车主姓名 + */ + private String ownerName; + + /** + * 证件号码 + */ + private String idCard; + + /** + * 联系电话 + */ + private String phone; + + /** + * 副驾驶人脸图 + */ + private String copilotPersonPic; + + /** + * 副驾驶全景图 + */ + private String copilotGlobalPic; + + /** + * 副驾驶姓名 + */ + private String copilotOwnerName; + + /** + * 副驾驶证件号码 + */ + private String copilotIdcard; + + /** + * 副驾驶联系电话 + */ + private String copilotPhone; + + /** + * 进出方向 + */ + private Integer direction; + + /** + * 卡口编码 + */ + private String doorwayCode; + + /** + * 车道编码 + */ + private String roadCode; + + /** + * 过车时间 + */ + private Long passTime; + + /** + * 过车时间(分区) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date partitionField; + + /** + * 车牌颜色 + */ + private String plateColor; + + /** + * 车身颜色 + */ + private String vehicleColor; + + /** + * 车辆类型 + */ + private String vehicleType; + + /** + * 车辆品牌 + */ + private String vehicleBrand; + + /** + * 数据来源 + */ + private Integer dataSrc; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTimeV; + + /** + * 创建者 + */ + private Integer createByV; + + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTimeV; + + /** + * 更新者 + */ + private Integer updateByV; + + /** + * 多维设备SN + */ + private String geminiSn; + + /** + * 是否发送 + */ + private Integer isSend; + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/DevopsDeviceInfo.java b/src/main/java/com/bootdo/datasend/dianxin/domain/DevopsDeviceInfo.java index 3ad7a54..1e63ba9 100644 --- a/src/main/java/com/bootdo/datasend/dianxin/domain/DevopsDeviceInfo.java +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/DevopsDeviceInfo.java @@ -124,7 +124,7 @@ public class DevopsDeviceInfo { /** * 设备厂家 */ - private String manufactor; + private Integer manufactor; /** * 设备登陆帐号 diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/SysDictData.java b/src/main/java/com/bootdo/datasend/dianxin/domain/SysDictData.java new file mode 100644 index 0000000..36ee798 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/SysDictData.java @@ -0,0 +1,71 @@ +package com.bootdo.datasend.dianxin.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 字典数据表(SysDictData)Domain + * + * @author makejava + * @since 2024-11-21 16:25:19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName(value = "sys_dict_data") +public class SysDictData { + + /** + * 主键 + */ + @TableId(value = "dict_code", type = IdType.AUTO) + private Long dictCode; + + /** + * 字典排序 + */ + private Integer dictSort; + + /** + * 字典标签 + */ + private String dictLabel; + + /** + * 字典键值 + */ + private String dictValue; + + /** + * 字典类型 + */ + private String dictType; + + /** + * 样式属性(其他样式扩展) + */ + private String cssClass; + + /** + * 表格回显样式 + */ + private String listClass; + + /** + * 是否默认(Y是 N否) + */ + private String isDefault; + + /** + * 状态(0正常 1停用) + */ + private String status; + + /** + * 备注 + */ + private String remark; + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRecordDto.java b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRecordDto.java new file mode 100644 index 0000000..783dc48 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRecordDto.java @@ -0,0 +1,19 @@ +package com.bootdo.datasend.dianxin.domain.dto; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Auther: cyFeng + * @Date: 2024/11/18 14:23 + * @Description: + */ +@NoArgsConstructor +@Data +public class UserRecordDto { + + @JSONField(name = "requestData") + private UserRequestDataDTO requestData; + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRequestDataDTO.java b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRequestDataDTO.java new file mode 100644 index 0000000..989c698 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRequestDataDTO.java @@ -0,0 +1,16 @@ +package com.bootdo.datasend.dianxin.domain.dto; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@NoArgsConstructor +@Data +public class UserRequestDataDTO { + @JSONField(name = "requestFlag") + private String requestFlag; + @JSONField(name = "requestDataList") + private List requestDataList; +} \ No newline at end of file diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRequestDataListDTO.java b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRequestDataListDTO.java new file mode 100644 index 0000000..b13a1fc --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/UserRequestDataListDTO.java @@ -0,0 +1,29 @@ +package com.bootdo.datasend.dianxin.domain.dto; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +@Data +public class UserRequestDataListDTO { + @JSONField(name = "gatewaySN") + private String gatewaySN; + @JSONField(name = "deviceSN") + private String deviceSN; + @JSONField(name = "validType") + private String validType; + @JSONField(name = "cardNo") + private String cardNo; + + @JSONField(name = "passDirection") + private String passDirection; + + @JSONField(name = "passTime") + private String passTime; + @JSONField(name = "personPicBase64") + private String personPicBase64; + @JSONField(name = "globalPicBase64") + private String globalPicBase64; + +} \ No newline at end of file diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRecordDto.java b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRecordDto.java new file mode 100644 index 0000000..ef6f09e --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRecordDto.java @@ -0,0 +1,19 @@ +package com.bootdo.datasend.dianxin.domain.dto; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Auther: cyFeng + * @Date: 2024/11/18 14:23 + * @Description: + */ +@NoArgsConstructor +@Data +public class VehicleRecordDto { + + @JSONField(name = "requestData") + private VehicleRequestDataDTO requestData; + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRequestDataDTO.java b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRequestDataDTO.java new file mode 100644 index 0000000..047e142 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRequestDataDTO.java @@ -0,0 +1,16 @@ +package com.bootdo.datasend.dianxin.domain.dto; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@NoArgsConstructor +@Data +public class VehicleRequestDataDTO { + @JSONField(name = "requestFlag") + private String requestFlag; + @JSONField(name = "requestDataList") + private List requestDataList; +} \ No newline at end of file diff --git a/src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRequestDataListDTO.java b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRequestDataListDTO.java new file mode 100644 index 0000000..2a696c8 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/domain/dto/VehicleRequestDataListDTO.java @@ -0,0 +1,30 @@ +package com.bootdo.datasend.dianxin.domain.dto; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +@Data +public class VehicleRequestDataListDTO { + @JSONField(name = "gatewaySN") + private String gatewaySN; + @JSONField(name = "deviceSN") + private String deviceSN; + @JSONField(name = "passTime") + private String passTime; + @JSONField(name = "plateNo") + private String plateNo; + + @JSONField(name = "passDirection") + private String passDirection; + + + @JSONField(name = "platePicBase64") + private String platePicBase64; + @JSONField(name = "globalPicBase64") + private String globalPicBase64; + @JSONField(name = "userName") + private String userName; + +} \ No newline at end of file diff --git a/src/main/java/com/bootdo/datasend/dianxin/mapper/BaseDoorRecordMapper.java b/src/main/java/com/bootdo/datasend/dianxin/mapper/BaseDoorRecordMapper.java new file mode 100644 index 0000000..af42a5e --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/mapper/BaseDoorRecordMapper.java @@ -0,0 +1,16 @@ +package com.bootdo.datasend.dianxin.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bootdo.datasend.dianxin.domain.BaseDoorRecord; +import org.apache.ibatis.annotations.Mapper; + +/** + * 人脸门禁记录表(BaseDoorRecord)Mapper + * + * @author makejava + * @since 2024-11-21 16:15:21 + */ +@Mapper +public interface BaseDoorRecordMapper extends BaseMapper { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/mapper/BaseUserRecordMapper.java b/src/main/java/com/bootdo/datasend/dianxin/mapper/BaseUserRecordMapper.java new file mode 100644 index 0000000..b2373b9 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/mapper/BaseUserRecordMapper.java @@ -0,0 +1,16 @@ +package com.bootdo.datasend.dianxin.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bootdo.datasend.dianxin.domain.BaseUserRecord; +import org.apache.ibatis.annotations.Mapper; + +/** + * 人脸记录表(BaseUserRecord)Mapper + * + * @author makejava + * @since 2024-11-21 09:18:52 + */ +@Mapper +public interface BaseUserRecordMapper extends BaseMapper { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/mapper/BaseVehicleRecordMapper.java b/src/main/java/com/bootdo/datasend/dianxin/mapper/BaseVehicleRecordMapper.java new file mode 100644 index 0000000..a0bbd2e --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/mapper/BaseVehicleRecordMapper.java @@ -0,0 +1,16 @@ +package com.bootdo.datasend.dianxin.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bootdo.datasend.dianxin.domain.BaseVehicleRecord; +import org.apache.ibatis.annotations.Mapper; + +/** + * 车辆记录表(BaseVehicleRecord)Mapper + * + * @author makejava + * @since 2024-11-21 09:18:53 + */ +@Mapper +public interface BaseVehicleRecordMapper extends BaseMapper { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/mapper/SysDictDataMapper.java b/src/main/java/com/bootdo/datasend/dianxin/mapper/SysDictDataMapper.java new file mode 100644 index 0000000..5eb5dee --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/mapper/SysDictDataMapper.java @@ -0,0 +1,16 @@ +package com.bootdo.datasend.dianxin.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bootdo.datasend.dianxin.domain.SysDictData; +import org.apache.ibatis.annotations.Mapper; + +/** + * 字典数据表(SysDictData)Mapper + * + * @author makejava + * @since 2024-11-21 16:25:20 + */ +@Mapper +public interface SysDictDataMapper extends BaseMapper { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/service/BaseDoorRecordService.java b/src/main/java/com/bootdo/datasend/dianxin/service/BaseDoorRecordService.java new file mode 100644 index 0000000..a4ae87d --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/service/BaseDoorRecordService.java @@ -0,0 +1,17 @@ +package com.bootdo.datasend.dianxin.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.bootdo.datasend.dianxin.domain.BaseDoorRecord; + +import java.util.List; + +/** + * 人脸门禁记录表(BaseDoorRecord)Service + * + * @author makejava + * @since 2024-11-21 16:15:21 + */ +public interface BaseDoorRecordService extends IService { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/service/BaseUserRecordService.java b/src/main/java/com/bootdo/datasend/dianxin/service/BaseUserRecordService.java new file mode 100644 index 0000000..4824ad3 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/service/BaseUserRecordService.java @@ -0,0 +1,17 @@ +package com.bootdo.datasend.dianxin.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.bootdo.datasend.dianxin.domain.BaseUserRecord; + +import java.util.List; + +/** + * 人脸记录表(BaseUserRecord)Service + * + * @author makejava + * @since 2024-11-21 09:18:51 + */ +public interface BaseUserRecordService extends IService { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/service/BaseVehicleRecordService.java b/src/main/java/com/bootdo/datasend/dianxin/service/BaseVehicleRecordService.java new file mode 100644 index 0000000..1edf457 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/service/BaseVehicleRecordService.java @@ -0,0 +1,17 @@ +package com.bootdo.datasend.dianxin.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.bootdo.datasend.dianxin.domain.BaseVehicleRecord; + +import java.util.List; + +/** + * 车辆记录表(BaseVehicleRecord)Service + * + * @author makejava + * @since 2024-11-21 09:18:52 + */ +public interface BaseVehicleRecordService extends IService { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/service/SysDictDataService.java b/src/main/java/com/bootdo/datasend/dianxin/service/SysDictDataService.java new file mode 100644 index 0000000..f57098d --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/service/SysDictDataService.java @@ -0,0 +1,17 @@ +package com.bootdo.datasend.dianxin.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.bootdo.datasend.dianxin.domain.SysDictData; + +import java.util.List; + +/** + * 字典数据表(SysDictData)Service + * + * @author makejava + * @since 2024-11-21 16:25:19 + */ +public interface SysDictDataService extends IService { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseDoorRecordServiceImpl.java b/src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseDoorRecordServiceImpl.java new file mode 100644 index 0000000..e35e7ba --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseDoorRecordServiceImpl.java @@ -0,0 +1,19 @@ +package com.bootdo.datasend.dianxin.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bootdo.datasend.dianxin.domain.BaseDoorRecord; +import com.bootdo.datasend.dianxin.mapper.BaseDoorRecordMapper; +import com.bootdo.datasend.dianxin.service.BaseDoorRecordService; +import org.springframework.stereotype.Service; + +/** + * 人脸门禁记录表(BaseDoorRecord)ServiceImpl + * + * @author makejava + * @since 2024-11-21 16:15:21 + */ +@Service +public class BaseDoorRecordServiceImpl extends ServiceImpl implements BaseDoorRecordService { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseUserRecordServiceImpl.java b/src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseUserRecordServiceImpl.java new file mode 100644 index 0000000..ec92d4e --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseUserRecordServiceImpl.java @@ -0,0 +1,18 @@ +package com.bootdo.datasend.dianxin.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bootdo.datasend.dianxin.domain.BaseUserRecord; +import com.bootdo.datasend.dianxin.mapper.BaseUserRecordMapper; +import com.bootdo.datasend.dianxin.service.BaseUserRecordService; +import org.springframework.stereotype.Service; + +/** + * 人脸记录表(BaseUserRecord)ServiceImpl + * + * @author makejava + * @since 2024-11-21 09:18:51 + */ +@Service +public class BaseUserRecordServiceImpl extends ServiceImpl implements BaseUserRecordService { +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseVehicleRecordServiceImpl.java b/src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseVehicleRecordServiceImpl.java new file mode 100644 index 0000000..cda53e7 --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/service/impl/BaseVehicleRecordServiceImpl.java @@ -0,0 +1,18 @@ +package com.bootdo.datasend.dianxin.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bootdo.datasend.dianxin.domain.BaseVehicleRecord; +import com.bootdo.datasend.dianxin.mapper.BaseVehicleRecordMapper; +import com.bootdo.datasend.dianxin.service.BaseVehicleRecordService; +import org.springframework.stereotype.Service; + +/** + * 车辆记录表(BaseVehicleRecord)ServiceImpl + * + * @author makejava + * @since 2024-11-21 09:18:52 + */ +@Service +public class BaseVehicleRecordServiceImpl extends ServiceImpl implements BaseVehicleRecordService { +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/service/impl/SysDictDataServiceImpl.java b/src/main/java/com/bootdo/datasend/dianxin/service/impl/SysDictDataServiceImpl.java new file mode 100644 index 0000000..91d123a --- /dev/null +++ b/src/main/java/com/bootdo/datasend/dianxin/service/impl/SysDictDataServiceImpl.java @@ -0,0 +1,19 @@ +package com.bootdo.datasend.dianxin.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bootdo.datasend.dianxin.domain.SysDictData; +import com.bootdo.datasend.dianxin.mapper.SysDictDataMapper; +import com.bootdo.datasend.dianxin.service.SysDictDataService; +import org.springframework.stereotype.Service; + +/** + * 字典数据表(SysDictData)ServiceImpl + * + * @author makejava + * @since 2024-11-21 16:25:19 + */ +@Service +public class SysDictDataServiceImpl extends ServiceImpl implements SysDictDataService { + +} diff --git a/src/main/java/com/bootdo/datasend/dianxin/task/StandardTask.java b/src/main/java/com/bootdo/datasend/dianxin/task/StandardTask.java index c8d53c2..9ca79aa 100644 --- a/src/main/java/com/bootdo/datasend/dianxin/task/StandardTask.java +++ b/src/main/java/com/bootdo/datasend/dianxin/task/StandardTask.java @@ -4,15 +4,11 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.parser.Feature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.bootdo.datasend.dianxin.cache.DeviceCache; -import com.bootdo.datasend.dianxin.domain.BaseElectricCarRecord; -import com.bootdo.datasend.dianxin.domain.BaseHighThrowRecord; -import com.bootdo.datasend.dianxin.domain.DevopsDeviceInfo; -import com.bootdo.datasend.dianxin.domain.dto.ElectricCarDto; -import com.bootdo.datasend.dianxin.domain.dto.HighThrowDto; -import com.bootdo.datasend.dianxin.domain.dto.RequestDataDTO; -import com.bootdo.datasend.dianxin.domain.dto.RequestDataListDTO; -import com.bootdo.datasend.dianxin.service.BaseElectricCarRecordService; -import com.bootdo.datasend.dianxin.service.BaseHighThrowRecordService; +import com.bootdo.datasend.dianxin.cache.DirectionCache; +import com.bootdo.datasend.dianxin.cache.OrientationCache; +import com.bootdo.datasend.dianxin.domain.*; +import com.bootdo.datasend.dianxin.domain.dto.*; +import com.bootdo.datasend.dianxin.service.*; import com.bootdo.util.Base64Util; import com.bootdo.util.StringKit; import lombok.RequiredArgsConstructor; @@ -33,6 +29,9 @@ public class StandardTask { private final RabbitTemplate rabbitTemplate; private final BaseHighThrowRecordService highThrowRecordService; private final BaseElectricCarRecordService electricCarRecordService; + private final BaseUserRecordService userRecordService; + private final BaseVehicleRecordService vehicleRecordService; + private final BaseDoorRecordService doorRecordService; /** * 功能描述: 高抛发送 @@ -142,6 +141,173 @@ public class StandardTask { } } + /** + * 功能描述: 发送人脸记录 + */ + @Scheduled(cron = "0/5 * * * * ? ") + public void sendUserRecord() { + + List lists = userRecordService.list(new QueryWrapper() + .eq("is_send", "0") + .last("limit 100") + ); + + for (BaseUserRecord h : lists) { + + String deviceId = h.getDeviceIp(); + String deviceCacheStr = DeviceCache.get(deviceId); + DevopsDeviceInfo deviceInfo = null; + if ("".equals(StringKit.toString(deviceCacheStr))) { + logger.info("当前设备缓存中不存在:" + deviceId); + } else { + logger.info("当前设备获取到缓存:" + deviceId); + deviceInfo = JSON.parseObject(deviceCacheStr, DevopsDeviceInfo.class, Feature.IgnoreNotMatch); + } + + UserRecordDto dto = new UserRecordDto(); + + UserRequestDataDTO dataDTO = new UserRequestDataDTO(); + dataDTO.setRequestFlag("1"); + + UserRequestDataListDTO requestDataListDTO = new UserRequestDataListDTO(); + + + if (deviceInfo != null) { + requestDataListDTO.setGatewaySN(deviceInfo.getGeminiSn()); + } + requestDataListDTO.setPassTime(StringKit.toString(h.getPassTime())); + requestDataListDTO.setPersonPicBase64(Base64Util.getBase64ByUrl(h.getPersonPic())); + requestDataListDTO.setGlobalPicBase64(Base64Util.getBase64ByUrl(h.getGlobalPic())); + requestDataListDTO.setPassDirection(StringKit.toString(deviceInfo.getDirection())); + requestDataListDTO.setDeviceSN(h.getGbsChannelNo()); + List list = new ArrayList<>(); + list.add(requestDataListDTO); + dataDTO.setRequestDataList(list); + dto.setRequestData(dataDTO); + + //循环发送mq + boolean b = sendUserMq(dto); + if (b) { + h.setIsSend(1); + userRecordService.saveOrUpdate(h); + logger.info("人脸抓拍记录发送成功:" + h.getId()); + } + } + } + + /** + * 功能描述: 发送车辆记录 + */ + @Scheduled(cron = "0/5 * * * * ? ") + public void sendVehicleRecord() { + + List lists = vehicleRecordService.list(new QueryWrapper() + .eq("is_send", "0") + .last("limit 100") + ); + + for (BaseVehicleRecord h : lists) { + + + String deviceId = h.getDeviceIp(); + String deviceCacheStr = DeviceCache.get(deviceId); + String passDirection = ""; + DevopsDeviceInfo deviceInfo = null; + if ("".equals(StringKit.toString(deviceCacheStr))) { + logger.info("当前设备缓存中不存在:" + deviceId); + } else { + logger.info("当前设备获取到缓存:" + deviceId); + deviceInfo = JSON.parseObject(deviceCacheStr, DevopsDeviceInfo.class, Feature.IgnoreNotMatch); + } + + + VehicleRecordDto dto = new VehicleRecordDto(); + + VehicleRequestDataDTO dataDTO = new VehicleRequestDataDTO(); + dataDTO.setRequestFlag("1"); + + VehicleRequestDataListDTO requestDataListDTO = new VehicleRequestDataListDTO(); + if (deviceInfo != null) { + requestDataListDTO.setGatewaySN(deviceInfo.getGeminiSn()); + } + requestDataListDTO.setPassTime(StringKit.toString(h.getPassTime())); + requestDataListDTO.setPlatePicBase64(Base64Util.getBase64ByUrl(h.getPlatePic())); + requestDataListDTO.setGlobalPicBase64(Base64Util.getBase64ByUrl(h.getGlobalPic())); + requestDataListDTO.setPlateNo(h.getPlateNo()); + requestDataListDTO.setDeviceSN(h.getGbsChannelNo()); + requestDataListDTO.setPassDirection(StringKit.toString(deviceInfo.getDirection())); + List list = new ArrayList<>(); + list.add(requestDataListDTO); + dataDTO.setRequestDataList(list); + dto.setRequestData(dataDTO); + + //循环发送mq + boolean b = sendVehicleMq(dto); + if (b) { + h.setIsSend(1); + vehicleRecordService.saveOrUpdate(h); + logger.info("车辆抓拍记录发送成功:" + h.getId()); + } + } + } + + +// @Scheduled(cron = "0/5 * * * * ? ") +// public void sendDoorRecord() { +// +// List lists = doorRecordService.list(new QueryWrapper() +// .eq("is_send", "0") +// .last("limit 100") +// ); +// +// for (BaseDoorRecord h : lists) { +// +// String deviceId = h.getCameraIp(); +// String deviceCacheStr = DeviceCache.get(deviceId); +// DevopsDeviceInfo deviceInfo = null; +// if ("".equals(StringKit.toString(deviceCacheStr))) { +// logger.info("当前设备缓存中不存在:" + deviceId); +// } else { +// logger.info("当前设备获取到缓存:" + deviceId); +// deviceInfo = JSON.parseObject(deviceCacheStr, DevopsDeviceInfo.class, Feature.IgnoreNotMatch); +// } +// +// UserRecordDto dto = new UserRecordDto(); +// +// UserRequestDataDTO dataDTO = new UserRequestDataDTO(); +// dataDTO.setRequestFlag("1"); +// +// UserRequestDataListDTO requestDataListDTO = new UserRequestDataListDTO(); +// +// if (deviceInfo != null) { +// requestDataListDTO.setGatewaySN(deviceInfo.getGeminiSn()); +// } +// requestDataListDTO.setPassTime(StringKit.toString(h.getPassTime())); +// requestDataListDTO.setPersonPicBase64(Base64Util.getBase64ByUrl(h.getPersonPic())); +// requestDataListDTO.setPassDirection(StringKit.toString(deviceInfo.getDirection())); +// +// requestDataListDTO.setDeviceSN(h.getGbsChannelNo()); +// //门禁验证方式 +// requestDataListDTO.setValidType(h.getGbsChannelNo()); +// requestDataListDTO.setCardNo(h.getCardno()); +// +// List list = new ArrayList<>(); +// list.add(requestDataListDTO); +// dataDTO.setRequestDataList(list); +// dto.setRequestData(dataDTO); +// +// //循环发送mq +// boolean b = sendUserMq(dto); +// if (b) { +// h.setIsSend(1); +// doorRecordService.saveOrUpdate(h); +// logger.info("门禁抓拍记录发送成功:" + h.getId()); +// } +// } +// } + + + public boolean sendHighThrowMq(HighThrowDto bean) { try { rabbitTemplate.convertAndSend("warnrecord", "routing.key.warnrecord", JSON.toJSONString(bean)); @@ -160,5 +326,23 @@ public class StandardTask { return true; } + public boolean sendUserMq(UserRecordDto bean) { + try { + rabbitTemplate.convertAndSend("warnrecord", "routing.key.userrecord", JSON.toJSONString(bean)); + } catch (Exception e) { + return false; + } + return true; + } + + public boolean sendVehicleMq(VehicleRecordDto bean) { + try { + rabbitTemplate.convertAndSend("warnrecord", "routing.key.vehiclerecord", JSON.toJSONString(bean)); + } catch (Exception e) { + return false; + } + return true; + } + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 21a7d91..04d82a8 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,8 +3,8 @@ spring: type: com.alibaba.druid.pool.DruidDataSource username: root password: '1qaz!QAZ' -# url: jdbc:mysql://221.229.107.118:30519/multidimensional_box?useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=GMT - url: jdbc:mysql://127.0.0.1:55306/multidimensional_box?useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=GMT + url: jdbc:mysql://221.229.107.118:30523/multidimensional_box?useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=GMT +# url: jdbc:mysql://127.0.0.1:55306/multidimensional_box?useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=GMT driver-class-name: com.mysql.cj.jdbc.Driver initialSize: 5 # 配置初始化大小、最小、最大 minIdle: 5 @@ -31,18 +31,18 @@ spring: properties: hibernate: format_sql: true -# rabbitmq: -# host: 221.229.107.118 -# port: 30529 -# username: root -# password: 'sm@rtC@m!n23ty' -# dynamic: true rabbitmq: - host: 110.1.200.11 - port: 19000 + host: 221.229.107.118 + port: 30529 username: root password: 'sm@rtC@m!n23ty' dynamic: true +# rabbitmq: +# host: 110.1.200.11 +# port: 19000 +# username: root +# password: 'sm@rtC@m!n23ty' +# dynamic: true