From 3dd63e0590245a1b711b670c64342e1f41f00284 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 16 八月 2024 10:44:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/PyOsdParam.java | 15 +++++ ycl-server/src/main/resources/application-prod.yml | 1 ycl-server/src/main/java/com/ycl/feign/PythonClient.java | 21 +++++++ ycl-server/src/main/resources/application-dev.yml | 1 ycl-server/src/main/java/com/ycl/task/PythonTask.java | 69 +++++++++++++++++++++++ ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java | 2 ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java | 27 ++------ 7 files changed, 116 insertions(+), 20 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/PyOsdParam.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/PyOsdParam.java new file mode 100644 index 0000000..855dc71 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/PyOsdParam.java @@ -0,0 +1,15 @@ +package com.ycl.platform.domain.param.UY; + +import lombok.Data; + +import java.util.List; + +@Data +public class PyOsdParam { + /** + * 鍥芥爣鐮� + */ + private List<String> deviceNoList; + + private String Date; +} diff --git a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java index a13d14e..b3ae363 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java +++ b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java @@ -180,7 +180,7 @@ List<YwPoint> commandImages = pointMapper.selectByTag(null, null, Boolean.TRUE); return CollectionUtils.isEmpty(commandImages) ? new ArrayList<>() : commandImages.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList()); } - //杩斿洖閲嶇偣鎸囨尌鍥惧儚闆嗗悎 + //杩斿洖monitor public List<String> getMonitorFromMongo() { // 鑾峰彇Calendar瀹炰緥锛岄粯璁や娇鐢ㄥ綋鍓嶆椂鍖哄拰璇█鐜 Calendar calendar = Calendar.getInstance(); diff --git a/ycl-server/src/main/java/com/ycl/feign/PythonClient.java b/ycl-server/src/main/java/com/ycl/feign/PythonClient.java new file mode 100644 index 0000000..28eaf2e --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/feign/PythonClient.java @@ -0,0 +1,21 @@ +package com.ycl.feign; + + +import com.alibaba.fastjson2.JSONObject; +import com.ycl.platform.domain.param.UY.PyOsdParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@Component +@FeignClient(name = "PythonClient", url = "${request.pythonDomain}") +public interface PythonClient { + /** + * OSD鏍囨敞 + * + * @return 鏌ヨ鎽勫儚鏈篛SD鏍囨敞 + */ + @PostMapping("/") + JSONObject pythonOsd(@RequestBody PyOsdParam param); +} diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java index 1a57746..59f54c1 100644 --- a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java +++ b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java @@ -1,7 +1,6 @@ package com.ycl.platform.controller; import com.ycl.platform.domain.query.DataCenterQuery; -import com.ycl.platform.domain.query.PlatformOnlineQuery; import com.ycl.platform.service.DataCenterService; import com.ycl.platform.service.PlatformOnlineService; import com.ycl.system.Result; @@ -172,9 +171,6 @@ } - - - /** * 杞﹁締锛氳鍥惧簱瀵规帴绋冲畾鎬� * @@ -286,13 +282,6 @@ } - - - - - - - /** * 浜鸿劯锛氳鍥惧簱瀵规帴绋冲畾鎬� * @@ -301,7 +290,7 @@ */ @GetMapping("/faceViewDockStable") public Result faceViewDockStable(DataCenterQuery query) { - return Result.ok().data(dataCenterService.faceViewDockStable(query)); + return (dataCenterService.faceViewDockStable(query)); } /** @@ -312,7 +301,7 @@ */ @GetMapping("/facePointOnlineRate") public Result facePointOnlineRate(DataCenterQuery query) { - return Result.ok().data(dataCenterService.facePointOnlineRate(query)); + return (dataCenterService.facePointOnlineRate(query)); } /** @@ -323,7 +312,7 @@ */ @GetMapping("/faceDirectoryConsistency") public Result faceDirectoryConsistency(DataCenterQuery query) { - return Result.ok().data(dataCenterService.faceDirectoryConsistency(query)); + return (dataCenterService.faceDirectoryConsistency(query)); } /** @@ -334,7 +323,7 @@ */ @GetMapping("/faceCollectionConsistency") public Result faceCollectionConsistency(DataCenterQuery query) { - return Result.ok().data(dataCenterService.faceCollectionConsistency(query)); + return (dataCenterService.faceCollectionConsistency(query)); } /** @@ -345,7 +334,7 @@ */ @GetMapping("/faceImgQualification") public Result faceImgQualification(DataCenterQuery query) { - return Result.ok().data(dataCenterService.faceImgQualification(query)); + return (dataCenterService.faceImgQualification(query)); } /** @@ -356,7 +345,7 @@ */ @GetMapping("/faceCapturesImagesAccuracy") public Result faceCapturesImagesAccuracy(DataCenterQuery query) { - return Result.ok().data(dataCenterService.faceCapturesImagesAccuracy(query)); + return (dataCenterService.faceCapturesImagesAccuracy(query)); } /** @@ -367,7 +356,7 @@ */ @GetMapping("/faceTimelyUpload") public Result faceTimelyUpload(DataCenterQuery query) { - return Result.ok().data(dataCenterService.faceTimelyUpload(query)); + return (dataCenterService.faceTimelyUpload(query)); } /** @@ -378,6 +367,6 @@ */ @GetMapping("/faceAvailabilityOfLargeImg") public Result faceAvailabilityOfLargeImg(DataCenterQuery query) { - return Result.ok().data(dataCenterService.faceAvailabilityOfLargeImg(query)); + return (dataCenterService.faceAvailabilityOfLargeImg(query)); } } diff --git a/ycl-server/src/main/java/com/ycl/task/PythonTask.java b/ycl-server/src/main/java/com/ycl/task/PythonTask.java new file mode 100644 index 0000000..d77cd15 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/task/PythonTask.java @@ -0,0 +1,69 @@ +package com.ycl.task; + +import com.alibaba.fastjson2.JSONObject; +import com.mongodb.client.result.DeleteResult; +import com.ycl.feign.PythonClient; +import com.ycl.feign.UYClient; +import com.ycl.platform.domain.param.UY.*; +import com.ycl.platform.domain.result.UY.*; +import com.ycl.platform.service.ITMonitorService; +import com.ycl.platform.service.IYwThresholdService; +import com.ycl.utils.DateUtils; +import constant.ApiConstants; +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.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * python瀵规帴浠诲姟 + * 鎷垮幓osd鏍囨敞銆佹爣娉ㄦ椂闂存暟鎹� + */ +@Slf4j +@Component("PythonTask") +public class PythonTask { + @Autowired + private MongoTemplate mongoTemplate; + @Autowired + private PythonClient pythonClient; + + public void pythonOsdTask(){ + log.info("寮�濮嬫墽琛宲ythonOsd鏁版嵁鍚屾"); + PyOsdParam pyOsdParam = new PyOsdParam(); + pyOsdParam.setDate(DateUtils.getDate()); + Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + List<MonitorQualifyResult> oneMachineFileResults = mongoTemplate.find(query, MonitorQualifyResult.class); + if(!CollectionUtils.isEmpty(oneMachineFileResults)) { + List<String> deviceIdList = oneMachineFileResults.stream().map(result -> result.getSerialNumber().getValue()).collect(Collectors.toList()); + pyOsdParam.setDeviceNoList(deviceIdList); + //鏌ヨosd鏍囨敞鍜屾椂闂翠俊鎭� + JSONObject jsonObject = pythonClient.pythonOsd(pyOsdParam); + if (jsonObject != null) { + if (ApiConstants.UYSuccessCode.equals(jsonObject.getInteger("code"))) { + List<PyOsdResult> records = jsonObject.getList("data", PyOsdResult.class); + if (!CollectionUtils.isEmpty(records)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query pyQuery = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(pyQuery, PyOsdResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insertAll(records); + } + } else { + log.error("pythonOsd鏁版嵁涓虹┖{}", jsonObject); + } + } + log.info("缁撴潫鎵цpythonOsd鏁版嵁鍚屾"); + } + } +} diff --git a/ycl-server/src/main/resources/application-dev.yml b/ycl-server/src/main/resources/application-dev.yml index 149d7ea..5eabbef 100644 --- a/ycl-server/src/main/resources/application-dev.yml +++ b/ycl-server/src/main/resources/application-dev.yml @@ -130,6 +130,7 @@ retry: 4 # 鏈�澶ч噸璇曟鏁� youYunDomain: http://51.92.65.56 # 浼樹簯鍦板潃 haiKangDomain: 51.92.65.48 # 娴峰悍鍦板潃 + pythonDomain: 11 # python鑴氭湰鍦板潃 youYun: tenantId: e10adc3949ba59abbe56e057f20f88dd diff --git a/ycl-server/src/main/resources/application-prod.yml b/ycl-server/src/main/resources/application-prod.yml index 81766c5..5010d56 100644 --- a/ycl-server/src/main/resources/application-prod.yml +++ b/ycl-server/src/main/resources/application-prod.yml @@ -130,6 +130,7 @@ retry: 4 # 鏈�澶ч噸璇曟鏁� youYunDomain: http://51.92.65.56 # 浼樹簯鍦板潃 haiKangDomain: 51.92.65.48 # 娴峰悍鍦板潃 + pythonDomain: 11 # python鑴氭湰鍦板潃 youYun: tenantId: e10adc3949ba59abbe56e057f20f88dd -- Gitblit v1.8.0