From d3e6b7687905d820427d65565d099cff3808b13e Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 29 七月 2024 10:13:19 +0800 Subject: [PATCH] 点位在线接口TODO --- ycl-server/src/main/java/com/ycl/task/HKTask.java | 147 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 114 insertions(+), 33 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 32b9c59..ac2f64e 100644 --- a/ycl-server/src/main/java/com/ycl/task/HKTask.java +++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java @@ -3,12 +3,19 @@ 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.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.ycl.platform.mapper.YwThresholdMapper; +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 constant.ApiConstants; import enumeration.BusinessType; import enumeration.general.BusinessTypeEnum; import lombok.extern.slf4j.Slf4j; @@ -32,70 +39,144 @@ 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() { log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam(); - param.setPageNO(pageNo).setPageSize(pageSize).setDate(getToday()); + param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.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("杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } + List<VehicleDeviceInspectionResult> list = getDataList(jsonObject, VehicleDeviceInspectionResult.class, "杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); + if (!CollectionUtils.isEmpty(list)) { //瀛樻斁鍦╩ongo涓� mongoTemplate.insert(list); //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� ywThresholdService.carCheck(list); - - } else { - log.error("鍚屾杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject); } log.info("缁撴潫杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); } - + //浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 public void FaceDeviceInspectionTask() { log.info("寮�濮嬫墽琛屼汉鑴歌澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); FaceDeviceInspectionParam param = new FaceDeviceInspectionParam(); - param.setPageNO(pageNo).setPageSize(pageSize).setDate(getToday()); + param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.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("浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); - } + List<FaceDeviceInspectionResult> list = getDataList(jsonObject, FaceDeviceInspectionResult.class, "浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); + if (!CollectionUtils.isEmpty(list)) { //瀛樻斁鍦╩ongo涓� mongoTemplate.insert(list); //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� ywThresholdService.faceCheck(list); - } else { - log.error("鍚屾浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject); } log.info("缁撴潫浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); } + //鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋� + public void SnapshotDataMonitorTask() { + log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹噺妫�娴嬬粨鏋滄暟鎹悓姝�"); + /** 杞﹁締鏁版嵁 */ + SnapshotDataMonitorParam carParam = new SnapshotDataMonitorParam(); + carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()).setDataType(ApiConstants.HK_DATATYPE_CAR); + JSONObject carJsonObject = hkClient.SnapshotDataMonitor(carParam); + List<SnapshotDataMonitorResult> carList = getDataList(carJsonObject, SnapshotDataMonitorResult.class, "杞﹁締鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹�"); + if (!CollectionUtils.isEmpty(carList)) { + //瀛樻斁鍦╩ongo涓� + 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); + JSONObject faceJsonObject = hkClient.SnapshotDataMonitor(carParam); + List list = getDataList(faceJsonObject, SnapshotDataMonitorResult.class, "浜鸿劯鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹负绌�"); + if (!CollectionUtils.isEmpty(list)) { + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insert(list); + //TODO:浜鸿劯鐐逛綅鍦ㄧ嚎鐜� + checkIndexFaceService.siteOnline(list); + } + + log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�"); + } + + + //涓�鏈轰竴妗� + public void task2() { + //鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼 + } + + //鍗″彛灞炴�х洃娴嬬粨鏋� + public void task3() { + //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� + } + + //鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋� + public void task4() { + //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬� + } + + //灞炴�ц瘑鍒噯纭洃娴嬬粨鏋� + public void task5() { + //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬� + } + + //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 + public void task6() { + //杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬� + } + + //鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉 + public void task7() { + //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬� + } + + //鍥剧墖璁块棶鐩戞祴缁撴灉 + public void task8() { + //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� + + //杞﹁締鍗″彛璁惧url鍙敤鎬� + } + + //鑾峰彇褰撳墠鏃ユ湡 private String getToday() { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String today = sdf.format(date); return today; } + + //瑙f瀽鏁版嵁 + private <T> List<T> getDataList(JSONObject faceJsonObject, Class<T> resultClass, String message) { + if (faceJsonObject != null && ApiConstants.successCode.equals(faceJsonObject.getString("code"))) { + JSONObject data = faceJsonObject.getJSONObject("data"); + if (data == null) { + log.error(message, faceJsonObject); + return null; + } + List<T> list = data.getList("list", resultClass); + if (CollectionUtils.isEmpty(list)) { + log.error(message, data); + return null; + } + for (T t : list) { + if (t instanceof BaseResult) { + ((BaseResult) t).setCreateTime(new Date()); + } + } + return list; + } else { + log.error(message); + } + return null; + } } -- Gitblit v1.8.0