xiangpei
2024-08-12 5369550d9c633dda917f3e7108e91732eebee4da
ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson2.JSONObject;
import com.mongodb.client.result.DeleteResult;
import com.ycl.feign.HKApi;
import com.ycl.platform.domain.param.HK.*;
import com.ycl.platform.domain.result.BaseResult;
import com.ycl.platform.domain.result.HK.*;
@@ -45,7 +46,7 @@
    public void vehicleDeviceInspectionTask() {
        log.info("开始执行车辆设备全检指标监测结果数据同步");
        VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        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)) {
@@ -64,7 +65,7 @@
    public void faceDeviceInspectionTask() {
        log.info("开始执行人脸设备全检指标监测结果数据同步");
        FaceDeviceInspectionParam param = new FaceDeviceInspectionParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        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)) {
@@ -86,7 +87,7 @@
        log.info("开始执行抓拍数据量检测结果数据同步");
        /** 车辆数据 */
        SnapshotDataMonitorParam carParam = new SnapshotDataMonitorParam();
        carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).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)) {
@@ -102,7 +103,7 @@
        /** 人脸数据 */
        SnapshotDataMonitorParam faceParam = new SnapshotDataMonitorParam();
        faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).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<SnapshotDataMonitorResult> faceList = getDataList(faceJsonObject, SnapshotDataMonitorResult.class, "人脸抓拍数据量检测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
@@ -124,7 +125,7 @@
        log.info("开始执行采集设备属性监测结果数据同步");
        //人脸卡口信息采集准确率
        MonitoringDetailParam param = new MonitoringDetailParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        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)) {
@@ -144,7 +145,7 @@
        log.info("开始执行卡口属性监测结果数据同步");
        //车辆卡口信息采集准确率
        CrossDetailParam param = new CrossDetailParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        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)) {
@@ -164,7 +165,7 @@
        log.info("开始执行数据完整性监测结果数据同步");
        //车辆卡口设备抓拍数据完整性
        DataIntegrityMonitoringParam param = new DataIntegrityMonitoringParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_CAR);
        param.setPageNO(ApiConstants.PageNo).setPageSize(ApiConstants.PageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_CAR);
        JSONObject jsonObject = hkClient.dataIntegrityMonitoring(param);
        List<DataIntegrityMonitoringResult> faceList = getDataList(jsonObject, DataIntegrityMonitoringResult.class, "数据完整性监测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
@@ -184,7 +185,7 @@
        log.info("开始执行属性识别准确监测结果数据同步");
        //车辆卡口设备抓拍数据准确性
        AttrRecognitionParam param = new AttrRecognitionParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_CAR);
        param.setPageNO(ApiConstants.PageNo).setPageSize(ApiConstants.PageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_CAR);
        JSONObject jsonObject = hkClient.attrRecognitionMonitor(param);
        List<AttrRecognitionMonitorResult> faceList = getDataList(jsonObject, AttrRecognitionMonitorResult.class, "属性识别准确监测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
@@ -206,7 +207,7 @@
        //车辆卡口设备抓拍数据上传及时性
        /** 车辆数据 */
        SnapshotDelayMonitorParam carParam = new SnapshotDelayMonitorParam();
        carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_CAR);
        carParam.setPageNO(ApiConstants.PageNo).setPageSize(ApiConstants.PageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_CAR);
        JSONObject carJsonObject = hkClient.snapshotDelayMonitor(carParam);
        List<SnapshotDelayMonitorResult> carList = getDataList(carJsonObject, SnapshotDelayMonitorResult.class, "车辆抓拍数据量检测结果数据");
        if (!CollectionUtils.isEmpty(carList)) {
@@ -222,7 +223,7 @@
        /** 人脸数据 */
        SnapshotDelayMonitorParam faceParam = new SnapshotDelayMonitorParam();
        faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_FACE);
        faceParam.setPageNO(ApiConstants.PageNo).setPageSize(ApiConstants.PageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_FACE);
        JSONObject faceJsonObject = hkClient.snapshotDelayMonitor(faceParam);
        List<SnapshotDelayMonitorParam> faceList = getDataList(faceJsonObject, SnapshotDelayMonitorParam.class, "人脸抓拍数据量检测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
@@ -244,7 +245,7 @@
        log.info("开始执行图片访问监测结果数据同步");
        //车辆卡口信息采集准确率、车辆卡口设备url可用性
        PicAccessParam param = new PicAccessParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_CAR);
        param.setPageNO(ApiConstants.PageNo).setPageSize(ApiConstants.PageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DataType_CAR);
        JSONObject jsonObject = hkClient.picAccessMonitor(param);
        List<PicAccessResult> faceList = getDataList(jsonObject, PicAccessResult.class, "图片访问监测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
@@ -263,7 +264,7 @@
        log.info("开始执行车辆设备抽检指标监测结果数据同步");
        //车辆卡口信息采集准确率、车辆卡口设备url可用性
        VehicleDeviceSamplingParam param = new VehicleDeviceSamplingParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        param.setPageNO(ApiConstants.PageNo).setPageSize(ApiConstants.PageSize).setDate(DateUtils.getDate());
        JSONObject jsonObject = hkClient.vehicleDeviceSampling(param);
        List<VehicleDeviceSamplingResult> faceList = getDataList(jsonObject, VehicleDeviceSamplingResult.class, "人脸设备抽检指标监测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
@@ -283,7 +284,7 @@
    public void faceDeviceSamplingTask() {
        log.info("开始执行人脸设备抽检指标监测结果数据同步");
        FaceDeviceSamplingParam param = new FaceDeviceSamplingParam();
        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
        param.setPageNO(ApiConstants.PageNo).setPageSize(ApiConstants.PageSize).setDate(DateUtils.getDate());
        JSONObject jsonObject = hkClient.faceDeviceSampling(param);
        List<FaceDeviceSamplingResult> faceList = getDataList(jsonObject, FaceDeviceSamplingResult.class, "人脸设备抽检指标监测结果数据为空");
        if (!CollectionUtils.isEmpty(faceList)) {
@@ -298,6 +299,12 @@
        log.info("结束人脸设备抽检指标监测结果数据同步");
    }
    //测试
    public void test() {
        log.info("测试海康接口");
        String result = HKApi.GetCameraPreviewURL();
        log.info("结束->{}",result);
    }
    //解析数据
    private <T> List<T> getDataList(JSONObject jsonObject, Class<T> resultClass, String message) {
        if (jsonObject != null && ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))) {