feat(ops): 安保工单 admin-api/open-api 补全确认、提交、误报接口
admin-api: - 新增 /false-alarm 误报标记接口(权限: ops:security-order:complete) - createOrder 移除 location 字段 open-api: - 新增 /confirm 确认工单(无需传 userId) - 新增 /submit 提交处理结果(结果描述 + 图片) - 新增 /false-alarm 误报标记 - createOrder 移除 location 字段 VO 优化: - 合并 SecurityOrderFalseAlarmReqVO 和 SecurityOrderOpenConfirmReqVO 为通用 SecurityOrderIdReqVO,消除重复定义 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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<Boolean> falseAlarmOrder(@Valid @RequestBody SecurityOrderIdReqVO reqVO) {
|
||||
securityOrderService.falseAlarmOrder(reqVO.getOrderId(), SecurityFrameworkUtils.getLoginUserId());
|
||||
return success(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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<Boolean> confirmOrder(@Valid @RequestBody SecurityOrderIdReqVO reqVO) {
|
||||
securityOrderService.confirmOrder(reqVO.getOrderId(), null);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PostMapping("/submit")
|
||||
@Operation(summary = "工单提交", description = "由外部系统调用,提交处理结果(描述 + 图片),完成工单")
|
||||
@ApiSignature
|
||||
@PermitAll
|
||||
public CommonResult<Boolean> 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<Boolean> falseAlarmOrder(@Valid @RequestBody SecurityOrderIdReqVO reqVO) {
|
||||
securityOrderService.falseAlarmOrder(reqVO.getOrderId(), null);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user