ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/AttrRecognitionParam.java
@@ -33,7 +33,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/CarDetectParam.java
@@ -32,7 +32,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 监测资源 – 编号(关注监测资源查询接口获取)。查询指定监测资源下的所有设备或卡口详情 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/CodeByAreaParam.java
@@ -38,7 +38,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 采集设备类型:1、所有采集设备;2、人脸采集设备;3、车辆采集设备;4、其他采集设备。不传,默认查询所有采集设备。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/CoordinateByAreaParam.java
@@ -38,7 +38,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 采集设备类型:1、所有采集设备;2、人脸采集设备;3、车辆采集设备;4、其他采集设备。不传,默认查询所有采集设备。此参数在deviceType为1即采集设备时有效。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/CrossDetailParam.java
@@ -32,7 +32,7 @@ /** * 日期:需要哪天的异常数据。格式:yyyy-mm-dd */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/DataIntegrityMonitoringParam.java
@@ -33,7 +33,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/FaceDetectParam.java
@@ -32,7 +32,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 监测资源 – 编号(关注监测资源查询接口获取)。查询指定监测资源下的所有设备或卡口详情 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/FaceDeviceInspectionParam.java
@@ -33,7 +33,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/FaceDeviceSamplingParam.java
@@ -33,7 +33,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/MonitoringDetailParam.java
@@ -32,7 +32,7 @@ /** * 日期:需要哪天的异常数据。格式:yyyy-mm-dd */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/OrganizationTreeParam.java
@@ -21,7 +21,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/PicAccessParam.java
@@ -33,7 +33,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/SnapshotDataMonitorParam.java
@@ -33,7 +33,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 监测资源 – 编号(关注监测资源查询接口获取)。查询指定监测资源下的所有设备或卡口详情 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/SnapshotDelayMonitorParam.java
@@ -33,7 +33,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 类型:1、卡口过车数据;2、人脸数据;11、设备过车数据 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/VehicleDeviceInspectionParam.java
@@ -33,7 +33,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/param/HK/VehicleDeviceSamplingParam.java
@@ -33,7 +33,7 @@ * 日期:需要哪天的异常数据。格式:yyyy-mm-dd * 必填 */ private Date date; private String date; /** * 组织编号,查询该组织及其所有直属下级异常情况。若不传,返回所有组织异常情况。 ycl-pojo/src/main/java/com/ycl/platform/domain/query/CheckTemplateQuery.java
@@ -89,6 +89,7 @@ private Short frequency; /** 考核描述 */ private String description; /** 考核规则 */ private List<Map<String,Object>> ruleFormList; } ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/BaseResult.java
New file @@ -0,0 +1,17 @@ package com.ycl.platform.domain.result.HK; import lombok.Data; import org.bson.types.ObjectId; import org.springframework.data.annotation.Id; import java.util.Date; @Data public class BaseResult { @Id private ObjectId id; /** * 数据日期 */ private Date createTime; } ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDeviceInspectionResult.java
@@ -1,6 +1,7 @@ package com.ycl.platform.domain.result.HK; import lombok.Data; import org.springframework.data.mongodb.core.mapping.Document; /** * 人脸设备全检指标监测结果,2.3.0版本新增 @@ -8,7 +9,8 @@ * @author gonghl */ @Data public class FaceDeviceInspectionResult { @Document(collection = "face_device_inspection") public class FaceDeviceInspectionResult extends BaseResult{ /** * 设备名称 ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/VehicleDeviceInspectionResult.java
@@ -1,6 +1,7 @@ package com.ycl.platform.domain.result.HK; import lombok.Data; import org.springframework.data.mongodb.core.mapping.Document; /** * 车辆设备全检指标监测结果,2.3.0版本新增 @@ -8,17 +9,19 @@ * @author gonghl */ @Data public class VehicleDeviceInspectionResult { @Document(collection = "vehicle_device_inspection") public class VehicleDeviceInspectionResult extends BaseResult{ /** * 设备编号,dataType为1时表示卡口内码,dataType为11时表示采集设备内码 */ private String externalIndexCode; /** * 设备名称 */ private String deviceName; /** * 设备编号,dataType为1时表示卡口内码,dataType为11时表示采集设备内码 */ private String externalIndexCode; /** * 卡口内码或采集设备内码 ycl-server/src/main/java/com/ycl/PlatformApplication.java
@@ -2,15 +2,18 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.FeignAutoConfiguration; import org.springframework.transaction.annotation.EnableTransactionManagement; @Slf4j @EnableCaching @EnableTransactionManagement @EnableFeignClients(basePackages = {"com.ycl.web"}) @ImportAutoConfiguration({FeignAutoConfiguration.class}) @SpringBootApplication public class PlatformApplication { public static void main(String[] args) { ycl-server/src/main/java/com/ycl/config/HKFeignConfig.java
New file @@ -0,0 +1,15 @@ package com.ycl.config; import com.ycl.interceptor.HKFeignInterceptor; import feign.RequestInterceptor; import org.springframework.context.annotation.Bean; public class HKFeignConfig { /** * 注入拦截器 */ @Bean public RequestInterceptor requestInterceptor(){ return new HKFeignInterceptor(); } } ycl-server/src/main/java/com/ycl/config/YYFeignConfig.java
New file @@ -0,0 +1,15 @@ package com.ycl.config; import com.ycl.interceptor.YYFeignInterceptor; import feign.RequestInterceptor; import org.springframework.context.annotation.Bean; public class YYFeignConfig { /** * 注入拦截器 */ @Bean public RequestInterceptor requestInterceptor(){ return new YYFeignInterceptor(); } } ycl-server/src/main/java/com/ycl/interceptor/HKFeignInterceptor.java
New file @@ -0,0 +1,14 @@ package com.ycl.interceptor; import feign.RequestInterceptor; import feign.RequestTemplate; /** * 海康请求拦截器 */ public class HKFeignInterceptor implements RequestInterceptor { @Override public void apply(RequestTemplate requestTemplate) { } } ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java
New file @@ -0,0 +1,14 @@ package com.ycl.interceptor; import feign.RequestInterceptor; import feign.RequestTemplate; /** * 优云请求拦截器 */ public class YYFeignInterceptor implements RequestInterceptor { @Override public void apply(RequestTemplate requestTemplate) { requestTemplate.header("token", "auth"); } } ycl-server/src/main/java/com/ycl/platform/controller/CheckTemplateController.java
@@ -98,6 +98,7 @@ @PutMapping("/weight") public AjaxResult editWeight(@RequestBody CheckTemplateRule checkTemplateRule) { return toAjax(checkTemplateRuleService.updateCheckTemplateRule(checkTemplateRule)); } /** ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateRuleServiceImpl.java
@@ -11,7 +11,7 @@ /** * 考核模板-规则中间Service业务层处理 * * * @author ruoyi * @date 2024-04-01 */ @@ -23,7 +23,7 @@ /** * 查询考核模板-规则中间 * * * @param id 考核模板-规则中间主键 * @return 考核模板-规则中间 */ @@ -35,7 +35,7 @@ /** * 查询考核模板-规则中间列表 * * * @param checkTemplateRule 考核模板-规则中间 * @return 考核模板-规则中间 */ @@ -47,7 +47,7 @@ /** * 新增考核模板-规则中间 * * * @param checkTemplateRule 考核模板-规则中间 * @return 结果 */ @@ -59,19 +59,20 @@ /** * 修改考核模板-规则中间 * * * @param checkTemplateRule 考核模板-规则中间 * @return 结果 */ @Override public int updateCheckTemplateRule(CheckTemplateRule checkTemplateRule) { return checkTemplateRuleMapper.updateCheckTemplateRule(checkTemplateRule); } /** * 批量删除考核模板-规则中间 * * * @param ids 需要删除的考核模板-规则中间主键 * @return 结果 */ @@ -83,7 +84,7 @@ /** * 删除考核模板-规则中间信息 * * * @param id 考核模板-规则中间主键 * @return 结果 */ ycl-server/src/main/java/com/ycl/task/HKTask.java
New file @@ -0,0 +1,94 @@ package com.ycl.task; import com.alibaba.fastjson2.JSONObject; 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.web.HKClient; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; 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 { @Autowired private MongoTemplate mongoTemplate; @Autowired private HKClient hkClient; private final static Integer pageNo = 1; private final static Integer pageSize = 5000; //成功状态码 private final static String successCode = "0"; //车辆设备全检指标监测结果 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("车辆设备全检指标监测结果数据为空"); } //TODO:同步的数据可能需要工单阈值等处理 //存放在mongo中 mongoTemplate.insert(list); } else { log.error("同步车辆设备全检指标监测结果失败", jsonObject); } log.info("结束车辆设备全检指标监测结果数据同步"); } 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:同步的数据可能需要工单阈值等处理 //存放在mongo中 mongoTemplate.insert(list); } else { log.error("同步人脸设备全检指标监测结果失败", jsonObject); } log.info("结束人脸设备全检指标监测结果数据同步"); } private String getToday() { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String today = sdf.format(date); return today; } } ycl-server/src/main/java/com/ycl/web/HKClient.java
@@ -1,6 +1,7 @@ package com.ycl.web; import com.alibaba.fastjson2.JSONObject; import com.ycl.config.HKFeignConfig; import com.ycl.platform.domain.param.HK.*; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.stereotype.Component; @@ -13,7 +14,7 @@ */ @Component @FeignClient(name = "HKClient", url = "${request.haiKangDomain}") @FeignClient(name = "HKClient", url = "${request.haiKangDomain}", configuration = HKFeignConfig.class) public interface HKClient { /** @@ -188,7 +189,7 @@ * @return 人脸设备全检指标监测结果 */ @PostMapping("/dqd/service/rs/v2/data/faceFullAmount/query") JSONObject DataIntegrityMonitoring(FaceDeviceInspectionParam param); JSONObject FaceDeviceInspection(FaceDeviceInspectionParam param); /** * 人脸设备抽检指标监测结果 @@ -199,7 +200,7 @@ * @return 人脸设备抽检指标监测结果 */ @PostMapping("/dqd/service/rs/v2/data/faceSampleAmount/query") JSONObject DataIntegrityMonitoring(FaceDeviceSamplingParam param); JSONObject FaceDeviceSampling(FaceDeviceSamplingParam param); /** * 车辆设备全检指标监测结果 ycl-server/src/main/java/com/ycl/web/UYClient.java
@@ -1,6 +1,8 @@ package com.ycl.web; import com.alibaba.fastjson2.JSONObject; import com.ycl.config.HKFeignConfig; import com.ycl.config.YYFeignConfig; import com.ycl.platform.domain.param.YY.CameraParam; import com.ycl.platform.domain.param.YY.OnlineParam; import com.ycl.platform.domain.param.YY.RecordMetaDSumParam; @@ -15,7 +17,7 @@ */ @Component @FeignClient(name = "UYClient", url = "${request.youYunDomain}") @FeignClient(name = "UYClient", url = "${request.youYunDomain}", configuration = YYFeignConfig.class) public interface UYClient { /** ycl-server/src/main/resources/application-dev.yml
@@ -123,4 +123,6 @@ host: 42.193.1.25 database: zgyw port: 27017 username: admin password: ycl@202466