Procházet zdrojové kódy

新增获取当前会话相关信息工具方法

woody před 2 roky
rodič
revize
827e37ac1d

+ 120 - 0
framework-base/src/main/java/com/chelvc/framework/base/context/SessionContextHolder.java

@@ -159,6 +159,126 @@ public class SessionContextHolder implements ServletRequestListener {
         return ObjectUtils.ifNull(ObjectUtils.ifNull(getSession(true), function), defaultValue);
     }
 
+    /**
+     * 获取当前用户ID
+     *
+     * @return 用户ID
+     */
+    public static Long getId() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getId);
+    }
+
+    /**
+     * 获取当前会话类型
+     *
+     * @return 会话类型
+     */
+    public static Session.Type getType() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getType);
+    }
+
+    /**
+     * 获取当前会话请求地址
+     *
+     * @return 请求地址
+     */
+    public static String getHost() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getHost);
+    }
+
+    /**
+     * 获取当前会话设备标识
+     *
+     * @return 设备标识
+     */
+    public static String getDevice() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getDevice);
+    }
+
+    /**
+     * 获取当前会话租户编号
+     *
+     * @return 租户编号
+     */
+    public static Integer getTenant() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getTenant);
+    }
+
+    /**
+     * 获取当前会话渠道来源
+     *
+     * @return 渠道来源
+     */
+    public static String getChannel() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getChannel);
+    }
+
+    /**
+     * 判断当前会话是否是首次请求
+     *
+     * @return true/false
+     */
+    public static boolean isInitial() {
+        Session session = getSession(true);
+        return Boolean.TRUE.equals(ObjectUtils.ifNull(session, Session::getInitial));
+    }
+
+    /**
+     * 获取当前会话平台信息
+     *
+     * @return 平台信息
+     */
+    public static Platform getPlatform() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getPlatform);
+    }
+
+    /**
+     * 获取当前会话终端信息
+     *
+     * @return 终端信息
+     */
+    public static Terminal getTerminal() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getTerminal);
+    }
+
+    /**
+     * 获取当前会话版本信息
+     *
+     * @return 版本信息
+     */
+    public static String getVersion() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getVersion);
+    }
+
+    /**
+     * 获取当前会话签名信息
+     *
+     * @return 签名信息
+     */
+    public static String getSignature() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getSignature);
+    }
+
+    /**
+     * 获取当前终端序列号
+     *
+     * @return 序列号
+     */
+    public static Integer getSequence() {
+        Session session = getSession(true);
+        return ObjectUtils.ifNull(session, Session::getSequence);
+    }
+
     /**
      * 获取缓存对象
      *