From dbd3204c3659622c4d193d5335e700ad926aa17d Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期四, 23 二月 2023 14:40:32 +0800
Subject: [PATCH] 烟感接口测试

---
 ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgParamDto.java         |   37 +++++++++
 ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgDataVo.java           |   25 ++++++
 ycl-platform/src/main/java/com/ycl/remote/dto/smoke/SmokeResultResponseDto.java   |   20 +++++
 ycl-common/src/main/java/com/ycl/utils/redis/RedisKey.java                        |    6 +
 ycl-platform/src/main/java/com/ycl/remote/service/ISmokeDetectionService.java     |   21 +++++
 ycl-platform/src/main/java/com/ycl/remote/dto/smoke/LoginParamDto.java            |   24 ++++++
 ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgResponseDto.java      |   23 +++++
 ycl-platform/src/main/java/com/ycl/remote/dto/smoke/LoginResponseDto.java         |   15 +++
 ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java |   49 +++++++++++-
 9 files changed, 216 insertions(+), 4 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/utils/redis/RedisKey.java b/ycl-common/src/main/java/com/ycl/utils/redis/RedisKey.java
index 57686db..45e4f40 100644
--- a/ycl-common/src/main/java/com/ycl/utils/redis/RedisKey.java
+++ b/ycl-common/src/main/java/com/ycl/utils/redis/RedisKey.java
@@ -21,4 +21,10 @@
      * 閬傛槍琛屾斂鍖哄煙
      */
     public static final String SCCG_REGION = "sccg-region";
+
+
+    /**
+     * 鐑熸劅
+     */
+    public static final String SMOKE_TOKEN = "smoke-token";
 }
