From c2fccb01b972176dc3da5a497b5e904025e9e98d Mon Sep 17 00:00:00 2001
From: bsw215583320 <baoshiwei121@163.com>
Date: 星期二, 16 四月 2024 15:06:51 +0800
Subject: [PATCH] Merge branch 'master' of http://210.22.126.130:1111/r/dry/herb

---
 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java
new file mode 100644
index 0000000..88c4922
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java
@@ -0,0 +1,81 @@
+package org.jeecg.config.jimureport;
+
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.util.JwtUtil;
+import org.jeecg.common.system.vo.SysUserCacheInfo;
+import org.jeecg.common.util.RedisUtil;
+import org.jeecg.common.util.TokenUtils;
+import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
+import org.jeecg.modules.system.service.impl.SysBaseApiImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * 鑷畾涔夌Н鏈ㄦ姤琛ㄩ壌鏉�(濡傛灉涓嶈繘琛岃嚜瀹氫箟锛屽垯鎵�鏈夎姹備笉鍋氭潈闄愭帶鍒�)
+ *  * 1.鑷畾涔夎幏鍙栫櫥褰晅oken
+ *  * 2.鑷畾涔夎幏鍙栫櫥褰曠敤鎴�
+ * @author: jeecg-boot
+ */
+
+
+@Slf4j
+@Component
+public class JimuReportTokenService implements JmReportTokenServiceI {
+    @Autowired
+    private SysBaseApiImpl sysBaseApi;
+    @Autowired
+    @Lazy
+    private RedisUtil redisUtil;
+
+    @Override
+    public String getToken(HttpServletRequest request) {
+        return TokenUtils.getTokenByRequest(request);
+    }
+
+    @Override
+    public String getUsername(String token) {
+        return JwtUtil.getUsername(token);
+    }
+
+    @Override
+    public Boolean verifyToken(String token) {
+        return TokenUtils.verifyToken(token, sysBaseApi, redisUtil);
+    }
+
+    @Override
+    public String[] getRoles(String token) {
+        String username = JwtUtil.getUsername(token);
+        Set roles = sysBaseApi.getUserRoleSet(username);
+        if(CollectionUtils.isEmpty(roles)){
+            return null;
+        }
+        return (String[]) roles.toArray(new String[roles.size()]);
+    }
+
+    @Override
+    public Map<String, Object> getUserInfo(String token) {
+        Map<String, Object> map = new HashMap(5);
+        String username = JwtUtil.getUsername(token);
+        //姝ゅ閫氳繃token鍙兘鎷垮埌涓�涓俊鎭� 鐢ㄦ埛璐﹀彿  鍚庨潰鐨勫氨鏄牴鎹处鍙疯幏鍙栧叾浠栦俊鎭� 鏌ヨ鏁版嵁鎴栨槸璧皉edis 鐢ㄦ埛鏍规嵁鑷韩涓氬姟鍙嚜瀹氫箟
+        SysUserCacheInfo userInfo = null;
+        try {
+            userInfo = sysBaseApi.getCacheUser(username);
+        } catch (Exception e) {
+            log.error("鑾峰彇鐢ㄦ埛淇℃伅寮傚父:"+ e.getMessage());
+            return map;
+        }
+        //璁剧疆璐﹀彿鍚�
+        map.put(SYS_USER_CODE, userInfo.getSysUserCode());
+        //璁剧疆閮ㄩ棬缂栫爜
+        map.put(SYS_ORG_CODE, userInfo.getSysOrgCode());
+        // 灏嗘墍鏈変俊鎭瓨鏀捐嚦map 瑙f瀽sql/api浼氭牴鎹甿ap鐨勯敭鍊艰В鏋�
+        return map;
+    }
+}

--
Gitblit v1.9.3