版本迭代
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) {
|
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 {
|
public class RabbitConfig {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Queue myQueue() {
|
public Queue warnQueue() {
|
||||||
// 创建队列 myQueue
|
// 创建队列 myQueue
|
||||||
return new Queue("warnrecord", true);
|
return new Queue("warnrecord", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Queue userQueue() {
|
||||||
|
return new Queue("userrecord", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Queue vehicleQueue() {
|
||||||
|
return new Queue("vehiclerecord", true);
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public TopicExchange exchange() {
|
public TopicExchange exchange() {
|
||||||
return new TopicExchange("warnrecord");
|
return new TopicExchange("warnrecord");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Binding binding(Queue queue, TopicExchange exchange) {
|
public Binding bindingWarnQueue(Queue warnQueue, TopicExchange exchange) {
|
||||||
return BindingBuilder.bind(queue).to(exchange).with("routing.key.#");
|
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.alibaba.fastjson.parser.Feature;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.bootdo.datasend.dianxin.cache.DeviceCache;
|
import com.bootdo.datasend.dianxin.cache.DeviceCache;
|
||||||
import com.bootdo.datasend.dianxin.domain.BaseElectricCarRecord;
|
import com.bootdo.datasend.dianxin.cache.DirectionCache;
|
||||||
import com.bootdo.datasend.dianxin.domain.BaseHighThrowRecord;
|
import com.bootdo.datasend.dianxin.cache.OrientationCache;
|
||||||
import com.bootdo.datasend.dianxin.domain.DevopsDeviceInfo;
|
import com.bootdo.datasend.dianxin.domain.*;
|
||||||
import com.bootdo.datasend.dianxin.domain.dto.ElectricCarDto;
|
import com.bootdo.datasend.dianxin.domain.dto.*;
|
||||||
import com.bootdo.datasend.dianxin.domain.dto.HighThrowDto;
|
import com.bootdo.datasend.dianxin.service.*;
|
||||||
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.util.Base64Util;
|
import com.bootdo.util.Base64Util;
|
||||||
import com.bootdo.util.StringKit;
|
import com.bootdo.util.StringKit;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
@ -33,6 +29,9 @@ public class StandardTask {
|
||||||
private final RabbitTemplate rabbitTemplate;
|
private final RabbitTemplate rabbitTemplate;
|
||||||
private final BaseHighThrowRecordService highThrowRecordService;
|
private final BaseHighThrowRecordService highThrowRecordService;
|
||||||
private final BaseElectricCarRecordService electricCarRecordService;
|
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) {
|
public boolean sendHighThrowMq(HighThrowDto bean) {
|
||||||
try {
|
try {
|
||||||
rabbitTemplate.convertAndSend("warnrecord", "routing.key.warnrecord", JSON.toJSONString(bean));
|
rabbitTemplate.convertAndSend("warnrecord", "routing.key.warnrecord", JSON.toJSONString(bean));
|
||||||
|
@ -160,5 +326,23 @@ public class StandardTask {
|
||||||
return true;
|
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
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
username: root
|
username: root
|
||||||
password: '1qaz!QAZ'
|
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://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
|
# 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
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
initialSize: 5 # 配置初始化大小、最小、最大
|
initialSize: 5 # 配置初始化大小、最小、最大
|
||||||
minIdle: 5
|
minIdle: 5
|
||||||
|
@ -31,18 +31,18 @@ spring:
|
||||||
properties:
|
properties:
|
||||||
hibernate:
|
hibernate:
|
||||||
format_sql: true
|
format_sql: true
|
||||||
# rabbitmq:
|
|
||||||
# host: 221.229.107.118
|
|
||||||
# port: 30529
|
|
||||||
# username: root
|
|
||||||
# password: 'sm@rtC@m!n23ty'
|
|
||||||
# dynamic: true
|
|
||||||
rabbitmq:
|
rabbitmq:
|
||||||
host: 110.1.200.11
|
host: 221.229.107.118
|
||||||
port: 19000
|
port: 30529
|
||||||
username: root
|
username: root
|
||||||
password: 'sm@rtC@m!n23ty'
|
password: 'sm@rtC@m!n23ty'
|
||||||
dynamic: true
|
dynamic: true
|
||||||
|
# rabbitmq:
|
||||||
|
# host: 110.1.200.11
|
||||||
|
# port: 19000
|
||||||
|
# username: root
|
||||||
|
# password: 'sm@rtC@m!n23ty'
|
||||||
|
# dynamic: true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue