From 929c5384397b981d427c83e1e4c13ed62b0bda10 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 17 八月 2023 15:09:39 +0800
Subject: [PATCH] 修改一件调度获取在线用户

---
 ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 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 026c3bd..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,11 +17,13 @@
 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
+@Slf4j(topic = "uav")
 public class UavService {
     public static final String USERNAME = "ardbailu";//鐢ㄦ埛鍚�
     public static final String PASSWORD = "ardkj12345";//瀵嗙爜
@@ -27,6 +31,7 @@
 
     //token 鐧婚檰鍚庢瘡娆¤姹�,鍦╤eader涓惡甯�
     private String token;//鐧诲綍鎴愬姛杩斿洖鐨則oken
+    private Map uavUser;//鐧诲綍鐨勭敤鎴蜂俊鎭�
     private ObjectMapper om = new ObjectMapper();
     @Autowired
     private UavClient uavClient;
@@ -67,22 +72,32 @@
         return res;
     }
 
+    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) {
             e.printStackTrace();
         } catch (JsonProcessingException e) {
             e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
         }
     }
 

--
Gitblit v1.9.3