SpiDeviceService.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.xy.alipay;
  2. import com.xy.annotate.RestMappingController;
  3. import com.xy.dto.spi.*;
  4. import org.springframework.web.bind.annotation.PostMapping;
  5. import org.springframework.web.bind.annotation.RequestBody;
  6. /**
  7. * spi 设备相关
  8. *
  9. * @author 谭斌
  10. * @date 2023/04/16
  11. */
  12. @RestMappingController({"/spi/device", "/api/device"})
  13. public interface SpiDeviceService {
  14. /**
  15. * 设备告警通知
  16. * 触发条件:设备发生异常时,货柜云平台也会展示
  17. * 使用场景:接收设备告警,进行相应业务处理和任务触发
  18. * notify_type:fault_inform
  19. *
  20. * @param deviceAlarmNotifyDTO
  21. * @return
  22. */
  23. @PostMapping(value = "/faultInform/notify")
  24. String deviceAlarmNotify(@RequestBody DeviceAlarmNotifyDTO deviceAlarmNotifyDTO);
  25. /**
  26. * 设备恢复通知
  27. * 触发条件:设备故障会恢复时,货柜云平台也会展示
  28. * 使用场景:接收设备恢复,进行相应业务处理和任务触发
  29. *
  30. * @param deviceAlarmRecoverNotifyDTO
  31. * @return
  32. */
  33. @PostMapping(value = "/recoveryInform/notify")
  34. String recoveryInform(@RequestBody DeviceAlarmRecoverNotifyDTO deviceAlarmRecoverNotifyDTO);
  35. /**
  36. * 设备异常通知
  37. * 触发条件:动态设备发生重力异常或者摄像头异常,影响到该设备交易的正常识别时,会通过该通知同步到商户
  38. * 使用场景:接收设备恢复,进行相应业务处理和任务触发
  39. *
  40. * @param deviceExceptionNotifyDTO
  41. * @return
  42. */
  43. @PostMapping(value = "/deviceException/notify")
  44. String deviceExceptionNotify(@RequestBody DeviceExceptionNotifyDTO deviceExceptionNotifyDTO);
  45. /**
  46. * 设备状态变更通知
  47. * 触发条件:设备激活状态或运营状态发生变化时
  48. * 使用场景:接收设备状态变更,进行相应业务处理和任务触发
  49. * notify_type:device_status_change
  50. *
  51. * @param deviceStatusChangeNotifyDTO
  52. * @return
  53. */
  54. @PostMapping(value = "/status/change/notify")
  55. String deviceStatusChangeNotify(@RequestBody DeviceStatusChangeNotifyDTO deviceStatusChangeNotifyDTO);
  56. /**
  57. * 温度、音量查询SPI通知
  58. *
  59. * @param dto dto
  60. * @return {@link String}
  61. */
  62. @PostMapping(value = "/deviceAttr/notify")
  63. String deviceAttrNotify(@RequestBody DeviceAttributesNotifyDTO dto);
  64. /**
  65. * 温度、音量设置SPI通知
  66. *
  67. * @param dto dto
  68. * @return {@link String}
  69. */
  70. @PostMapping(value = "/deviceAttrSet/notify")
  71. String deviceAttrSetNotify(@RequestBody DeviceSetAttributesNotifyDTO dto);
  72. }