From 8d9a2d656e4ae007590c622e5f7c228adacdca49 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Fri, 14 Jun 2024 10:11:36 +0800
Subject: [PATCH] 统一风格

---
 src/main/java/com/dji/sample/manage/service/impl/UserServiceImpl.java |   45 ++++++++++++++++++++++++---------------------
 1 files changed, 24 insertions(+), 21 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..abdb892 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;
 
@@ -52,7 +55,7 @@
         if (userEntity == null) {
             return ResponseResult.builder()
                     .code(HttpStatus.UNAUTHORIZED.value())
-                    .message("invalid username")
+                    .message("无效的用户名")
                     .build();
         }
 
@@ -69,16 +72,16 @@
         if (userEntity == null) {
             return ResponseResult.builder()
                     .code(HttpStatus.UNAUTHORIZED.value())
-                    .message("invalid username")
+                    .message("无效的用户名")
                     .build();
         }
         if (flag.intValue() != userEntity.getUserType().intValue()) {
-            return ResponseResult.error("The account type does not match.");
+            return ResponseResult.error("帐户类型不匹配");
         }
         if (!password.equals(userEntity.getPassword())) {
             return ResponseResult.builder()
                     .code(HttpStatus.UNAUTHORIZED.value())
-                    .message("invalid password")
+                    .message("无效的密码")
                     .build();
         }
 
@@ -86,7 +89,7 @@
         if (workspaceOpt.isEmpty()) {
             return ResponseResult.builder()
                     .code(HttpStatus.UNAUTHORIZED.value())
-                    .message("invalid workspace id")
+                    .message("无效的项目id")
                     .build();
         }
 
@@ -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