From cb7d99d810f2356096b67fbccd3fac556e638d83 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 22 八月 2024 11:22:56 +0800
Subject: [PATCH] feat:查询条件优化
---
ycl-server/src/main/java/com/ycl/task/HKTask.java | 413 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 347 insertions(+), 66 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..00b346a 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,30 @@
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.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.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 {
@@ -29,72 +32,350 @@
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
- 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("杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
- }
- //瀛樻斁鍦╩ongo涓�
- mongoTemplate.insert(list);
- //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
- ywThresholdService.carCheck(list);
- } else {
- log.error("鍚屾杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject);
- }
+// VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam();
+// param.setPageNo(ApiConstants.PageNo);
+// param.setPageSize(ApiConstants.HKPageSize);
+// param.setDate(DateUtils.getDate());
+// param.setDataType(ApiConstants.HK_DataType_CAR);
+// List<VehicleDeviceInspectionResult> list = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/vehFullAmount/query", param, 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.insertAll(list);
+// //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
+// ywThresholdService.carCheck(list);
+// }
+ Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
+ ywThresholdService.carCheck(mongoTemplate.find(query, VehicleDeviceInspectionResult.class));
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:鍚屾鐨勬暟鎹彲鑳介渶瑕佸伐鍗曢槇鍊肩瓑澶勭悊
-
- //瀛樻斁鍦╩ongo涓�
- mongoTemplate.insert(list);
- } else {
- log.error("鍚屾浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject);
- }
+// FaceDeviceInspectionParam param = new FaceDeviceInspectionParam();
+// param.setPageNo(ApiConstants.PageNo);
+// param.setPageSize(ApiConstants.HKPageSize);
+// param.setDate(DateUtils.getDate());
+// List<FaceDeviceInspectionResult> list = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/faceFullAmount/query", param, 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.insertAll(list);
+// //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
+// //TODO:鍙兘鏈夐噸澶嶅伐鍗�
+// ywThresholdService.faceCheck(list);
+// }
+ Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
+ ywThresholdService.faceCheck(mongoTemplate.find(query, FaceDeviceInspectionResult.class));
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);
+ carParam.setPageSize(ApiConstants.HKPageSize);
+ carParam.setDate(DateUtils.getDate());
+ carParam.setDataType(ApiConstants.HK_DataType_CAR);
+ List<SnapshotDataMonitorResult> carList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/snapCountDetail/query", carParam, 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);
+ faceParam.setPageSize(ApiConstants.HKPageSize);
+ faceParam.setDate(DateUtils.getDate());
+ faceParam.setDataType(ApiConstants.HK_DataType_FACE);
+ List<SnapshotDataMonitorResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/snapCountDetail/query", faceParam, 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);
+ param.setPageSize(ApiConstants.HKPageSize);
+ param.setDate(DateUtils.getDate());
+ List<MonitoringDetailResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/device/cameraExpDetailInfo/query", param, 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);
+ param.setPageSize(ApiConstants.HKPageSize);
+ param.setDate(DateUtils.getDate());
+ List<CrossDetailResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/device/crossExpDetailInfo/query", param, 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);
+ param.setPageSize(ApiConstants.HKPageSize);
+ param.setDate(DateUtils.getDate());
+ param.setDataType(ApiConstants.HK_DataType_CAR);
+ List<DataIntegrityMonitoringResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/attributeIntegrity/query", param, 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);
+ param.setPageSize(ApiConstants.HKPageSize);
+ param.setDate(DateUtils.getDate());
+ param.setDataType(ApiConstants.HK_DataType_CAR);
+ List<AttrRecognitionMonitorResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/attributeRecognition/query", param, 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);
+ carParam.setPageSize(ApiConstants.HKPageSize);
+ carParam.setDate(DateUtils.getDate());
+ carParam.setDataType(ApiConstants.HK_DataType_CAR);
+ List<SnapshotDelayMonitorResult> carList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/snapAgingDetail/query", carParam, 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, SnapshotDelayMonitorResult.class);
+ //瀛樻斁鍦╩ongo涓�
+ carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
+ mongoTemplate.insertAll(carList);
+ }
+
+ /** 浜鸿劯鏁版嵁 */
+ SnapshotDelayMonitorParam faceParam = new SnapshotDelayMonitorParam();
+ faceParam.setPageNo(ApiConstants.PageNo);
+ faceParam.setPageSize(ApiConstants.HKPageSize);
+ faceParam.setDate(DateUtils.getDate());
+ faceParam.setDataType(ApiConstants.HK_DataType_FACE);
+ List<SnapshotDelayMonitorResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/snapAgingDetail/query", faceParam, SnapshotDelayMonitorResult.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, SnapshotDelayMonitorResult.class);
+ //瀛樻斁鍦╩ongo涓�
+ faceList.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);
+ param.setPageSize(ApiConstants.HKPageSize);
+ param.setDate(DateUtils.getDate());
+ param.setDataType(ApiConstants.HK_DataType_CAR);
+ List<PicAccessResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/picAccessDetail/query", param, 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);
+ param.setPageSize(ApiConstants.HKPageSize);
+ param.setDate(DateUtils.getDate());
+ param.setDataType(ApiConstants.HK_DataType_CAR);
+ List<VehicleDeviceSamplingResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/vehSampleAmount/query", param, 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);
+ param.setPageSize(ApiConstants.HKPageSize);
+ param.setDate(DateUtils.getDate());
+ List<FaceDeviceSamplingResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/faceSampleAmount/query", param, 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("缁撴潫浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
+ }
+
+ //娴嬭瘯
+ public void test() {
+ log.info("娴嬭瘯娴峰悍鎺ュ彛");
+ HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/faceDetect/query", new FaceDeviceSamplingParam(), Object.class);
+ log.info("缁撴潫->{}锛岃皟鐢ㄦ垚鍔�");
+ }
+
+ //娴嬭瘯
+ public void test1() {
+ log.info("娴嬭瘯娴峰悍鎺ュ彛");
+ HkApiUtil.sendAPI("/api/dqd/service/rs/v1/device/coordinateExpInfo/query", new FaceDeviceSamplingParam(), Object.class);
+ log.info("缁撴潫->{}锛岃皟鐢ㄦ垚鍔�");
+ }
+
+ //娴嬭瘯
+ public void test2() {
+ log.info("娴嬭瘯娴峰悍鎺ュ彛");
+ HkApiUtil.sendAPI("/api/dqd/service/rs/v1/device/gbCodeExpInfo/query", new FaceDeviceSamplingParam(), Object.class);
+ log.info("缁撴潫->{}锛岃皟鐢ㄦ垚鍔�");
+ }
+
+ //娴嬭瘯
+ public void test3() {
+ log.info("娴嬭瘯娴峰悍鎺ュ彛");
+ HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/passDetect/query", new FaceDeviceSamplingParam(), Object.class);
+ 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