xiangpei
2024-09-05 0ccc9a0dcadfb32aa8c63b718518ec0d216fae8f
保存到mongo时设置标签信息
7个文件已修改
1个文件已添加
238 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTagVO.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/HKTask.java 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/UYTask.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java
@@ -17,4 +17,29 @@
     */
    @CreatedDate
    private LocalDate mongoCreateTime;
    /**
     * 国标码
     */
    private String no;
    /**
     * 省厅
     */
    private Boolean provinceTag;
    /**
     * 部级
     */
    private Boolean deptTag;
    /**
     * 重点
     */
    private Boolean importantTag;
    /**
     * 重点指挥图像
     */
    private Boolean importantCommandImageTag;
}
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTagVO.java
New file
@@ -0,0 +1,37 @@
package com.ycl.platform.domain.vo;
import lombok.Data;
/**
 * @author:xp
 * @date:2024/9/5 12:08
 */
@Data
public class CheckTagVO {
    /**
     * 设备编号
     */
    private String no;
    /**
     * 省厅
     */
    private Boolean provinceTag;
    /**
     * 部级
     */
    private Boolean deptTag;
    /**
     * 重点
     */
    private Boolean importantTag;
    /**
     * 重点指挥图像
     */
    private Boolean importantCommandImageTag;
}
ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
@@ -6,6 +6,7 @@
import com.ycl.platform.domain.entity.ReportAuditingRecord;
import com.ycl.platform.domain.entity.YwPoint;
import com.ycl.platform.domain.query.YwPointQuery;
import com.ycl.platform.domain.vo.CheckTagVO;
import com.ycl.platform.domain.vo.ReportAuditingRecordVO;
import com.ycl.platform.domain.vo.YwPointVO;
import com.ycl.platform.domain.excel.PointExport;
@@ -104,4 +105,12 @@
     * @return
     */
    ReportAuditingRecordVO getReportResult(@Param("serialNumber") String serialNumber, @Param("reportType") String reportType);
    /**
     * 通过国标获取标签信息
     *
     * @param gbList
     * @return
     */
    List<CheckTagVO> getTagsByGB(@Param("gbList") List<String> gbList);
}
ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -6,6 +6,8 @@
import com.ycl.platform.domain.form.BatchEditPointForm;
import com.ycl.platform.domain.form.YwPointForm;
import com.ycl.platform.domain.query.YwPointQuery;
import com.ycl.platform.domain.result.BaseResult;
import com.ycl.platform.domain.vo.CheckTagVO;
import com.ycl.platform.domain.vo.ReportAuditingRecordVO;
import com.ycl.system.Result;
import jakarta.servlet.http.HttpServletResponse;
@@ -131,4 +133,12 @@
     * @return
     */
    ReportAuditingRecordVO getReportResult(String serialNumber, String reportType);
    /**
     * 根据国标获取tag
     *
     * @param dataList 数据
     * @return
     */
    <T extends BaseResult> void setDeviceTagByGB(List<T> dataList);
}
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -13,6 +13,8 @@
import com.ycl.platform.domain.form.BatchEditPointForm;
import com.ycl.platform.domain.form.YwPointForm;
import com.ycl.platform.domain.query.YwPointQuery;
import com.ycl.platform.domain.result.BaseResult;
import com.ycl.platform.domain.vo.CheckTagVO;
import com.ycl.platform.domain.vo.ReportAuditingRecordVO;
import com.ycl.platform.domain.vo.YwPointVO;
import com.ycl.platform.mapper.YwPeopleMapper;
@@ -310,4 +312,16 @@
        log.error("总共耗时:" + (endTime.getTime() - startTime.getTime()));
    }
    @Override
    public <T extends BaseResult> void setDeviceTagByGB(List<T> dataList) {
        List<String> gbList = dataList.stream().map(BaseResult::getNo).collect(Collectors.toList());
        List<CheckTagVO> pointList = baseMapper.getTagsByGB(gbList);
        Map<String, CheckTagVO> pointMap = pointList.stream().collect(Collectors.toMap(CheckTagVO::getNo, item -> item));
        for (BaseResult data : dataList) {
            CheckTagVO tag = pointMap.get(data.getNo());
            if (Objects.nonNull(tag)) {
                BeanUtils.copyProperties(tag, data);
            }
        }
    }
}
ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -3,16 +3,11 @@
import com.alibaba.fastjson2.JSONObject;
import com.mongodb.client.result.DeleteResult;
import com.ycl.feign.HkApiUtil;
import com.ycl.feign.HkApiUtil;
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.platform.service.*;
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.beans.factory.annotation.Value;
@@ -24,6 +19,7 @@
import java.util.Date;
import java.util.List;
import java.util.Objects;
//海康对接数据任务
@Slf4j
@@ -41,11 +37,7 @@
    @Autowired
    private IYwThresholdService ywThresholdService;
    @Autowired
    private ICheckIndexFaceService checkIndexFaceService;
    @Autowired
    private ICheckIndexCarService checkIndexCarService;
    @Autowired
    private ICheckIndexVideoService checkIndexVideoService;
    private YwPointService pointService;
    //车辆设备全检指标监测结果
    public void vehicleDeviceInspectionTask() {
@@ -60,6 +52,12 @@
            //如果存在之前的数据先删除
            Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class);
            list.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(list);
            //存放在mongo中
            mongoTemplate.insertAll(list);
            //同步的数据进行工单阈值处理
