SpiDeviceServiceImpl.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.xy.service.alipay.impl;
  2. import cn.hutool.json.JSONUtil;
  3. import com.xy.dto.spi.DeviceAlarmNotifyDTO;
  4. import com.xy.service.alipay.SpiDeviceService;
  5. import com.xy.service.spi.ISpiService;
  6. import com.xy.service.spi.request.AsyncRequestParams;
  7. import io.swagger.annotations.Api;
  8. import lombok.AllArgsConstructor;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.springframework.stereotype.Service;
  11. import java.util.Map;
  12. /**
  13. * spi 设备相关
  14. *
  15. * @author 谭斌
  16. * @date 2023/04/16
  17. */
  18. @Service
  19. @AllArgsConstructor
  20. @Slf4j
  21. @Api(tags = "设备相关")
  22. public class SpiDeviceServiceImpl implements SpiDeviceService {
  23. private ISpiService spiService;
  24. @Override
  25. public String deviceAlarmNotify(Map<String, String> params) {
  26. log.info("设备告警通知请求:{}", JSONUtil.toJsonPrettyStr(params));
  27. //1.获取同步请求参数
  28. AsyncRequestParams asyncRequestParams = spiService.getAsyncRequestParams(params);
  29. //2.入参验签
  30. boolean b = spiService.checkSign(params);
  31. if (!b) {
  32. log.error("设备告警通知接口,验签失败:{}", JSONUtil.toJsonPrettyStr(params));
  33. //验签失败
  34. return "验签失败!";
  35. }
  36. //3.本系统业务逻辑处理
  37. //3.1获取的支付宝请求业务参数
  38. DeviceAlarmNotifyDTO deviceAlarmNotifyDTO = spiService.getDeviceAlarmNotifyDTO(asyncRequestParams);
  39. //3.2 根据支付宝请求业务参数,进行本系统逻辑处理
  40. // 业务处理代码3.2....................
  41. //3.3 封装请求成功业务响应信息
  42. return "success";
  43. }
  44. }