diff --git a/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgDataVo.java b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgDataVo.java
new file mode 100644
index 0000000..a553a2d
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgDataVo.java
@@ -0,0 +1,25 @@
+package com.ycl.remote.dto.smoke;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class AlarmMsgDataVo {
+
+    @JsonProperty("Id")
+    private String id;
+    @JsonProperty("MN")
+    private String mn;
+    @JsonProperty("AcquitAt")
+    private Long acquitAt;
+    @JsonProperty("Owner")
+    private String owner;
+    @JsonProperty("Content")
+    private String content;
+    @JsonProperty("MsgType")
+    private String msgType;
+    @JsonProperty("Addr")
+    private String addr;
+}
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgParamDto.java b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgParamDto.java
new file mode 100644
index 0000000..765993f
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgParamDto.java
@@ -0,0 +1,37 @@
+package com.ycl.remote.dto.smoke;
+
+import lombok.Builder;
+import lombok.Data;
+
+@Data
+@Builder
+public class AlarmMsgParamDto {
+    /**
+     * 璧峰浣嶇疆 - 蹇呭~
+     */
+    private Integer StartAt;
+    /**
+     * 璇锋眰鏁伴噺 - 蹇呭~
+     */
+    private Integer Size;
+    /**
+     * 1锛氳秴鏍�2锛氬紓甯� - 蹇呭~
+     */
+    private Integer Typ;
+
+    /**
+     * 鏌ヨ鍒涘缓鎶ヨ鏃ユ湡
+     */
+    private ParamVo Param;
+
+    @Data
+    public class ParamVo {
+        /**
+         * 鏌ヨ鍒涘缓鎶ヨ鏃ユ湡
+         */
+        private String CreatedAt;
+    }
+}
+
+
+
diff --git a/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgResponseDto.java b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgResponseDto.java
new file mode 100644
index 0000000..bb1fe45
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/AlarmMsgResponseDto.java
@@ -0,0 +1,23 @@
+package com.ycl.remote.dto.smoke;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+public class AlarmMsgResponseDto {
+
+    @JsonProperty("content")
+    private List<AlarmMsgDataVo> content;
+
+    @JsonProperty("total")
+    private Integer total;
+
+}
+
+
+
diff --git a/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/LoginParamDto.java b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/LoginParamDto.java
new file mode 100644
index 0000000..1c44df0
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/LoginParamDto.java
@@ -0,0 +1,24 @@
+package com.ycl.remote.dto.smoke;
+
+
+import lombok.Builder;
+import lombok.Data;
+
+@Data
+@Builder
+public class LoginParamDto {
+
+    /**
+     * 璐﹀彿 - 蹇呭~
+     */
+    private String username;
+    /**
+     * 瀵嗙爜 - 蹇呭~
+     */
+    private String password;
+    /**
+     * 閫夋嫨true鍒欐棤闇�楠岃瘉鐮�
+     */
+    private Boolean noCode;
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/LoginResponseDto.java b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/LoginResponseDto.java
new file mode 100644
index 0000000..0894b10
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/LoginResponseDto.java
@@ -0,0 +1,15 @@
+package com.ycl.remote.dto.smoke;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class LoginResponseDto {
+    @JsonProperty("Token")
+    private String token;
+
+    @JsonProperty("Role")
+    private String role;
+}
diff --git a/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/SmokeResultResponseDto.java b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/SmokeResultResponseDto.java
new file mode 100644
index 0000000..7f8989d
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/remote/dto/smoke/SmokeResultResponseDto.java
@@ -0,0 +1,20 @@
+package com.ycl.remote.dto.smoke;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class SmokeResultResponseDto<T> {
+    @JsonProperty("Msg")
+    private String msg;
+    /**
+     * 200 鎴愬姛 114 token澶辨晥
+     */
+    @JsonProperty("Status")
+    private Integer status;
+
+    @JsonProperty("Data")
+    private T data;
+}
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/remote/service/ISmokeDetectionService.java b/ycl-platform/src/main/java/com/ycl/remote/service/ISmokeDetectionService.java
new file mode 100644
index 0000000..759d0e9
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/remote/service/ISmokeDetectionService.java
@@ -0,0 +1,21 @@
+package com.ycl.remote.service;
+
+import com.ycl.config.feign.FeignConfiguration;
+import com.ycl.remote.dto.smoke.*;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.cloud.openfeign.SpringQueryMap;
+import org.springframework.web.bind.annotation.*;
+
+
+@FeignClient(url = "http://116.62.234.187:8088", name = "smokeApi")
+public interface ISmokeDetectionService {
+
+    @PostMapping(value = "/loginAction")
+
+    SmokeResultResponseDto<LoginResponseDto> loginAction(@RequestBody LoginParamDto paramDto);
+
+
+    @PostMapping(value = "/admin/listAlarmMsg")
+     SmokeResultResponseDto<AlarmMsgResponseDto> getListAlarmMsg(@RequestBody AlarmMsgParamDto paramDto,
+                                                                 @RequestHeader("Auth") String token);
+}
diff --git a/ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java b/ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java
index 138d65a..10ff185 100644
--- a/ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java
+++ b/ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java
@@ -2,12 +2,18 @@
 
 import com.ycl.common.util.UtilNumber;
 import com.ycl.enums.common.DictTypeEnum;
+import com.ycl.remote.dto.smoke.*;
+import com.ycl.remote.service.ISmokeDetectionService;
 import com.ycl.service.caseHandler.IBaseCaseService;
+import com.ycl.service.redis.RedisService;
 import com.ycl.utils.MD5Util;
+import com.ycl.utils.redis.RedisKey;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
+import javax.annotation.Resource;
+import java.util.List;
 import java.util.Map;
 
 @SpringBootTest
@@ -34,17 +40,17 @@
 
     @Test
     void createCode() {
-        String randomKey ="f83bf56491350983146a1e463f46e59d_7318061173768192";
+        String randomKey = "f83bf56491350983146a1e463f46e59d_7318061173768192";
         String realm = "D62D265605378973";
         String userName = "suichang"; /// 鐢ㄦ埛鍚�
         String password = "a12345677"; /// 璇ョ敤鎴风殑鏄庢枃瀵嗙爜
 /// 涓�鍏辫绠椾簲娆D5
 
         String signature = MD5Util.md5Encrypt(password);
-        signature = MD5Util.md5Encrypt(userName+signature);
+        signature = MD5Util.md5Encrypt(userName + signature);
         signature = MD5Util.md5Encrypt(signature);
-        signature = MD5Util.md5Encrypt(userName+":"+realm+":"+signature);
-        signature = MD5Util.md5Encrypt(signature+":"+randomKey);
+        signature = MD5Util.md5Encrypt(userName + ":" + realm + ":" + signature);
+        signature = MD5Util.md5Encrypt(signature + ":" + randomKey);
         System.out.println(signature);
     }
 
@@ -53,4 +59,39 @@
         Map<String, String> s = DictTypeEnum.getAllToMap();
     }
 
+
+    @Autowired
+    ISmokeDetectionService smokeDetectionService;
+
+    @Resource
+    private RedisService redisService;
+
+    @Test
+    void smokeLoginTest() {
+        login();
+    }
+
+    void login() {
+        LoginParamDto loginParamDto = LoginParamDto.builder().username("connect_test2").password("test@234").noCode(true).build();
+        SmokeResultResponseDto<LoginResponseDto> responseDto = smokeDetectionService.loginAction(loginParamDto);
+        if (responseDto.getStatus() == 200) {
+            System.out.println(responseDto.getData().getToken());
+            redisService.set(RedisKey.SMOKE_TOKEN, responseDto.getData().getToken());
+        }
+    }
+
+    @Test
+    void smokeAlarmMsgTest() {
+        AlarmMsgParamDto paramDto = AlarmMsgParamDto.builder().StartAt(0).Size(100).build();
+
+        SmokeResultResponseDto<AlarmMsgResponseDto> responseDto = smokeDetectionService.getListAlarmMsg(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString());
+        if (responseDto.getStatus() == 200) {
+            AlarmMsgResponseDto dto = responseDto.getData();
+            List<AlarmMsgDataVo> list = dto.getContent();
+            System.out.println(list.size());
+        } else if (responseDto.getStatus() == 114) {
+            login();
+            smokeAlarmMsgTest();
+        }
+    }
 }

--
Gitblit v1.8.0