diff --git a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/SecurityOrderController.java b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/SecurityOrderController.java index 948ccc7..d908323 100644 --- a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/SecurityOrderController.java +++ b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/SecurityOrderController.java @@ -6,6 +6,7 @@ import com.viewsh.module.ops.controller.admin.security.vo.SecurityOrderAutoCompl import com.viewsh.module.ops.controller.admin.security.vo.SecurityOrderCompleteReqVO; import com.viewsh.module.ops.controller.admin.security.vo.SecurityOrderConfirmReqVO; import com.viewsh.module.ops.controller.admin.security.vo.SecurityOrderCreateReqVO; +import com.viewsh.module.ops.controller.admin.security.vo.SecurityOrderIdReqVO; import com.viewsh.module.ops.security.service.securityorder.SecurityOrderCompleteReqDTO; import com.viewsh.module.ops.security.service.securityorder.SecurityOrderCreateReqDTO; import com.viewsh.module.ops.security.service.securityorder.SecurityOrderService; @@ -48,7 +49,6 @@ public class SecurityOrderController { .description(reqVO.getDescription()) .priority(reqVO.getPriority()) .areaId(reqVO.getAreaId()) - .location(reqVO.getLocation()) .alarmId(reqVO.getAlarmId()) .alarmType(reqVO.getAlarmType()) .cameraId(reqVO.getCameraId()) @@ -90,4 +90,12 @@ public class SecurityOrderController { return success(true); } + @PostMapping("/false-alarm") + @Operation(summary = "误报标记", description = "将安保工单标记为误报并完成") + @PreAuthorize("@ss.hasPermission('ops:security-order:complete')") + public CommonResult falseAlarmOrder(@Valid @RequestBody SecurityOrderIdReqVO reqVO) { + securityOrderService.falseAlarmOrder(reqVO.getOrderId(), SecurityFrameworkUtils.getLoginUserId()); + return success(true); + } + } diff --git a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderCreateReqVO.java b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderCreateReqVO.java index 3719314..d0a1b96 100644 --- a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderCreateReqVO.java +++ b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderCreateReqVO.java @@ -28,9 +28,6 @@ public class SecurityOrderCreateReqVO { @NotNull(message = "区域ID不能为空") private Long areaId; - @Schema(description = "具体位置描述", example = "A栋3层东侧走廊") - private String location; - // ==================== 告警来源 ==================== @Schema(description = "关联告警ID", example = "ALM20260211001") diff --git a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderFalseAlarmReqVO.java b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderFalseAlarmReqVO.java deleted file mode 100644 index 9bf0cab..0000000 --- a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderFalseAlarmReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.viewsh.module.ops.controller.admin.security.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * 安保工单误报请求 VO - * - * @author lzh - */ -@Schema(description = "安保工单误报请求") -@Data -public class SecurityOrderFalseAlarmReqVO { - - @Schema(description = "工单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001") - @NotNull(message = "工单ID不能为空") - private Long orderId; - -} diff --git a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderOpenConfirmReqVO.java b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderOpenConfirmReqVO.java deleted file mode 100644 index 8a5b35e..0000000 --- a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/SecurityOrderOpenConfirmReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.viewsh.module.ops.controller.admin.security.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * 安保工单开放接口确认请求 VO(无需传 userId,默认使用已分配人员) - * - * @author lzh - */ -@Schema(description = "安保工单确认请求(开放接口)") -@Data -public class SecurityOrderOpenConfirmReqVO { - - @Schema(description = "工单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001") - @NotNull(message = "工单ID不能为空") - private Long orderId; - -} diff --git a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/open/security/SecurityOrderOpenController.java b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/open/security/SecurityOrderOpenController.java index fd550ca..aa20670 100644 --- a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/open/security/SecurityOrderOpenController.java +++ b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/open/security/SecurityOrderOpenController.java @@ -3,7 +3,10 @@ package com.viewsh.module.ops.controller.open.security; import com.viewsh.framework.common.pojo.CommonResult; import com.viewsh.framework.signature.core.annotation.ApiSignature; import com.viewsh.module.ops.controller.admin.security.vo.SecurityOrderAutoCompleteReqVO; +import com.viewsh.module.ops.controller.admin.security.vo.SecurityOrderCompleteReqVO; import com.viewsh.module.ops.controller.admin.security.vo.SecurityOrderCreateReqVO; +import com.viewsh.module.ops.controller.admin.security.vo.SecurityOrderIdReqVO; +import com.viewsh.module.ops.security.service.securityorder.SecurityOrderCompleteReqDTO; import com.viewsh.module.ops.security.service.securityorder.SecurityOrderCreateReqDTO; import com.viewsh.module.ops.security.service.securityorder.SecurityOrderService; import io.swagger.v3.oas.annotations.Operation; @@ -48,7 +51,6 @@ public class SecurityOrderOpenController { .description(reqVO.getDescription()) .priority(reqVO.getPriority()) .areaId(reqVO.getAreaId()) - .location(reqVO.getLocation()) .alarmId(reqVO.getAlarmId()) .alarmType(reqVO.getAlarmType()) .cameraId(reqVO.getCameraId()) @@ -69,4 +71,36 @@ public class SecurityOrderOpenController { return success(true); } + @PostMapping("/confirm") + @Operation(summary = "确认工单", description = "由外部系统调用,确认安保人员已接单,无需传 userId(自动取已分配人员)") + @ApiSignature + @PermitAll + public CommonResult confirmOrder(@Valid @RequestBody SecurityOrderIdReqVO reqVO) { + securityOrderService.confirmOrder(reqVO.getOrderId(), null); + return success(true); + } + + @PostMapping("/submit") + @Operation(summary = "工单提交", description = "由外部系统调用,提交处理结果(描述 + 图片),完成工单") + @ApiSignature + @PermitAll + public CommonResult submitOrder(@Valid @RequestBody SecurityOrderCompleteReqVO reqVO) { + SecurityOrderCompleteReqDTO dto = SecurityOrderCompleteReqDTO.builder() + .orderId(reqVO.getOrderId()) + .result(reqVO.getResult()) + .resultImgUrls(reqVO.getResultImgUrls()) + .build(); + securityOrderService.manualCompleteOrder(dto); + return success(true); + } + + @PostMapping("/false-alarm") + @Operation(summary = "误报标记", description = "由外部系统调用,将工单标记为误报并完成") + @ApiSignature + @PermitAll + public CommonResult falseAlarmOrder(@Valid @RequestBody SecurityOrderIdReqVO reqVO) { + securityOrderService.falseAlarmOrder(reqVO.getOrderId(), null); + return success(true); + } + }