From 84de853d7ccf49752d59161904fe11b62912a5a9 Mon Sep 17 00:00:00 2001 From: lxj Date: Wed, 2 Jul 2025 17:54:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E8=84=B8=E8=BF=9C=E7=A8=8B=E6=8A=A5?= =?UTF-8?q?=E8=AD=A6=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sis/controller/VideoAlarmController.java | 3 ++ .../sis/domain/bo/SisAccessControlBo.java | 14 ++++---- .../dromara/sis/sdk/unview/model/UvModel.java | 32 +++++++++++++++++++ .../sdk/unview/service/VideoAlarmService.java | 23 ++++++------- .../impl/SisAccessControlServiceImpl.java | 5 +-- 5 files changed, 57 insertions(+), 20 deletions(-) diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/VideoAlarmController.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/VideoAlarmController.java index 73ab4dc..cb1c713 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/VideoAlarmController.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/VideoAlarmController.java @@ -3,6 +3,7 @@ package org.dromara.sis.controller; import com.alibaba.fastjson2.JSONObject; import jakarta.annotation.Resource; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.dromara.sis.sdk.unview.model.UvModel; import org.dromara.sis.sdk.unview.service.VideoAlarmService; import org.springframework.web.bind.annotation.PostMapping; @@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; * @author lxj * @since 25-06-24 */ +@Slf4j @RestController @RequiredArgsConstructor @RequestMapping("/uniview") @@ -27,6 +29,7 @@ public class VideoAlarmController { @PostMapping("/custom/router") public UvModel.UniViewResult alarm(@RequestBody String data) { UvModel.AlarmReportInfo alarmReportData = JSONObject.parseObject(data, UvModel.AlarmReportInfo.class); +// log.info("宇视上报消息,msg={}", alarmReportData); videoAlarmService.handleAlarmData(alarmReportData); return UvModel.UniViewResult.success(null); } diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisAccessControlBo.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisAccessControlBo.java index 4e7fe71..f3c26e8 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisAccessControlBo.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisAccessControlBo.java @@ -27,11 +27,11 @@ public class SisAccessControlBo extends BaseEntity { @NotNull(message = "不能为空", groups = {EditGroup.class}) private Long id; - /** - * 门禁设备编码 - */ - @NotBlank(message = "门禁设备编码不能为空", groups = {AddGroup.class, EditGroup.class}) - private String accessCode; +// /** +// * 门禁设备编码 +// */ +// @NotBlank(message = "门禁设备编码不能为空", groups = {AddGroup.class, EditGroup.class}) +// private String accessCode; /** * 门禁名称 @@ -80,8 +80,8 @@ public class SisAccessControlBo extends BaseEntity { /** * */ - @NotBlank(message = "不能为空", groups = {AddGroup.class, EditGroup.class}) - private String factoryCode; +// @NotBlank(message = "不能为空", groups = {AddGroup.class, EditGroup.class}) +// private String factoryCode; /** * 控制卡类型:1-系统,2-E8 diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/model/UvModel.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/model/UvModel.java index c55fbb4..75b046e 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/model/UvModel.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/model/UvModel.java @@ -160,6 +160,25 @@ public class UvModel { private String image_path; private String image_base64; private String similarity; + + @Override + public String toString() { + return "CompareResult{" + + "target_id=" + target_id + + ", lib_id=" + lib_id + + ", lib_name='" + lib_name + '\'' + + ", person_id=" + person_id + + ", person_name='" + person_name + '\'' + + ", sex=" + sex + + ", email='" + email + '\'' + + ", tel='" + tel + '\'' + + ", certificate_type=" + certificate_type + + ", certificate_no='" + certificate_no + '\'' + + ", image_path='" + image_path + '\'' + +// ", image_base64='" + image_base64 + '\'' + + ", similarity='" + similarity + '\'' + + '}'; + } } @Data @@ -171,6 +190,19 @@ public class UvModel { private String crop_image_path; private String orig_image_base64; // 人脸抓拍大图base64 private String crop_image_base64; // 人脸抓拍小图base64 + + @Override + public String toString() { + return "Face{" + + "capture_time=" + capture_time + + ", point_x='" + point_x + '\'' + + ", point_y='" + point_y + '\'' + + ", orig_image_path='" + orig_image_path + '\'' + + ", crop_image_path='" + crop_image_path + '\'' + +// ", orig_image_base64='" + orig_image_base64 + '\'' + +// ", crop_image_base64='" + crop_image_base64 + '\'' + + '}'; + } } @Data diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/service/VideoAlarmService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/service/VideoAlarmService.java index 10b07ca..efeb41a 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/service/VideoAlarmService.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/service/VideoAlarmService.java @@ -106,12 +106,22 @@ public class VideoAlarmService { * @param alarmReportData 告警数据 */ private void handleFacialCapture(UvModel.AlarmReportInfo alarmReportData) { + + } + + /** + * 人脸比对数据上报 + * + * @param alarmReportData 告警数据 + */ + private void handleFacialComparison(UvModel.AlarmReportInfo alarmReportData) { + log.info("人脸数据比对,msg= {}", alarmReportData); List compareResults = alarmReportData.getCompare_results(); - if (compareResults == null) { + if (alarmReportData.getHas_result() == 1 && compareResults == null) { log.info("无比对结果,不处理此条数据。"); return; } - UvModel.ChannelInfo channelInfo = alarmReportData.getChannel_info(); + UvModel.ChannelInfo channelInfo = alarmReportData.getChannel_info(); if (channelInfo == null) { log.info("上报设备信息不存在,不处理词条数据。"); return; @@ -151,15 +161,6 @@ public class VideoAlarmService { }); } - /** - * 人脸比对数据上报 - * - * @param alarmReportData 告警数据 - */ - private void handleFacialComparison(UvModel.AlarmReportInfo alarmReportData) { - - } - /** * 行为比对数据上报 * diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisAccessControlServiceImpl.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisAccessControlServiceImpl.java index 423e7a4..ed7057c 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisAccessControlServiceImpl.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisAccessControlServiceImpl.java @@ -93,12 +93,12 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.orderByAsc(SisAccessControl::getId); - lqw.eq(StringUtils.isNotBlank(bo.getAccessCode()), SisAccessControl::getAccessCode, bo.getAccessCode()); +// lqw.eq(StringUtils.isNotBlank(bo.getAccessCode()), SisAccessControl::getAccessCode, bo.getAccessCode()); lqw.like(StringUtils.isNotBlank(bo.getAccessName()), SisAccessControl::getAccessName, bo.getAccessName()); lqw.eq(StringUtils.isNotBlank(bo.getAccessIp()), SisAccessControl::getAccessIp, bo.getAccessIp()); lqw.eq(bo.getAccessPort() != null, SisAccessControl::getAccessPort, bo.getAccessPort()); lqw.eq(bo.getAccessType() != null, SisAccessControl::getAccessType, bo.getAccessType()); - lqw.eq(StringUtils.isNotBlank(bo.getFactoryCode()), SisAccessControl::getFactoryCode, bo.getFactoryCode()); +// lqw.eq(StringUtils.isNotBlank(bo.getFactoryCode()), SisAccessControl::getFactoryCode, bo.getFactoryCode()); lqw.eq(bo.getControlType() != null, SisAccessControl::getControlType, bo.getControlType()); lqw.eq(StringUtils.isNotBlank(bo.getControlCode()), SisAccessControl::getControlCode, bo.getControlCode()); lqw.eq(StringUtils.isNotBlank(bo.getOutCode()), SisAccessControl::getOutCode, bo.getOutCode()); @@ -228,6 +228,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService { @Override public SisAccessControlVo queryByBindDeviceIp(String deviceCode) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SisAccessControl::getBindDeviceIp, deviceCode); return baseMapper.selectVoOne(wrapper); }