Преглед на файлове

更新Session初始化逻辑

woody преди 1 година
родител
ревизия
fafc22c612
променени са 1 файла, в които са добавени 26 реда и са изтрити 7 реда
  1. 26 7
      framework-base/src/main/java/com/chelvc/framework/base/context/SessionContextHolder.java

+ 26 - 7
framework-base/src/main/java/com/chelvc/framework/base/context/SessionContextHolder.java

@@ -21,8 +21,7 @@ import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.common.util.StringUtils;
 import com.fasterxml.jackson.core.JsonEncoding;
 import lombok.NonNull;
-import lombok.RequiredArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Component;
@@ -35,8 +34,8 @@ import org.springframework.web.context.request.ServletRequestAttributes;
  * @author Woody
  * @date 2024/1/30
  */
+@Slf4j
 @Component
-@RequiredArgsConstructor(onConstructor = @__(@Autowired))
 public class SessionContextHolder implements ServletRequestListener {
     /**
      * 会话上下文名称
@@ -183,7 +182,12 @@ public class SessionContextHolder implements ServletRequestListener {
      * @return 身份标识
      */
     public static Long getId(@NonNull HttpServletRequest request) {
-        return StringUtils.ifEmpty(request.getHeader(HEADER_ID), Long::parseLong);
+        try {
+            return StringUtils.ifEmpty(request.getHeader(HEADER_ID), Long::parseLong);
+        } catch (Exception e) {
+            log.warn("Id convert failed: {}", e.getMessage());
+        }
+        return null;
     }
 
     /**
@@ -278,7 +282,12 @@ public class SessionContextHolder implements ServletRequestListener {
      * @return 平台标识
      */
     public static Platform getPlatform(@NonNull HttpServletRequest request) {
-        return StringUtils.ifEmpty(request.getHeader(HEADER_PLATFORM), Platform::valueOf);
+        try {
+            return StringUtils.ifEmpty(request.getHeader(HEADER_PLATFORM), Platform::valueOf);
+        } catch (Exception e) {
+            log.warn("Platform convert failed: {}", e.getMessage());
+        }
+        return null;
     }
 
     /**
@@ -297,7 +306,12 @@ public class SessionContextHolder implements ServletRequestListener {
      * @return 终端标识
      */
     public static Terminal getTerminal(@NonNull HttpServletRequest request) {
-        return StringUtils.ifEmpty(request.getHeader(HEADER_TERMINAL), Terminal::valueOf);
+        try {
+            return StringUtils.ifEmpty(request.getHeader(HEADER_TERMINAL), Terminal::valueOf);
+        } catch (Exception e) {
+            log.warn("Terminal convert failed: {}", e.getMessage());
+        }
+        return null;
     }
 
     /**
@@ -356,7 +370,12 @@ public class SessionContextHolder implements ServletRequestListener {
      * @return 时间戳
      */
     public static Long getTimestamp(@NonNull HttpServletRequest request) {
-        return StringUtils.ifEmpty(request.getHeader(HEADER_TIMESTAMP), Long::parseLong);
+        try {
+            return StringUtils.ifEmpty(request.getHeader(HEADER_TIMESTAMP), Long::parseLong);
+        } catch (Exception e) {
+            log.warn("Timestamp convert failed: {}", e.getMessage());
+        }
+        return null;
     }
 
     /**