版本迭代
This commit is contained in:
parent
3dc584ead8
commit
59ee7a2509
|
@ -1,5 +0,0 @@
|
|||
##对接汇聚中心
|
||||
#global mode
|
||||
SENDTYPE=HJPT
|
||||
|
||||
|
|
@ -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));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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<String, String> 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<SysDictData> list = sysDictDataService.list(new QueryWrapper<SysDictData>()
|
||||
.eq("dict_type", "direction")
|
||||
);
|
||||
Map<String, String> 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);
|
||||
}
|
||||
}
|
|
@ -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<String, String> 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<SysDictData> list = sysDictDataService.list(new QueryWrapper<SysDictData>()
|
||||
.eq("dict_type", "orientation")
|
||||
);
|
||||
Map<String, String> 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);
|
||||
}
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -124,7 +124,7 @@ public class DevopsDeviceInfo {
|
|||
/**
|
||||
* 设备厂家
|
||||
*/
|
||||
private String manufactor;
|
||||
private Integer manufactor;
|
||||
|
||||
/**
|
||||
* 设备登陆帐号
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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<UserRequestDataListDTO> requestDataList;
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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<VehicleRequestDataListDTO> requestDataList;
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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<BaseDoorRecord> {
|
||||
|
||||
}
|
|
@ -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<BaseUserRecord> {
|
||||
|
||||
}
|
|
@ -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<BaseVehicleRecord> {
|
||||
|
||||
}
|
|
@ -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<SysDictData> {
|
||||
|
||||
}
|
|
@ -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<BaseDoorRecord> {
|
||||
|
||||
}
|
|
@ -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<BaseUserRecord> {
|
||||
|
||||
}
|
|
@ -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<BaseVehicleRecord> {
|
||||
|
||||
}
|
|
@ -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<SysDictData> {
|
||||
|
||||
}
|
|
@ -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<BaseDoorRecordMapper, BaseDoorRecord> implements BaseDoorRecordService {
|
||||
|
||||
}
|
|
@ -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<BaseUserRecordMapper, BaseUserRecord> implements BaseUserRecordService {
|
||||
}
|
|
@ -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<BaseVehicleRecordMapper, BaseVehicleRecord> implements BaseVehicleRecordService {
|
||||
}
|
|
@ -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<SysDictDataMapper, SysDictData> implements SysDictDataService {
|
||||
|
||||
}
|
|
@ -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<BaseUserRecord> lists = userRecordService.list(new QueryWrapper<BaseUserRecord>()
|
||||
.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<UserRequestDataListDTO> 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<BaseVehicleRecord> lists = vehicleRecordService.list(new QueryWrapper<BaseVehicleRecord>()
|
||||
.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<VehicleRequestDataListDTO> 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<BaseDoorRecord> lists = doorRecordService.list(new QueryWrapper<BaseDoorRecord>()
|
||||
// .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<UserRequestDataListDTO> 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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue