From af9ab0aa0d931dc6a9fb7016cfa0e8fd4be48153 Mon Sep 17 00:00:00 2001 From: aosodo_4812 Date: Thu, 3 Sep 2026 11:00:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E8=AD=A6=E7=BB=9F=E8=AE=A1=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- REGION-API.md | 124 ------------------ .../edgeguard/command/AlarmDisposeExe.java | 16 +-- .../command/RegionCameraBindExe.java | 26 +--- .../command/query/RegionCameraQueryExe.java | 10 +- .../RegionCameraBindTransactionTest.java | 4 +- .../gbs/edgeguard/dto/AlarmDisposeCmd.java | 2 + .../gbs/edgeguard/dto/CameraSelectionCmd.java | 26 +--- .../edgeguard/dto/RegionCameraPageQry.java | 2 - .../dto/clientobject/RegionCameraCo.java | 20 +-- .../domain/gateway/HiddenGateway.java | 4 - .../domain/gateway/RegionCameraGateway.java | 5 +- .../edgeguard/domain/model/RegionCameraE.java | 14 +- .../gatewayimpl/HiddenGatewayImpl.java | 46 ------- .../gatewayimpl/RegionCameraGatewayImpl.java | 16 +-- .../dataobject/RegionCameraDO.java | 14 +- .../main/resources/RegionManagementDDL.sql | 16 +-- 16 files changed, 39 insertions(+), 306 deletions(-) delete mode 100644 REGION-API.md diff --git a/REGION-API.md b/REGION-API.md deleted file mode 100644 index a8619b9..0000000 --- a/REGION-API.md +++ /dev/null @@ -1,124 +0,0 @@ -# 区域管理接口(REGION-01~05) - -## 公共约定 - -- 内部接口前缀:`/edgeguard/regions` -- 企业来自公共服务,`edgeguard_region` 只保存真实区域及 `corp_id`。 -- 所有接口先按公共企业服务返回的当前调用人可访问企业校验数据范围。 -- `nodeType=CORP` 表示企业虚拟根;`nodeType=REGION` 表示本地真实区域。 -- 菜单权限编码尚未分配,因此 Controller 暂不填写 `@PreAuthorize`;菜单资源确定后必须补齐。 - -## REGION-01 区域树 - -```http -GET /edgeguard/regions/tree?corpId=1001 -``` - -`corpId` 可省略。返回企业虚拟根,即使企业尚无区域也返回空 `children`。 - -```json -{ - "success": true, - "data": [{ - "nodeId": "C-1001", - "nodeType": "CORP", - "id": 1001, - "corpId": 1001, - "nodeName": "示例企业", - "treeLevel": 0, - "children": [{ - "nodeId": "R-10", - "nodeType": "REGION", - "id": 10, - "corpId": 1001, - "parentId": 0, - "nodeName": "一号厂区", - "regionCode": "8f06f25cd7f84a1682ed86cdfa3da417", - "treeLevel": 1, - "sortNo": 0, - "regionStatus": "ENABLED", - "children": [] - }] - }] -} -``` - -## REGION-02 区域详情 - -```http -GET /edgeguard/regions/10 -``` - -详情返回企业名称、负责人名称、有序围栏点和用于修改的 `version`。 - -## REGION-03 新增区域 - -```http -POST /edgeguard/regions -Content-Type: application/json - -{ - "corpId": 1001, - "parentId": 0, - "regionName": "一号厂区", - "leaderUserId": 2001, - "coordinateSystem": "GCJ02", - "fencePoints": [ - {"seq": 1, "longitude": 113.1, "latitude": 23.1}, - {"seq": 2, "longitude": 113.2, "latitude": 23.1}, - {"seq": 3, "longitude": 113.2, "latitude": 23.2}, - {"seq": 4, "longitude": 113.1, "latitude": 23.2} - ], - "sortNo": 0, - "remarks": "示例" -} -``` - -服务端生成 `regionCode`、`treePath`、`treeLevel`,初始状态为 `ENABLED`。 - -## REGION-04 修改区域 - -```http -PUT /edgeguard/regions/10 -Content-Type: application/json - -{ - "regionName": "一号厂区东区", - "leaderUserId": 2001, - "coordinateSystem": "GCJ02", - "fencePoints": [ - {"seq": 1, "longitude": 113.1, "latitude": 23.1}, - {"seq": 2, "longitude": 113.2, "latitude": 23.1}, - {"seq": 3, "longitude": 113.2, "latitude": 23.2}, - {"seq": 4, "longitude": 113.1, "latitude": 23.2} - ], - "sortNo": 10, - "regionStatus": "ENABLED", - "version": 1, - "remarks": "修改示例" -} -``` - -一期不接受 `parentId`、`corpId`、`regionCode`、`treePath` 或 `treeLevel` 修改。 - -## REGION-05 删除区域 - -```http -DELETE /edgeguard/regions/10 -``` - -仅执行逻辑删除。存在子区域或 `BOUND` 摄像头绑定时拒绝删除。 - -## 当前业务异常 - -| 场景 | 信息 | -| --- | --- | -| 企业越权 | 无权访问该企业数据 | -| 区域不存在 | 区域不存在 / 父区域不存在 | -| 同级重名 | 同级区域名称已存在 | -| 负责人无效 | 区域负责人不存在或已停用 | -| 负责人跨企业 | 区域负责人不属于当前企业 | -| 围栏无效 | 点数、序号、范围、重复点、自相交或零面积对应提示 | -| 并发修改 | 区域已被其他用户修改,请刷新后重试 | -| 删除受限 | 区域存在下级区域,不能删除 / 区域仍绑定有效摄像头,不能删除 | - diff --git a/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/AlarmDisposeExe.java b/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/AlarmDisposeExe.java index a008234..a190fe7 100644 --- a/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/AlarmDisposeExe.java +++ b/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/AlarmDisposeExe.java @@ -4,7 +4,6 @@ import com.alibaba.cola.exception.BizException; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.gbs.edgeguard.domain.gateway.AlarmDisposalGateway; import com.zcloud.gbs.edgeguard.domain.gateway.AlarmGateway; -import com.zcloud.gbs.edgeguard.domain.gateway.HiddenGateway; import com.zcloud.gbs.edgeguard.domain.model.AlarmDisposalE; import com.zcloud.gbs.edgeguard.domain.model.AlarmE; import com.zcloud.gbs.edgeguard.dto.AlarmDisposeCmd; @@ -19,7 +18,6 @@ import java.util.Date; public class AlarmDisposeExe { private final AlarmGateway alarmGateway; private final AlarmDisposalGateway disposalGateway; - private final HiddenGateway hiddenGateway; @Transactional(rollbackFor = Exception.class) public void execute(Long alarmId, AlarmDisposeCmd cmd) { @@ -33,15 +31,7 @@ public class AlarmDisposeExe { validate(cmd); Long handlerUserId = AuthContext.getUserId(); - String handlerName = AuthContext.getCurrentUser().getName(); - String hiddenId = null; - if (Integer.valueOf(1).equals(cmd.getIsHiddenHazard())) { - try { - hiddenId = hiddenGateway.createFromAlarm(alarm, handlerUserId, handlerName); - } catch (Exception exception) { - throw new BizException("创建隐患失败: " + exception.getMessage()); - } - } + String hiddenId = Integer.valueOf(1).equals(cmd.getIsHiddenHazard()) ? cmd.getHiddenId().trim() : null; AlarmDisposalE disposal = new AlarmDisposalE(); disposal.setAlarmId(alarmId); @@ -73,6 +63,10 @@ public class AlarmDisposeExe { if (falseAlarm == 0 && cmd.getIsHiddenHazard() == null) { throw new BizException("非误报时必须选择是否隐患"); } + if (Integer.valueOf(1).equals(cmd.getIsHiddenHazard()) + && (cmd.getHiddenId() == null || cmd.getHiddenId().trim().isEmpty())) { + throw new BizException("判定为隐患时隐患ID不能为空"); + } if (falseAlarm == 0 && Integer.valueOf(0).equals(cmd.getIsHiddenHazard()) && (cmd.getDisposalResultCode() == null || cmd.getDisposalResultCode().trim().isEmpty())) { throw new BizException("非隐患必须填写处置结果"); diff --git a/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/RegionCameraBindExe.java b/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/RegionCameraBindExe.java index b2e16fd..08cd9ee 100644 --- a/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/RegionCameraBindExe.java +++ b/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/RegionCameraBindExe.java @@ -17,7 +17,7 @@ import java.util.Set; @Component @RequiredArgsConstructor public class RegionCameraBindExe { - private static final String CAMERA_SOURCE = "VIDEOPATROL"; + private static final String CAMERA_SOURCE = "HIKVISION"; private final RegionAccessService accessService; private final RegionCameraBindTransaction transaction; @@ -27,10 +27,7 @@ public class RegionCameraBindExe { List snapshots = new ArrayList<>(); Set identities = new HashSet<>(); for (CameraSelectionCmd camera : cmd.getCameras()) { - if (!region.getCorpId().equals(camera.getCorpinfoId())) { - throw new BizException("摄像头所属单位与区域所属企业不一致:" + camera.getVideoName()); - } - String cameraId = camera.getFixedCameraId().trim(); + String cameraId = camera.getIndexCode().trim(); CameraKeyE key = new CameraKeyE(CAMERA_SOURCE, cameraId); if (!identities.add(key.identity())) { throw new BizException("摄像头选择结果存在重复项"); @@ -44,22 +41,9 @@ public class RegionCameraBindExe { private RegionCameraE toSnapshot(CameraSelectionCmd camera) { RegionCameraE snapshot = new RegionCameraE(); snapshot.setCameraSource(CAMERA_SOURCE); - snapshot.setCameraId(camera.getFixedCameraId().trim()); - snapshot.setCameraName(camera.getVideoName().trim()); - snapshot.setVideoType(camera.getVideoType()); - snapshot.setCameraUnitId(camera.getCorpinfoId()); - snapshot.setCameraUnitName(camera.getCorpinfoName()); - snapshot.setCameraDeptId(camera.getDepartmentId()); - snapshot.setCameraDeptName(camera.getDepartmentName()); - snapshot.setVideoLevel(camera.getVideoLevel()); - snapshot.setVideoAddress(camera.getVideoAddress()); - snapshot.setIsOnline(camera.getIsOnline()); - snapshot.setDeviceModel(camera.getDeviceModel()); - snapshot.setDeviceGbNumber(camera.getDeviceGbNumber()); - snapshot.setCameraNumber(camera.getCameraNumber()); - snapshot.setLongitude(camera.getLongitude()); - snapshot.setLatitude(camera.getLatitude()); - snapshot.setRemarks(camera.getRemarks()); + snapshot.setCameraId(camera.getIndexCode().trim()); + snapshot.setCameraName(camera.getName().trim()); + snapshot.setCameraRegionName(camera.getRegionName()); return snapshot; } } diff --git a/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/query/RegionCameraQueryExe.java b/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/query/RegionCameraQueryExe.java index 7eb1835..648ad68 100644 --- a/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/query/RegionCameraQueryExe.java +++ b/web-app/src/main/java/com/zcloud/gbs/edgeguard/command/query/RegionCameraQueryExe.java @@ -32,9 +32,9 @@ public class RegionCameraQueryExe { int pageIndex = safePageIndex(qry.getPageIndex()); int pageSize = safePageSize(qry.getPageSize()); List rows = cameraGateway.pageBound( - region.getId(), qry.getName(), qry.getVideoLevel(), qry.getIsOnline(), pageIndex, pageSize); + region.getId(), qry.getName(), pageIndex, pageSize); long total = cameraGateway.countBound( - region.getId(), qry.getName(), qry.getVideoLevel(), qry.getIsOnline()); + region.getId(), qry.getName()); Set leaderIds = new HashSet<>(); for (RegionCameraE row : rows) { @@ -48,12 +48,6 @@ public class RegionCameraQueryExe { for (RegionCameraE row : rows) { RegionCameraCo co = new RegionCameraCo(); BeanUtils.copyProperties(row, co); - co.setFixedCameraId(row.getCameraId()); - co.setVideoName(row.getCameraName()); - co.setCorpinfoId(row.getCameraUnitId()); - co.setCorpinfoName(row.getCameraUnitName()); - co.setDepartmentId(row.getCameraDeptId()); - co.setDepartmentName(row.getCameraDeptName()); co.setRegionName(region.getRegionName()); co.setLeaderUserName(leaderNames.get(row.getLeaderUserId())); result.add(co); diff --git a/web-app/src/test/java/com/zcloud/gbs/edgeguard/command/RegionCameraBindTransactionTest.java b/web-app/src/test/java/com/zcloud/gbs/edgeguard/command/RegionCameraBindTransactionTest.java index 19ce286..3357a8f 100644 --- a/web-app/src/test/java/com/zcloud/gbs/edgeguard/command/RegionCameraBindTransactionTest.java +++ b/web-app/src/test/java/com/zcloud/gbs/edgeguard/command/RegionCameraBindTransactionTest.java @@ -72,8 +72,8 @@ public class RegionCameraBindTransactionTest { @Override public Boolean deleteById(Long id) { return false; } @Override public RegionCameraE getById(Long id) { return null; } @Override public boolean existsBoundByRegionId(Long regionId) { return false; } - @Override public List pageBound(Long regionId, String name, String level, Integer online, int index, int size) { return Collections.emptyList(); } - @Override public long countBound(Long regionId, String name, String level, Integer online) { return 0; } + @Override public List pageBound(Long regionId, String name, int index, int size) { return Collections.emptyList(); } + @Override public long countBound(Long regionId, String name) { return 0; } @Override public List listBoundByRegionId(Long regionId) { List result = new ArrayList<>(); for (RegionCameraE row : rows) if (regionId.equals(row.getRegionId()) && "BOUND".equals(row.getBindStatus())) result.add(row); diff --git a/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/AlarmDisposeCmd.java b/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/AlarmDisposeCmd.java index f3a501f..012ad63 100644 --- a/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/AlarmDisposeCmd.java +++ b/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/AlarmDisposeCmd.java @@ -12,6 +12,8 @@ public class AlarmDisposeCmd extends Command { @NotNull(message = "是否误报不能为空") private Integer isFalseAlarm; private Integer isHiddenHazard; + /** 前端创建隐患成功后返回的隐患ID。 */ + private String hiddenId; private String disposalResultCode; private String disposalResultName; private String disposalDescription; diff --git a/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/CameraSelectionCmd.java b/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/CameraSelectionCmd.java index 64b2eea..502b8d5 100644 --- a/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/CameraSelectionCmd.java +++ b/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/CameraSelectionCmd.java @@ -3,28 +3,14 @@ package com.zcloud.gbs.edgeguard.dto; import lombok.Data; import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; import java.io.Serializable; @Data public class CameraSelectionCmd implements Serializable { - @NotBlank(message = "固定摄像头业务ID不能为空") - private String fixedCameraId; - @NotBlank(message = "视频名称不能为空") - private String videoName; - private String videoType; - @NotNull(message = "所属单位ID不能为空") - private Long corpinfoId; - private String corpinfoName; - private Long departmentId; - private String departmentName; - private String videoLevel; - private String videoAddress; - private Integer isOnline; - private String deviceModel; - private String deviceGbNumber; - private String cameraNumber; - private String longitude; - private String latitude; - private String remarks; + @NotBlank(message = "摄像头编码不能为空") + private String indexCode; + @NotBlank(message = "摄像头名称不能为空") + private String name; + /** 海康平台中的所属区域名称,仅作为摄像头快照。 */ + private String regionName; } diff --git a/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/RegionCameraPageQry.java b/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/RegionCameraPageQry.java index a6cc0d2..0f21e89 100644 --- a/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/RegionCameraPageQry.java +++ b/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/RegionCameraPageQry.java @@ -14,6 +14,4 @@ public class RegionCameraPageQry extends PageQuery { @ApiModelProperty(value = "区域ID", required = true) private Long regionId; private String name; - private String videoLevel; - private Integer isOnline; } diff --git a/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/clientobject/RegionCameraCo.java b/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/clientobject/RegionCameraCo.java index f7b36d3..eca0257 100644 --- a/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/clientobject/RegionCameraCo.java +++ b/web-client/src/main/java/com/zcloud/gbs/edgeguard/dto/clientobject/RegionCameraCo.java @@ -10,21 +10,11 @@ public class RegionCameraCo extends ClientObject { private Long id; private Long regionId; private String regionName; - private String fixedCameraId; - private String videoName; - private String videoType; - private Long corpinfoId; - private String corpinfoName; - private Long departmentId; - private String departmentName; - private String videoLevel; - private String videoAddress; - private Integer isOnline; - private String deviceModel; - private String deviceGbNumber; - private String cameraNumber; - private String longitude; - private String latitude; + private Long corpId; + private String cameraSource; + private String cameraId; + private String cameraName; + private String cameraRegionName; private Long leaderUserId; private String leaderUserName; private String bindStatus; diff --git a/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/gateway/HiddenGateway.java b/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/gateway/HiddenGateway.java index 7433b85..dd5fba4 100644 --- a/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/gateway/HiddenGateway.java +++ b/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/gateway/HiddenGateway.java @@ -1,9 +1,5 @@ package com.zcloud.gbs.edgeguard.domain.gateway; -import com.zcloud.gbs.edgeguard.domain.model.AlarmE; - public interface HiddenGateway { - String createFromAlarm(AlarmE alarm, Long handlerUserId, String handlerName); - Integer queryStatus(String hiddenId, String alarmNo); } diff --git a/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/gateway/RegionCameraGateway.java b/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/gateway/RegionCameraGateway.java index 3f62b34..785cb25 100644 --- a/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/gateway/RegionCameraGateway.java +++ b/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/gateway/RegionCameraGateway.java @@ -12,9 +12,8 @@ public interface RegionCameraGateway { Boolean deleteById(Long id); RegionCameraE getById(Long id); boolean existsBoundByRegionId(Long regionId); - List pageBound(Long regionId, String cameraName, String videoLevel, - Integer isOnline, int pageIndex, int pageSize); - long countBound(Long regionId, String cameraName, String videoLevel, Integer isOnline); + List pageBound(Long regionId, String cameraName, int pageIndex, int pageSize); + long countBound(Long regionId, String cameraName); List listBoundByRegionId(Long regionId); List listByKeys(Long corpId, Collection cameraKeys); } diff --git a/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/model/RegionCameraE.java b/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/model/RegionCameraE.java index 9bcb9a2..bf0316b 100644 --- a/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/model/RegionCameraE.java +++ b/web-domain/src/main/java/com/zcloud/gbs/edgeguard/domain/model/RegionCameraE.java @@ -18,19 +18,7 @@ public class RegionCameraE extends BaseE { private String cameraSource; private String cameraId; private String cameraName; - private String videoType; - private Long cameraUnitId; - private String cameraUnitName; - private Long cameraDeptId; - private String cameraDeptName; - private String videoLevel; - private String videoAddress; - private Integer isOnline; - private String deviceModel; - private String deviceGbNumber; - private String cameraNumber; - private String longitude; - private String latitude; + private String cameraRegionName; private Long leaderUserId; private String bindStatus; private Date boundTime; diff --git a/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/gatewayimpl/HiddenGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/gatewayimpl/HiddenGatewayImpl.java index 9c2eeec..3de03af 100644 --- a/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/gatewayimpl/HiddenGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/gatewayimpl/HiddenGatewayImpl.java @@ -1,64 +1,18 @@ package com.zcloud.gbs.edgeguard.gatewayimpl; -import com.alibaba.cola.dto.SingleResponse; import com.zcloud.gbscommon.zcloudhidden.face.ZcloudHiddenFacade; -import com.zcloud.gbscommon.zcloudhidden.request.HiddenAddCmd; -import com.zcloud.gbscommon.zcloudhidden.request.HiddenImgAddCmd; import com.zcloud.gbscommon.zcloudhidden.request.HiddenStatisticsListQry; import com.zcloud.gbscommon.zcloudhidden.response.HiddenListCO; import com.alibaba.cola.dto.PageResponse; import com.zcloud.gbs.edgeguard.domain.gateway.HiddenGateway; -import com.zcloud.gbs.edgeguard.domain.model.AlarmE; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Component; -import java.util.Date; -import java.util.UUID; -import java.util.Collections; - @Component public class HiddenGatewayImpl implements HiddenGateway { @DubboReference(check = false) private ZcloudHiddenFacade hiddenFacade; - @Override - public String createFromAlarm(AlarmE alarm, Long handlerUserId, String handlerName) { - HiddenAddCmd cmd = new HiddenAddCmd(); - cmd.setHiddenId(UUID.randomUUID().toString()); - cmd.setSource(1); - cmd.setForeignKey(alarm.getAlarmNo()); - cmd.setHiddenDesc("边缘人脸识别区域报警"); - cmd.setHiddenPart(alarm.getAlarmAddress()); - cmd.setHiddenLevel("hiddenLevel1004"); - cmd.setHiddenLevelName("一般隐患"); - cmd.setHiddenType("alarm"); - cmd.setHiddenTypeName("报警隐患"); - cmd.setPositionDesc(alarm.getRegionPathSnapshot()); - cmd.setHiddenFindWay("1"); - cmd.setIsAi(0); - cmd.setCorpId(alarm.getCorpId()); - cmd.setCorpName(alarm.getCorpNameSnapshot()); - cmd.setCreatorId(handlerUserId); - cmd.setCreatorName(handlerName); - cmd.setConfirmUserId(handlerUserId); - cmd.setConfirmUserName(handlerName); - cmd.setHiddenFindTime(new Date()); - cmd.setRectificationType(2); - cmd.setHiddenJson("{\"confirm\":\"1\",\"rectificationType\":2}"); - if (alarm.getAlarmImageUrl() != null && !alarm.getAlarmImageUrl().trim().isEmpty()) { - HiddenImgAddCmd image = new HiddenImgAddCmd(); - image.setCorpId(alarm.getCorpId()); - image.setHiddenId(cmd.getHiddenId()); - image.setUrl(alarm.getAlarmImageUrl()); - cmd.setHiddenImgAddCmds(Collections.singletonList(image)); - } - SingleResponse response = hiddenFacade.addHidden(cmd); - if (response == null || !response.isSuccess()) { - throw new IllegalStateException(response == null ? "创建隐患失败" : response.getErrMessage()); - } - return cmd.getHiddenId(); - } - @Override public Integer queryStatus(String hiddenId, String alarmNo) { HiddenStatisticsListQry qry = new HiddenStatisticsListQry(); diff --git a/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/gatewayimpl/RegionCameraGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/gatewayimpl/RegionCameraGatewayImpl.java index 7341822..771bbb6 100644 --- a/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/gatewayimpl/RegionCameraGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/gatewayimpl/RegionCameraGatewayImpl.java @@ -50,17 +50,16 @@ public class RegionCameraGatewayImpl implements RegionCameraGateway { } @Override - public List pageBound(Long regionId, String cameraName, String videoLevel, - Integer isOnline, int pageIndex, int pageSize) { - LambdaQueryWrapper wrapper = boundWrapper(regionId, cameraName, videoLevel, isOnline) + public List pageBound(Long regionId, String cameraName, int pageIndex, int pageSize) { + LambdaQueryWrapper wrapper = boundWrapper(regionId, cameraName) .orderByDesc(RegionCameraDO::getBoundTime).orderByDesc(RegionCameraDO::getId); Page page = repository.page(new Page<>(pageIndex, pageSize), wrapper); return toEntities(page.getRecords()); } @Override - public long countBound(Long regionId, String cameraName, String videoLevel, Integer isOnline) { - return repository.count(boundWrapper(regionId, cameraName, videoLevel, isOnline)); + public long countBound(Long regionId, String cameraName) { + return repository.count(boundWrapper(regionId, cameraName)); } @Override @@ -94,14 +93,11 @@ public class RegionCameraGatewayImpl implements RegionCameraGateway { return toEntities(repository.list(wrapper)); } - private LambdaQueryWrapper boundWrapper(Long regionId, String cameraName, - String videoLevel, Integer isOnline) { + private LambdaQueryWrapper boundWrapper(Long regionId, String cameraName) { return new LambdaQueryWrapper() .eq(RegionCameraDO::getRegionId, regionId) .eq(RegionCameraDO::getBindStatus, "BOUND") - .like(cameraName != null && !cameraName.trim().isEmpty(), RegionCameraDO::getCameraName, cameraName) - .eq(videoLevel != null && !videoLevel.trim().isEmpty(), RegionCameraDO::getVideoLevel, videoLevel) - .eq(isOnline != null, RegionCameraDO::getIsOnline, isOnline); + .like(cameraName != null && !cameraName.trim().isEmpty(), RegionCameraDO::getCameraName, cameraName); } private List toEntities(List rows) { diff --git a/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/persistence/dataobject/RegionCameraDO.java b/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/persistence/dataobject/RegionCameraDO.java index f599ef8..5449394 100644 --- a/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/persistence/dataobject/RegionCameraDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/gbs/edgeguard/persistence/dataobject/RegionCameraDO.java @@ -16,19 +16,7 @@ public class RegionCameraDO extends BaseDO { private String cameraSource; private String cameraId; private String cameraName; - private String videoType; - private Long cameraUnitId; - private String cameraUnitName; - private Long cameraDeptId; - private String cameraDeptName; - private String videoLevel; - private String videoAddress; - private Integer isOnline; - private String deviceModel; - private String deviceGbNumber; - private String cameraNumber; - private String longitude; - private String latitude; + private String cameraRegionName; private Long leaderUserId; private String bindStatus; private Date boundTime; diff --git a/web-infrastructure/src/main/resources/RegionManagementDDL.sql b/web-infrastructure/src/main/resources/RegionManagementDDL.sql index f7bfc68..fc09564 100644 --- a/web-infrastructure/src/main/resources/RegionManagementDDL.sql +++ b/web-infrastructure/src/main/resources/RegionManagementDDL.sql @@ -42,19 +42,7 @@ CREATE TABLE `edgeguard_region_camera` ( `camera_source` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '摄像头来源系统编码', `camera_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '第三方摄像头唯一标识', `camera_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '摄像头名称缓存,第三方为权威数据源', - `video_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '视频类型快照', - `camera_unit_id` bigint DEFAULT NULL COMMENT '所属单位ID快照', - `camera_unit_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '所属单位名称快照', - `camera_dept_id` bigint DEFAULT NULL COMMENT '主管部门ID快照', - `camera_dept_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '主管部门名称快照', - `video_level` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '视频等级快照', - `video_address` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '视频地址快照', - `is_online` int DEFAULT NULL COMMENT '在线状态:0离线,1在线', - `device_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '规格型号快照', - `device_gb_number` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '设备国标编号快照', - `camera_number` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '摄像头编号快照', - `longitude` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '经度快照', - `latitude` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '纬度快照', + `camera_region_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '海康平台所属区域名称快照', `leader_user_id` bigint DEFAULT NULL COMMENT '摄像头负责人用户id', `bind_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'BOUND' COMMENT '绑定状态BOUND/UNBOUND', `bound_time` datetime NOT NULL COMMENT '最近绑定时间', @@ -75,7 +63,7 @@ CREATE TABLE `edgeguard_region_camera` ( UNIQUE KEY `uk_camera_source_id` (`tenant_id`, `camera_source`, `camera_id`), KEY `idx_region_camera` (`tenant_id`, `region_id`, `bind_status`, `delete_enum`), KEY `idx_camera_corp` (`tenant_id`, `corp_id`, `delete_enum`), - KEY `idx_camera_filter` (`tenant_id`, `region_id`, `bind_status`, `video_level`, `is_online`, `delete_enum`), + KEY `idx_camera_filter` (`tenant_id`, `region_id`, `bind_status`, `delete_enum`), KEY `idx_camera_name` (`camera_name`), KEY `idx_camera_leader` (`leader_user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='区域与第三方摄像头绑定表';