From d8852b852861a667a863f4e63431491ac2ff032b Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 09 八月 2024 16:35:28 +0800 Subject: [PATCH] 录像可用接口remove调整为删除昨日数据 --- ycl-server/src/main/java/com/ycl/task/HKTask.java | 333 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 277 insertions(+), 56 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java index d4bf4be..48fcd04 100644 --- a/ycl-server/src/main/java/com/ycl/task/HKTask.java +++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java @@ -1,27 +1,29 @@ package com.ycl.task; import com.alibaba.fastjson2.JSONObject; -import com.ycl.platform.domain.entity.YwThreshold; -import com.ycl.platform.domain.param.HK.FaceDeviceInspectionParam; -import com.ycl.platform.domain.param.HK.VehicleDeviceInspectionParam; -import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult; -import com.ycl.platform.domain.result.HK.VehicleDeviceInspectionResult; -import com.ycl.platform.mapper.YwThresholdMapper; +import com.mongodb.client.result.DeleteResult; +import com.ycl.platform.domain.param.HK.*; +import com.ycl.platform.domain.result.BaseResult; +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.web.HKClient; -import enumeration.BusinessType; -import enumeration.general.BusinessTypeEnum; +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 java.text.SimpleDateFormat; import java.util.Date; import java.util.List; - +//娴峰悍瀵规帴鏁版嵁浠诲姟 @Slf4j @Component("HKTask") public class HKTask { @@ -32,69 +34,288 @@ private HKClient hkClient; @Autowired private IYwThresholdService ywThresholdService; - - private final static Integer pageNo = 1; - private final static Integer pageSize = 5000; - //鎴愬姛鐘舵�佺爜 - private final static String successCode = "0"; + @Autowired + private ICheckIndexFaceService checkIndexFaceService; + @Autowired + private ICheckIndexCarService checkIndexCarService; + @Autowired + private ICheckIndexVideoService checkIndexVideoService; //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 - public void VehicleDeviceInspectionTask() { + public void vehicleDeviceInspectionTask() { log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam(); - param.setPageNO(pageNo).setPageSize(pageSize).setDate(getToday()); - JSONObject jsonObject = hkClient.VehicleDeviceInspection(param); - if (jsonObject != null && successCode.equals(jsonObject.getString("code"))) { - JSONObject data = jsonObject.getJSONObject("data"); - if (data == null) { - throw new RuntimeException("杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } - List<VehicleDeviceInspectionResult> list = data.getList("list", VehicleDeviceInspectionResult.class); - list.forEach(item ->item.setCreateTime(new Date())); - if (CollectionUtils.isEmpty(list)) { - throw new RuntimeException("杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } + 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("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class); //瀛樻斁鍦╩ongo涓� - mongoTemplate.insert(list); + mongoTemplate.insertAll(list); //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� ywThresholdService.carCheck(list); - } else { - log.error("鍚屾杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject); } log.info("缁撴潫杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); } - - public void FaceDeviceInspectionTask() { + //浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 + public void faceDeviceInspectionTask() { log.info("寮�濮嬫墽琛屼汉鑴歌澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); FaceDeviceInspectionParam param = new FaceDeviceInspectionParam(); - param.setPageNO(pageNo).setPageSize(pageSize).setDate(getToday()); - JSONObject jsonObject = hkClient.FaceDeviceInspection(param); - if (jsonObject != null && successCode.equals(jsonObject.getString("code"))) { - JSONObject data = jsonObject.getJSONObject("data"); - if (data == null) { - throw new RuntimeException("浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } - List<FaceDeviceInspectionResult> list = data.getList("list", FaceDeviceInspectionResult.class); - list.forEach(item ->item.setCreateTime(new Date())); - if (CollectionUtils.isEmpty(list)) { - throw new RuntimeException("浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } - //TODO:鍚屾鐨勬暟鎹彲鑳介渶瑕佸伐鍗曢槇鍊肩瓑澶勭悊 - + 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("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class); //瀛樻斁鍦╩ongo涓� - mongoTemplate.insert(list); - } else { - log.error("鍚屾浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject); + mongoTemplate.insertAll(list); + //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� + //TODO:鍙兘鏈夐噸澶嶅伐鍗� + ywThresholdService.faceCheck(list); } log.info("缁撴潫浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); } - private String getToday() { - Date date = new Date(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - String today = sdf.format(date); - return today; + //鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋� + public void snapshotDataMonitorTask() { + log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹噺妫�娴嬬粨鏋滄暟鎹悓姝�"); + /** 杞﹁締鏁版嵁 */ + SnapshotDataMonitorParam carParam = new SnapshotDataMonitorParam(); + 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("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); + //瀛樻斁鍦╩ongo涓� + carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR)); + mongoTemplate.insertAll(carList); + } + + /** 浜鸿劯鏁版嵁 */ + SnapshotDataMonitorParam faceParam = new SnapshotDataMonitorParam(); + 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)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .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); + //瀛樻斁鍦╩ongo涓� + carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE)); + mongoTemplate.insertAll(faceList); + } + //TODO:宸ュ崟 + log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�"); + } + + //閲囬泦璁惧灞炴�х洃娴嬬粨鏋�(浜鸿劯) + 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("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, MonitoringDetailResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(faceList); + } + //TODO:宸ュ崟澶勭悊 + log.info("缁撴潫閲囬泦璁惧灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�"); + } + + //鍗″彛灞炴�х洃娴嬬粨鏋� + public void crossDetailTask() { + log.info("寮�濮嬫墽琛屽崱鍙e睘鎬х洃娴嬬粨鏋滄暟鎹悓姝�"); + //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� + 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("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, CrossDetailResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(faceList); + } + //TODO:宸ュ崟澶勭悊 + log.info("缁撴潫鍗″彛灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�"); + } + + //鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋� + public void dataIntegrityMonitoringTask() { + log.info("寮�濮嬫墽琛屾暟鎹畬鏁存�х洃娴嬬粨鏋滄暟鎹悓姝�"); + //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬� + DataIntegrityMonitoringParam param = new DataIntegrityMonitoringParam(); + 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)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, DataIntegrityMonitoringResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(faceList); + } + //TODO:宸ュ崟澶勭悊 + log.info("缁撴潫鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋滄暟鎹悓姝�"); + } + + //灞炴�ц瘑鍒噯纭洃娴嬬粨鏋� + public void attrRecognitionMonitorTask() { + log.info("寮�濮嬫墽琛屽睘鎬ц瘑鍒噯纭洃娴嬬粨鏋滄暟鎹悓姝�"); + //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁鍑嗙‘鎬� + AttrRecognitionParam param = new AttrRecognitionParam(); + 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)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, AttrRecognitionMonitorResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(faceList); + } + //TODO:宸ュ崟澶勭悊 + log.info("缁撴潫灞炴�ц瘑鍒噯纭洃娴嬬粨鏋滄暟鎹悓姝�"); + + } + + //鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉 + public void snapshopDelayMonitorTask() { + log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹椂寤剁洃娴嬬粨鏋滄暟鎹悓姝�"); + //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬� + /** 杞﹁締鏁版嵁 */ + SnapshotDelayMonitorParam carParam = new SnapshotDelayMonitorParam(); + 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)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())) + .and("dataType").is(ApiConstants.HK_DataType_CAR)); + DeleteResult result = mongoTemplate.remove(query, SnapshotDelayMonitorParam.class); + //瀛樻斁鍦╩ongo涓� + carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR)); + mongoTemplate.insertAll(carList); + } + + /** 浜鸿劯鏁版嵁 */ + SnapshotDelayMonitorParam faceParam = new SnapshotDelayMonitorParam(); + 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)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())) + .and("dataType").is(ApiConstants.HK_DataType_FACE)); + DeleteResult result = mongoTemplate.remove(query, SnapshotDelayMonitorParam.class); + //瀛樻斁鍦╩ongo涓� + carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE)); + mongoTemplate.insertAll(faceList); + } + //TODO:宸ュ崟 + log.info("缁撴潫鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉鏁版嵁鍚屾"); + } + + //鍥剧墖璁块棶鐩戞祴缁撴灉 + public void picAccessTask() { + log.info("寮�濮嬫墽琛屽浘鐗囪闂洃娴嬬粨鏋滄暟鎹悓姝�"); + //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜囥�佽溅杈嗗崱鍙h澶噓rl鍙敤鎬� + PicAccessParam param = new PicAccessParam(); + 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)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, PicAccessResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(faceList); + } + //TODO:宸ュ崟澶勭悊 + log.info("缁撴潫鍥剧墖璁块棶鐩戞祴缁撴灉鏁版嵁鍚屾"); + } + //杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉 + public void vehicleDeviceSamplingTask() { + log.info("寮�濮嬫墽琛岃溅杈嗚澶囨娊妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); + //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜囥�佽溅杈嗗崱鍙h澶噓rl鍙敤鎬� + VehicleDeviceSamplingParam param = new VehicleDeviceSamplingParam(); + 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)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, VehicleDeviceSamplingResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(faceList); + } + //TODO:宸ュ崟澶勭悊 + log.info("缁撴潫杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); + } + + + //浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉 + public void faceDeviceSamplingTask() { + log.info("寮�濮嬫墽琛屼汉鑴歌澶囨娊妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); + FaceDeviceSamplingParam param = new FaceDeviceSamplingParam(); + 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)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, FaceDeviceSamplingResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(faceList); + } + //TODO:宸ュ崟澶勭悊 + log.info("缁撴潫浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); + } + + //瑙f瀽鏁版嵁 + private <T> List<T> getDataList(JSONObject jsonObject, Class<T> resultClass, String message) { + if (jsonObject != null && ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))) { + log.info("鏁版嵁鏍煎紡"+jsonObject); + JSONObject data = jsonObject.getJSONObject("data"); + if (data == null) { + log.error(message, jsonObject); + return null; + } + List<T> list = data.getList("list", resultClass); + if (CollectionUtils.isEmpty(list)) { + log.error(message, data); + return null; + } + return list; + } else { + log.error(message); + } + return null; } } -- Gitblit v1.8.0