@@ -83,6 +81,12 @@
            //如果存在之前的数据先删除
            Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class);
            list.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(list);
            //存放在mongo中
            mongoTemplate.insertAll(list);
            //同步的数据进行工单阈值处理
@@ -110,6 +114,12 @@
                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
                    .and("dataType").is(ApiConstants.HK_DataType_CAR));
            DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
            carList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(carList);
            //存放在mongo中
            carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
            mongoTemplate.insertAll(carList);
@@ -129,6 +139,12 @@
                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
                    .and("dataType").is(ApiConstants.HK_DataType_FACE));
            DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
            faceList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(faceList);
            //存放在mongo中
            faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
            mongoTemplate.insertAll(faceList);
@@ -150,6 +166,12 @@
            Query query = new Query(Criteria
                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, MonitoringDetailResult.class);
            faceList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(faceList);
            //存放在mongo中
            mongoTemplate.insertAll(faceList);
        }
@@ -170,6 +192,12 @@
            Query query = new Query(Criteria
                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, CrossDetailResult.class);
            faceList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(faceList);
            //存放在mongo中
            mongoTemplate.insertAll(faceList);
        }
@@ -192,6 +220,12 @@
            Query query = new Query(Criteria
                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, DataIntegrityMonitoringResult.class);
            faceList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(faceList);
            //存放在mongo中
            mongoTemplate.insertAll(faceList);
        }
@@ -214,6 +248,12 @@
            Query query = new Query(Criteria
                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, AttrRecognitionMonitorResult.class);
            faceList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(faceList);
            //存放在mongo中
            mongoTemplate.insertAll(faceList);
        }
@@ -241,6 +281,12 @@
            DeleteResult result = mongoTemplate.remove(query, SnapshotDelayMonitorResult.class);
            //存放在mongo中
            carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
            carList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(carList);
            mongoTemplate.insertAll(carList);
        }
@@ -281,6 +327,12 @@
            Query query = new Query(Criteria
                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, PicAccessResult.class);
            faceList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(faceList);
            //存放在mongo中
            mongoTemplate.insertAll(faceList);
        }
@@ -303,6 +355,12 @@
            Query query = new Query(Criteria
                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, VehicleDeviceSamplingResult.class);
            faceList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(faceList);
            //存放在mongo中
            mongoTemplate.insertAll(faceList);
        }
