Sfoglia il codice sorgente

设备告警通知

谭斌 2 anni fa
parent
commit
27c11d4638

+ 6 - 0
device-api-service/pom.xml

@@ -85,5 +85,11 @@
             <scope>compile</scope>
         </dependency>
 
+        <dependency>
+            <groupId>com.xy</groupId>
+            <artifactId>xy-alipay</artifactId>
+            <version>1.0</version>
+        </dependency>
+
     </dependencies>
 </project>

+ 34 - 0
device-api-service/src/main/java/com/xy/service/alipay/SpiDeviceService.java

@@ -0,0 +1,34 @@
+package com.xy.service.alipay;
+
+import com.xy.annotate.RestMappingController;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Map;
+
+
+/**
+ * spi 设备相关
+ *
+ * @author 谭斌
+ * @date 2023/04/16
+ */
+
+@RestMappingController("/spi/device")
+public interface SpiDeviceService {
+
+
+    /**
+     * 设备告警通知
+     * 触发条件:设备发生异常时,货柜云平台也会展示
+     * 使用场景:接收设备告警,进行相应业务处理和任务触发
+     * notify_type:fault_inform
+     *
+     * @param params
+     * @return
+     */
+    @RequestMapping(value = "/faultInform/notify", method = {RequestMethod.GET, RequestMethod.POST})
+    String deviceAlarmNotify(@RequestParam Map<String, String> params);
+
+}

+ 53 - 0
device-api-service/src/main/java/com/xy/service/alipay/impl/SpiDeviceServiceImpl.java

@@ -0,0 +1,53 @@
+package com.xy.service.alipay.impl;
+
+import cn.hutool.json.JSONUtil;
+import com.xy.dto.spi.DeviceAlarmNotifyDTO;
+import com.xy.service.alipay.SpiDeviceService;
+import com.xy.service.spi.ISpiService;
+import com.xy.service.spi.request.AsyncRequestParams;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+
+/**
+ * spi 设备相关
+ *
+ * @author 谭斌
+ * @date 2023/04/16
+ */
+@Service
+@AllArgsConstructor
+@Slf4j
+@Api(tags = "设备相关")
+public class SpiDeviceServiceImpl implements SpiDeviceService {
+
+
+    private ISpiService spiService;
+
+
+    @Override
+    public String deviceAlarmNotify(Map<String, String> params) {
+        log.info("设备告警通知请求:{}", JSONUtil.toJsonPrettyStr(params));
+        //1.获取同步请求参数
+        AsyncRequestParams asyncRequestParams = spiService.getAsyncRequestParams(params);
+
+        //2.入参验签
+        boolean b = spiService.checkSign(params);
+        if (!b) {
+            log.error("设备告警通知接口,验签失败:{}", JSONUtil.toJsonPrettyStr(params));
+            //验签失败
+            return "验签失败!";
+        }
+        //3.本系统业务逻辑处理
+        //3.1获取的支付宝请求业务参数
+        DeviceAlarmNotifyDTO deviceAlarmNotifyDTO = spiService.getDeviceAlarmNotifyDTO(asyncRequestParams);
+        //3.2 根据支付宝请求业务参数,进行本系统逻辑处理
+        // 业务处理代码3.2....................
+        //3.3 封装请求成功业务响应信息
+        return "success";
+    }
+}

+ 2 - 2
device-start/src/main/resources/bootstrap.yml

@@ -10,11 +10,11 @@ cloud:
   center:
     url: 119.96.213.127:9007
     config:
-      shared-configs: redis.yaml,mysql.yaml,mqtt.yaml,xxl-job.yaml,xy-oss.yaml
+      shared-configs: redis.yaml,mysql.yaml,mqtt.yaml,xxl-job.yaml,xy-oss.yaml,xy-alipay.yaml
       name: device
   service:
     name: dev-device
   feign:
     head:
       carr-heads:
-        - satoken
+        - satoken