feat(ops): add-iot-clean-order-integration阶段3-客流计数器重置

This commit is contained in:
lzh
2026-01-17 17:44:30 +08:00
parent 6933a22e1c
commit 64928f5a3f
8 changed files with 227 additions and 7 deletions

View File

@@ -3,6 +3,7 @@ package com.viewsh.module.iot.api.device;
import com.viewsh.framework.common.pojo.CommonResult;
import com.viewsh.module.iot.api.device.dto.IotDeviceServiceInvokeReqDTO;
import com.viewsh.module.iot.api.device.dto.IotDeviceServiceInvokeRespDTO;
import com.viewsh.module.iot.api.device.dto.ResetTrafficCounterReqDTO;
import com.viewsh.module.iot.enums.ApiConstants;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -22,6 +23,7 @@ import java.util.List;
* 支持功能:
* - 服务调用(语音播报、震动提醒等)
* - 批量服务调用
* - 重置客流计数器
*
* @author lzh
*/
@@ -41,4 +43,10 @@ public interface IotDeviceControlApi {
@Operation(summary = "批量调用设备服务")
CommonResult<List<IotDeviceServiceInvokeRespDTO>> invokeServiceBatch(@Valid @RequestBody List<IotDeviceServiceInvokeReqDTO> reqDTOList);
// ==================== 客流计数器 ====================
@PostMapping(PREFIX + "/reset-traffic-counter")
@Operation(summary = "重置客流计数器基准值")
CommonResult<Boolean> resetTrafficCounter(@Valid @RequestBody ResetTrafficCounterReqDTO reqDTO);
}

View File

@@ -0,0 +1,37 @@
package com.viewsh.module.iot.api.device.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 重置客流计数器请求 DTO
* <p>
* 用于 Ops 模块在工单创建成功后,通知 IoT 模块重置客流计数器基准值
*
* @author AI
*/
@Schema(description = "重置客流计数器请求")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ResetTrafficCounterReqDTO {
@Schema(description = "设备ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001")
@NotNull(message = "设备ID不能为空")
private Long deviceId;
@Schema(description = "新的基准值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1500")
@NotNull(message = "基准值不能为空")
private Long newBaseValue;
@Schema(description = "关联的工单ID用于日志追踪", example = "12345")
private Long orderId;
@Schema(description = "操作说明", example = "工单创建后重置计数器")
private String remark;
}