fuliqi
2024-07-30 83dfb010715df4491d50c6676578661434517de2
BaseResult
22个文件已修改
155 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/AttrRecognitionMonitorResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CarDetectResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CodeByAreaResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CoordinateByAreaResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CriteriaResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CrossDetailResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/DataIntegrityMonitoringResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDetectResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDeviceSamplingResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/MonitorResourceResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/MonitoringDetailResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/OrganizationTreeResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/PicAccessResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDelayMonitorResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/VehicleDeviceSamplingResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/CameraResult.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OnlineResult.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OsdMonitorResult.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/RecordMetaDSumResult.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/VehicleDataMonitorController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/HKTask.java 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/AttrRecognitionMonitorResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class AttrRecognitionMonitorResult {
public class AttrRecognitionMonitorResult extends BaseResult{
    /**
     * 卡口内码或采集设备内码,dataType为1时表示卡口内码,dataType为11时表示采集设备内码
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CarDetectResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class CarDetectResult {
public class CarDetectResult extends BaseResult{
    /**
     * 组织编号
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CodeByAreaResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class CodeByAreaResult {
public class CodeByAreaResult extends BaseResult{
    /**
     * 组织编号
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CoordinateByAreaResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class CoordinateByAreaResult {
public class CoordinateByAreaResult extends BaseResult{
    /**
     * 组织编号
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CriteriaResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class CriteriaResult {
public class CriteriaResult extends BaseResult{
    /**
     * 人脸评分低标准,例如:0.4
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CrossDetailResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class CrossDetailResult {
public class CrossDetailResult extends BaseResult{
    /**
     * 组织编号,用于查询该组织及其所有下级组织卡口异常情况。若不传,返回所有卡口异常详情。
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/DataIntegrityMonitoringResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class DataIntegrityMonitoringResult {
public class DataIntegrityMonitoringResult extends BaseResult{
    /**
     * 卡口内码或采集设备内码,dataType为1时表示卡口内码,dataType为11时表示采集设备内码
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDetectResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class FaceDetectResult {
public class FaceDetectResult extends BaseResult{
    /**
     * 组织编号
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDeviceSamplingResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class FaceDeviceSamplingResult {
public class FaceDeviceSamplingResult extends BaseResult{
    /**
     * 设备名称
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/MonitorResourceResult.java
@@ -9,7 +9,7 @@
 * @author gonghl
 */
@Data
public class MonitorResourceResult {
public class MonitorResourceResult extends BaseResult{
    /**
     * 关注资源列表
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/MonitoringDetailResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class MonitoringDetailResult {
public class MonitoringDetailResult extends BaseResult{
    /**
     * 组织编号
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/OrganizationTreeResult.java
@@ -10,7 +10,7 @@
 * @author gonghl
 */
@Data
public class OrganizationTreeResult {
public class OrganizationTreeResult extends BaseResult{
    /**
     * 组织列表
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/PicAccessResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class PicAccessResult {
public class PicAccessResult extends BaseResult{
    /**
     * 数据类型为1时表示卡口内码,数据类型为2或11时表示人脸采集设备内码
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java
@@ -11,7 +11,10 @@
@Data
@Document(collection = "snapshot_data_monitor")
public class SnapshotDataMonitorResult extends BaseResult{
    /**
     * 数据类型
     */
    private Integer dataType;
    /**
     * dataType为1:卡口内码   dataType为2或11:采集设备内码
     */
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDelayMonitorResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class SnapshotDelayMonitorResult {
public class SnapshotDelayMonitorResult extends BaseResult{
    /**
     * dataType为1:卡口内码   dataType为2或11:采集设备内码
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/VehicleDeviceSamplingResult.java
@@ -8,7 +8,7 @@
 * @author gonghl
 */
@Data
public class VehicleDeviceSamplingResult {
public class VehicleDeviceSamplingResult extends BaseResult{
    /**
     * 卡口内码或采集设备内码,dataType为1时表示卡口内码,dataType为11时表示采集设备内码
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/CameraResult.java
@@ -1,5 +1,6 @@
package com.ycl.platform.domain.result.UY;
import com.ycl.platform.domain.result.HK.BaseResult;
import lombok.Data;
import java.util.Date;
@@ -11,7 +12,7 @@
 * @since 2024-4-19 11:33:34
 */
@Data
public class CameraResult {
public class CameraResult{
    /**
     * 设备编码,20位:中心编码、行业编码、设备类型、网络标识、设备序号,与联网平台/共享平台国标编码一致。
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OnlineResult.java
@@ -1,5 +1,6 @@
package com.ycl.platform.domain.result.UY;
import com.ycl.platform.domain.result.HK.BaseResult;
import lombok.Data;
/**
@@ -9,7 +10,7 @@
 * @since 2024-4-19 11:37:30
 */
@Data
public class OnlineResult {
public class OnlineResult{
    /**
     * 行政区划编码
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OsdMonitorResult.java
@@ -1,5 +1,6 @@
package com.ycl.platform.domain.result.UY;
import com.ycl.platform.domain.result.HK.BaseResult;
import lombok.Data;
import java.util.List;
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/RecordMetaDSumResult.java
@@ -1,15 +1,17 @@
package com.ycl.platform.domain.result.UY;
import com.ycl.platform.domain.result.HK.BaseResult;
import lombok.Data;
import java.util.Date;
/**
 * 录像可用性
 *
 * @author gonghl
 */
@Data
public class RecordMetaDSumResult {
public class RecordMetaDSumResult{
    /**
     * 行政区域名称
ycl-server/src/main/java/com/ycl/platform/controller/VehicleDataMonitorController.java
@@ -30,7 +30,7 @@
    /**
     * 查询卡口过车数据一致性列表
     */
   @PreAuthorize("@ss.hasPermi('platform:platform:list')")
    @PreAuthorize("@ss.hasPermi('platform:platform:list')")
    @GetMapping("/list")
    public TableDataInfo list(VehicleDataMonitor vehicleDataMonitor) {
        startPage();
@@ -53,7 +53,7 @@
    /**
     * 获取卡口过车数据一致性详细信息
     */
   @PreAuthorize("@ss.hasPermi('platform:platform:query')")
    @PreAuthorize("@ss.hasPermi('platform:platform:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Integer id) {
        return success(vehicleDataMonitorService.selectVehicleDataMonitorById(id));
@@ -62,7 +62,7 @@
    /**
     * 新增卡口过车数据一致性
     */
   @PreAuthorize("@ss.hasPermi('platform:platform:add')")
    @PreAuthorize("@ss.hasPermi('platform:platform:add')")
    @Log(title = "卡口过车数据一致性", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody VehicleDataMonitor vehicleDataMonitor) {
@@ -72,7 +72,7 @@
    /**
     * 修改卡口过车数据一致性
     */
   @PreAuthorize("@ss.hasPermi('platform:platform:edit')")
    @PreAuthorize("@ss.hasPermi('platform:platform:edit')")
    @Log(title = "卡口过车数据一致性", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody VehicleDataMonitor vehicleDataMonitor) {
@@ -82,7 +82,7 @@
    /**
     * 删除卡口过车数据一致性
     */
   @PreAuthorize("@ss.hasPermi('platform:platform:remove')")
    @PreAuthorize("@ss.hasPermi('platform:platform:remove')")
    @Log(title = "卡口过车数据一致性", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Integer[] ids) {
ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -1,24 +1,24 @@
package com.ycl.task;
import com.alibaba.fastjson2.JSONObject;
import com.ycl.platform.domain.param.HK.FaceDeviceInspectionParam;
import com.ycl.platform.domain.param.HK.SnapshotDataMonitorParam;
import com.ycl.platform.domain.param.HK.VehicleDeviceInspectionParam;
import com.ycl.platform.domain.result.HK.BaseResult;
import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult;
import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult;
import com.ycl.platform.domain.result.HK.VehicleDeviceInspectionResult;
import com.mongodb.client.result.DeleteResult;
import com.ycl.platform.domain.param.HK.*;
import com.ycl.platform.domain.result.HK.*;
import com.ycl.platform.service.ICheckIndexCarService;
import com.ycl.platform.service.ICheckIndexFaceService;
import com.ycl.platform.service.ICheckIndexVideoService;
import com.ycl.platform.service.IYwThresholdService;
import com.ycl.utils.DateUtils;
import constant.ApiConstants;
import com.ycl.feign.HKClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.unit.DataUnit;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -46,10 +46,13 @@
    public void VehicleDeviceInspectionTask() {
        log.info("开始执行车辆设备全检指标监测结果数据同步");
        VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday());
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        JSONObject jsonObject = hkClient.VehicleDeviceInspection(param);
        List<VehicleDeviceInspectionResult> list = getDataList(jsonObject, VehicleDeviceInspectionResult.class, "车辆设备全检指标监测结果数据为空");
        if (!CollectionUtils.isEmpty(list)) {
            //如果存在之前的数据先删除
            Query query = new Query(Criteria.where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class);
            //存放在mongo中
            mongoTemplate.insert(list);
            //同步的数据进行工单阈值处理
@@ -62,13 +65,17 @@
    public void FaceDeviceInspectionTask() {
        log.info("开始执行人脸设备全检指标监测结果数据同步");
        FaceDeviceInspectionParam param = new FaceDeviceInspectionParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday());
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        JSONObject jsonObject = hkClient.FaceDeviceInspection(param);
        List<FaceDeviceInspectionResult> list = getDataList(jsonObject, FaceDeviceInspectionResult.class, "人脸设备全检指标监测结果数据为空");
        if (!CollectionUtils.isEmpty(list)) {
            //如果存在之前的数据先删除
            Query query = new Query(Criteria.where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class);
            //存放在mongo中
            mongoTemplate.insert(list);
            //同步的数据进行工单阈值处理
            //TODO:可能有重复工单
            ywThresholdService.faceCheck(list);
        }
        log.info("结束人脸设备全检指标监测结果数据同步");
@@ -80,28 +87,36 @@
        log.info("开始执行抓拍数据量检测结果数据同步");
        /** 车辆数据 */
        SnapshotDataMonitorParam carParam = new SnapshotDataMonitorParam();
        carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()).setDataType(ApiConstants.HK_DATATYPE_CAR);
        carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_CAR);
        JSONObject carJsonObject = hkClient.SnapshotDataMonitor(carParam);
        List<SnapshotDataMonitorResult> carList = getDataList(carJsonObject, SnapshotDataMonitorResult.class, "车辆抓拍数据量检测结果数据");
        if (!CollectionUtils.isEmpty(carList)) {
            //如果今天存在之前的数据先删除
            Query query = new Query(Criteria
                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
                    .and("dataType").is(ApiConstants.HK_DATATYPE_CAR));
            DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
            //存放在mongo中
            carList.forEach(item->item.setDataType(ApiConstants.HK_DATATYPE_CAR));
            mongoTemplate.insert(carList);
            //TODO:车辆点位在线率
            checkIndexCarService.siteOnline(carList);
        }
        /** 人脸数据 */
        SnapshotDataMonitorParam faceParam = new SnapshotDataMonitorParam();
        faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()).setDataType(ApiConstants.HK_DATATYPE_FACE);
        faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_FACE);
        JSONObject faceJsonObject = hkClient.SnapshotDataMonitor(carParam);
        List list = getDataList(faceJsonObject, SnapshotDataMonitorResult.class, "人脸抓拍数据量检测结果数据为空");
        if (!CollectionUtils.isEmpty(list)) {
        List<SnapshotDataMonitorResult> faceList = getDataList(faceJsonObject, SnapshotDataMonitorResult.class, "人脸抓拍数据量检测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
            //如果今天存在之前的数据先删除
            Query query = new Query(Criteria
                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
                    .and("dataType").is(ApiConstants.HK_DATATYPE_FACE));
            DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
            //存放在mongo中
            mongoTemplate.insert(list);
            //TODO:人脸点位在线率
            checkIndexFaceService.siteOnline(list);
            carList.forEach(item->item.setDataType(ApiConstants.HK_DATATYPE_FACE));
            mongoTemplate.insert(faceList);
        }
        //TODO:工单
        log.info("结束抓拍数据量检测结果数据同步");
    }
@@ -109,11 +124,47 @@
    //一机一档
    public void task2() {
        //联网卡口设备目录一致率
    }
    //采集设备属性监测结果(人脸)
    public void monitorDetailTask() {
        log.info("开始执行采集设备属性监测结果数据同步");
        //采集设备属性监测结果
        MonitoringDetailParam param = new MonitoringDetailParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        JSONObject jsonObject = hkClient.monitorDetail(param);
        List<MonitoringDetailResult> faceList = getDataList(jsonObject, MonitoringDetailResult.class, "采集设备属性监测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
            //如果今天存在之前的数据先删除
            Query query = new Query(Criteria
                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
            //存放在mongo中
            mongoTemplate.insert(faceList);
        }
        //TODO:工单处理
        log.info("结束采集设备属性监测结果数据同步");
    }
    //卡口属性监测结果
    public void task3() {
    public void crossDetailTask() {
        log.info("开始执行卡口属性监测结果数据同步");
        //车辆卡口信息采集准确率
        CrossDetailParam param = new CrossDetailParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        JSONObject jsonObject = hkClient.crossDetail(param);
        List<CrossDetailResult> faceList = getDataList(jsonObject, CrossDetailResult.class, "卡口属性监测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
            //如果今天存在之前的数据先删除
            Query query = new Query(Criteria
                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
            //存放在mongo中
            mongoTemplate.insert(faceList);
        }
        //TODO:工单处理
        log.info("结束卡口属性监测结果数据同步");
    }
    //数据完整性监测结果
@@ -141,14 +192,6 @@
        //车辆卡口信息采集准确率
        //车辆卡口设备url可用性
    }
    //获取当前日期
    private String getToday() {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String today = sdf.format(date);
        return today;
    }
    //解析数据