Sfoglia il codice sorgente

结算中心模块-工具类完善

ZhangWenQiang 5 anni fa
parent
commit
9841ea71cc

+ 53 - 8
happy-boot-module-settlement/src/main/java/org/jeecg/common/utils/OauthTokenUtils.java

@@ -1,6 +1,10 @@
 package org.jeecg.common.utils;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.jeecg.common.util.SpringContextUtils;
+import org.jeecg.modules.hlgclient.entity.HlgClientToken;
+import org.jeecg.modules.hlgclient.service.IHlgClientTokenService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -12,6 +16,8 @@ import org.slf4j.LoggerFactory;
 public class OauthTokenUtils {
     private static Logger log = LoggerFactory.getLogger(OauthTokenUtils.class);
 
+    private static IHlgClientTokenService hlgClientTokenService = SpringContextUtils.getBean(IHlgClientTokenService.class);
+
     /**
      * 获取凭证accesstoken
      *
@@ -47,22 +53,61 @@ public class OauthTokenUtils {
     }
 
     /**
-     * 日常accesstoken验证
+     * 验证access_token是否有效
      *
      * @param token
      * @return
      */
     public static boolean tokenIsvalid(String token) {
         boolean isValid = false;
-        JSONObject jsonObject = checkAccessToken(token);
-        log.info("checkToken=============,{}", jsonObject);
-        if (jsonObject != null) {
-            if (jsonObject.getBoolean("success")) {
-                JSONObject jsonObject1 = jsonObject.getJSONObject("result");
-                log.info("isValid=============,{}", jsonObject1.getBoolean("active"));
-                isValid = jsonObject1.getBoolean("active");
+        try {
+            if (token != null) {
+                JSONObject jsonObject = checkAccessToken(token);
+                log.info("checkToken=============,{}", jsonObject);
+                if (jsonObject != null) {
+                    if (jsonObject.getBoolean("success")) {
+                        JSONObject jsonObject1 = jsonObject.getJSONObject("result");
+                        log.info("isValid=============,{}", jsonObject1.getBoolean("active"));
+                        isValid = jsonObject1.getBoolean("active");
+                    }
+                }
             }
+        } catch (Exception e) {
+            e.printStackTrace();
         }
         return isValid;
     }
+
+
+    /**
+     * 日常获取凭证accesstoken
+     *
+     * @return
+     */
+    public static String getDayAccessToken() {
+        String accessToken = "";
+        try {
+            QueryWrapper<HlgClientToken> queryWrapper = new QueryWrapper<>();
+            HlgClientToken hlgClientToken = hlgClientTokenService.getOne(queryWrapper);
+            if (hlgClientToken != null) {
+                accessToken = hlgClientToken.getAccessToken();
+            } else {
+                JSONObject jsonObject = getAccessToken();
+                if (jsonObject != null) {
+                    if (jsonObject.getBoolean("success")) {
+                        JSONObject jsonObject1 = jsonObject.getJSONObject("result");
+                        log.info("accessToken=============,{}", jsonObject1.getString("accessToken"));
+                        accessToken = jsonObject1.getString("accessToken");
+                        //保存accessToken表信息
+                        hlgClientToken.setAccessToken(accessToken);
+                        hlgClientToken.setExpiresIn(jsonObject1.getInteger("expiresIn"));
+                        hlgClientTokenService.save(hlgClientToken);
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return accessToken;
+    }
 }