package com.xy.alipay; import com.xy.annotate.RestMappingController; import com.xy.dto.spi.*; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; /** * spi 设备相关 * * @author 谭斌 * @date 2023/04/16 */ @RestMappingController({"/spi/device", "/api/device"}) public interface SpiDeviceService { /** * 设备告警通知 * 触发条件:设备发生异常时,货柜云平台也会展示 * 使用场景:接收设备告警,进行相应业务处理和任务触发 * notify_type:fault_inform * * @param deviceAlarmNotifyDTO * @return */ @PostMapping(value = "/faultInform/notify") String deviceAlarmNotify(@RequestBody DeviceAlarmNotifyDTO deviceAlarmNotifyDTO); /** * 设备恢复通知 * 触发条件:设备故障会恢复时,货柜云平台也会展示 * 使用场景:接收设备恢复,进行相应业务处理和任务触发 * * @param deviceAlarmRecoverNotifyDTO * @return */ @PostMapping(value = "/recoveryInform/notify") String recoveryInform(@RequestBody DeviceAlarmRecoverNotifyDTO deviceAlarmRecoverNotifyDTO); /** * 设备异常通知 * 触发条件:动态设备发生重力异常或者摄像头异常,影响到该设备交易的正常识别时,会通过该通知同步到商户 * 使用场景:接收设备恢复,进行相应业务处理和任务触发 * * @param deviceExceptionNotifyDTO * @return */ @PostMapping(value = "/deviceException/notify") String deviceExceptionNotify(@RequestBody DeviceExceptionNotifyDTO deviceExceptionNotifyDTO); /** * 设备状态变更通知 * 触发条件:设备激活状态或运营状态发生变化时 * 使用场景:接收设备状态变更,进行相应业务处理和任务触发 * notify_type:device_status_change * * @param deviceStatusChangeNotifyDTO * @return */ @PostMapping(value = "/status/change/notify") String deviceStatusChangeNotify(@RequestBody DeviceStatusChangeNotifyDTO deviceStatusChangeNotifyDTO); /** * 温度、音量查询SPI通知 * * @param dto dto * @return {@link String} */ @PostMapping(value = "/deviceAttr/notify") String deviceAttrNotify(@RequestBody DeviceAttributesNotifyDTO dto); /** * 温度、音量设置SPI通知 * * @param dto dto * @return {@link String} */ @PostMapping(value = "/deviceAttrSet/notify") String deviceAttrSetNotify(@RequestBody DeviceSetAttributesNotifyDTO dto); }