@@ -324,6 +382,12 @@
            Query query = new Query(Criteria
                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
            DeleteResult result = mongoTemplate.remove(query, FaceDeviceSamplingResult.class);
            faceList.stream().forEach(item -> {
                if (Objects.nonNull(item.getExternalIndexCode())) {
                    item.setNo(item.getExternalIndexCode());
                }
            });
            pointService.setDeviceTagByGB(faceList);
            //存放在mongo中
            mongoTemplate.insertAll(faceList);
        }
ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -4,49 +4,37 @@
import com.mongodb.client.result.DeleteResult;
import com.ycl.feign.UYClient;
import com.ycl.platform.domain.param.UY.*;
import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult;
import com.ycl.platform.domain.result.UY.OneMachineFileResult;
import com.ycl.platform.domain.result.UY.OsdMonitorResult;
import com.ycl.platform.domain.result.UY.RecordMetaDSumResult;
import com.ycl.platform.domain.result.UY.*;
import com.ycl.platform.service.ITMonitorService;
import com.ycl.platform.service.IYwThresholdService;
import com.ycl.platform.service.UYErrorTypeCheckService;
import com.ycl.platform.service.YwPointService;
import com.ycl.utils.DateUtils;
import constant.ApiConstants;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
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.format.annotation.DateTimeFormat;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Objects;
//优云对接数据任务
@Slf4j
@Component("UYTask")
@RequiredArgsConstructor
public class UYTask {
    @Autowired
    private MongoTemplate mongoTemplate;
    @Autowired
    private UYClient uyClient;
    @Autowired
    private IYwThresholdService ywThresholdService;
    @Autowired
    private ITMonitorService monitorService;
    @Autowired
    private UYErrorTypeCheckService uyErrorTypeCheckService;
    private final MongoTemplate mongoTemplate;
    private final UYClient uyClient;
    private final UYErrorTypeCheckService uyErrorTypeCheckService;
    private final YwPointService pointService;
    @Value("${youYun.tenantId}")
    private String tenantId;
@@ -79,6 +67,12 @@
                        Query query = new Query(Criteria
                                .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
                        DeleteResult result = mongoTemplate.remove(query, ImageDetectionResult.class);
                        records.stream().forEach(item -> {
                            if (Objects.nonNull(item.getDeviceId())) {
                                item.setNo(item.getDeviceId());
                            }
                        });
                        pointService.setDeviceTagByGB(records);
                        //存放在mongo中
                        mongoTemplate.insertAll(records);
                        // 工单生成
@@ -122,6 +116,12 @@
                        Query query = new Query(Criteria
                                .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
                        DeleteResult result = mongoTemplate.remove(query, MonitorQualifyResult.class);
                        records.stream().forEach(item -> {
                            if (Objects.nonNull(item.getSerialNumber())) {
                                item.setNo(item.getSerialNumber().getShowValue());
                            }
                        });
                        pointService.setDeviceTagByGB(records);
                        //存放在mongo中
                        mongoTemplate.insertAll(records);
                        // 工单生成
@@ -207,6 +207,12 @@
                    Query query = new Query(Criteria
                            .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
                    DeleteResult result = mongoTemplate.remove(query, RecordMetaDSumResult.class);
                    records.stream().forEach(item -> {
                        if (Objects.nonNull(item.getDeviceId())) {
                            item.setNo(item.getDeviceId());
                        }
                    });
                    pointService.setDeviceTagByGB(records);
                    //存放在mongo中
                    mongoTemplate.insertAll(records);
                    // 工单生成
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -214,4 +214,15 @@
        limit 1
    </select>
    <select id="getTagsByGB" resultType="com.ycl.platform.domain.vo.CheckTagVO">
        SELECT
               serial_number as no, province_tag, important_tag, important_command_image_tag, dept_tag
        FROM
            t_yw_point
        WHERE
            deleted = 0 AND serial_number in <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach>
        GROUP BY
            serial_number, province_tag, important_tag, important_command_image_tag, dept_tag
    </select>
</mapper>