From 44f2a0a32c096bdb05d4cc0ac162cdc1eb14c3ed Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: 星期四, 10 八月 2023 13:14:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java | 40 +++++++++++++++++++++++++---------------
1 files changed, 25 insertions(+), 15 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java b/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java
index 1950bfd..14acb4d 100644
--- a/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java
+++ b/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java
@@ -1,10 +1,12 @@
package com.ruoyi.device.uav.service;
import com.dtflys.forest.exceptions.ForestNetworkException;
+import com.dtflys.forest.exceptions.ForestRuntimeException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.utils.forest.UavClient;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
@@ -15,18 +17,21 @@
import javax.annotation.PostConstruct;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
+import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Map;
@Service
-public class UavService implements IUavService {
+@Slf4j(topic = "uav")
+public class UavService {
public static final String USERNAME = "ardbailu";//鐢ㄦ埛鍚�
public static final String PASSWORD = "ardkj12345";//瀵嗙爜
public static final String SALT = "0123456789012345";//鐩�
//token 鐧婚檰鍚庢瘡娆¤姹�,鍦╤eader涓惡甯�
private String token;//鐧诲綍鎴愬姛杩斿洖鐨則oken
+ private Map uavUser;//鐧诲綍鐨勭敤鎴蜂俊鎭�
private ObjectMapper om = new ObjectMapper();
@Autowired
private UavClient uavClient;
@@ -36,7 +41,6 @@
this.login();
}
- @Override
public String doUavRequest(HttpMethod method, String url, String data) {
String res = null;
Method requestMethod = null;
@@ -57,9 +61,9 @@
try {//鍐嶆璋冪敤鎺ュ彛
res = (String) requestMethod.invoke(this.uavClient, url, this.token, data);
} catch (IllegalAccessException ex) {
- throw new RuntimeException(ex);
+ ex.printStackTrace();
} catch (InvocationTargetException ex) {
- throw new RuntimeException(ex);
+ ex.printStackTrace();
}
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
@@ -68,35 +72,42 @@
return res;
}
- @Override
+ public Map getUavUser() {
+ if (this.uavUser == null) {
+ this.login();
+ }
+ return this.uavUser;
+ }
+
public void login() {
+ log.debug("鐧诲綍鏃犱汉鏈哄閮ㄦ帴鍙�");
String codedPassword = this.Encrypt(PASSWORD, SALT);
String body = "{\"username\":\"" + USERNAME + "\",\"password\":\"" + codedPassword + "\"}";
try {
String res = uavClient.POST("login", null, body);
Map resMap = om.readValue(res, Map.class);
- Map data = (Map) resMap.get("data");
- if (data != null) {
- this.token = (String) data.get("access_token");
+ this.uavUser = (Map) resMap.get("data");
+ if (this.uavUser != null) {
+ this.token = (String) this.uavUser.get("access_token");
}
- } catch (ForestNetworkException e) {
- e.printStackTrace();
+ } catch (ForestRuntimeException e) {
+ log.error("鏃犱汉鏈鸿繛鎺ヨ秴鏃�" + e.getMessage());
} catch (JsonMappingException e) {
- throw new RuntimeException(e);
+ e.printStackTrace();
} catch (JsonProcessingException e) {
- throw new RuntimeException(e);
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
}
}
public String Encrypt(String sSrc, String sKey) {
if (sKey == null) {
- System.out.print("Key涓虹┖null");
return null;
}
// 鍒ゆ柇Key鏄惁涓�16浣�
if (sKey.length() != 16) {
- System.out.print("Key闀垮害涓嶆槸16浣�");
return null;
}
byte[] encrypted = null;
@@ -108,7 +119,6 @@
encrypted = cipher.doFinal(sSrc.getBytes("utf-8"));
} catch (Exception e) {
e.printStackTrace();
- ;
}
return new Base64().encodeToString(encrypted);//姝ゅ浣跨敤BASE64鍋氳浆鐮佸姛鑳斤紝鍚屾椂鑳借捣鍒�2娆″姞瀵嗙殑浣滅敤銆�
}
--
Gitblit v1.9.3