From eeefddd9cb9759febda0d81488a490b3cc2650fa Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Sat, 23 Sep 2023 10:32:57 +0800
Subject: [PATCH] 航线文件接口

---
 src/main/java/com/dji/sample/manage/service/impl/UserServiceImpl.java |   35 +++++++++++++++++++----------------
 1 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/dji/sample/manage/service/impl/UserServiceImpl.java b/src/main/java/com/dji/sample/manage/service/impl/UserServiceImpl.java
index 8f3df63..d754831 100644
--- a/src/main/java/com/dji/sample/manage/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/dji/sample/manage/service/impl/UserServiceImpl.java
@@ -1,6 +1,8 @@
 package com.dji.sample.manage.service.impl;
 
 import com.auth0.jwt.JWT;
+import com.auth0.jwt.exceptions.TokenExpiredException;
+import com.auth0.jwt.interfaces.DecodedJWT;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -29,6 +31,7 @@
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.stream.Collectors;
 
@@ -98,13 +101,7 @@
         String token = JwtUtil.createToken(customClaim.convertToMap());
 
         UserDTO userDTO = entityConvertToDTO(userEntity);
-        userDTO.setMqttAddr(new StringBuilder()
-                .append(mqttConfiguration.getProtocol().trim())
-                .append("://")
-                .append(mqttConfiguration.getHost().trim())
-                .append(":")
-                .append(mqttConfiguration.getPort())
-                .toString());
+        userDTO.setMqttAddr(MqttConfiguration.getBasicMqttAddress());
         userDTO.setAccessToken(token);
         userDTO.setWorkspaceId(workspaceOpt.get().getWorkspaceId());
         return ResponseResult.success(userDTO);
@@ -115,10 +112,22 @@
         if (!StringUtils.hasText(token)) {
             return Optional.empty();
         }
-        CustomClaim customClaim = new CustomClaim(JWT.decode(token).getClaims());
+        CustomClaim customClaim;
+        try {
+            DecodedJWT jwt = JwtUtil.verifyToken(token);
+            customClaim = new CustomClaim(jwt.getClaims());
+        } catch (TokenExpiredException e) {
+            customClaim = new CustomClaim(JWT.decode(token).getClaims());
+        } catch (Exception e) {
+            e.printStackTrace();
+            return Optional.empty();
+        }
         String refreshToken = JwtUtil.createToken(customClaim.convertToMap());
 
         UserDTO user = entityConvertToDTO(this.getUserByUsername(customClaim.getUsername()));
+        if (Objects.isNull(user)) {
+            return Optional.empty();
+        }
         user.setWorkspaceId(customClaim.getWorkspaceId());
         user.setAccessToken(refreshToken);
         return Optional.of(user);
@@ -195,7 +204,7 @@
      */
     private UserDTO entityConvertToDTO(UserEntity entity) {
         if (entity == null) {
-            return new UserDTO();
+            return null;
         }
         return UserDTO.builder()
                 .userId(entity.getUserId())
@@ -203,13 +212,7 @@
                 .userType(entity.getUserType())
                 .mqttUsername(entity.getMqttUsername())
                 .mqttPassword(entity.getMqttPassword())
-                .mqttAddr(new StringBuilder()
-                        .append(mqttConfiguration.getProtocol().trim())
-                        .append("://")
-                        .append(mqttConfiguration.getHost().trim())
-                        .append(":")
-                        .append(mqttConfiguration.getPort())
-                        .toString())
+                .mqttAddr(MqttConfiguration.getBasicMqttAddress())
                 .build();
     }
 }

--
Gitblit v1.9.3