xyxie 2 viikkoa sitten
vanhempi
commit
84c72d55cc
2 muutettua tiedostoa jossa 8 lisäystä ja 7 poistoa
  1. 1 1
      controllers/kpler.go
  2. 7 6
      services/kpler/kpler.go

+ 1 - 1
controllers/kpler.go

@@ -115,7 +115,7 @@ func (this *KplerController) GetZoneData() {
 		// br.ErrMsg = fmt.Sprintf("参数解析失败, %v", e)
 		// return
 	}
-	token, err := kpler.GetKplerAccessToken()
+	token, err := kpler.GetKplerAccessToken(false)
 	if err != nil {
 		br.Msg = "获取token失败"
 		br.ErrMsg = fmt.Sprintf("获取token失败, %v", err)

+ 7 - 6
services/kpler/kpler.go

@@ -11,14 +11,14 @@ import (
 )
 
 func GetProducts() (products []models.KplerProduct, err error) {
-	token, err := GetKplerAccessToken()
+	token, err := GetKplerAccessToken(false)
 	if err != nil {
 		return nil, err
 	}
 	products, err = GetProductsByApi(token)
 	if err != nil {
 		if err.Error() == "Unauthorized" {
-			token, err = GetKplerAccessToken()
+			token, err = GetKplerAccessToken(true)
 			if err != nil {
 				return 
 			}
@@ -59,7 +59,7 @@ func GetKplerData(req models.KplerFlowDataLibReq) (ret *models.KplerFlowDataResp
 // 		EndDate: endDate,
 // 		Products: products,
 // 	}
-    token, err := GetKplerAccessToken()
+    token, err := GetKplerAccessToken(false)
 	if err != nil {
 		return nil, err
 	}
@@ -67,7 +67,7 @@ func GetKplerData(req models.KplerFlowDataLibReq) (ret *models.KplerFlowDataResp
 	if err != nil {
 		fmt.Println("GetKplerDataByApi error", err)
 		if err.Error() == "Unauthorized" {
-			token, err = GetKplerAccessToken()
+			token, err = GetKplerAccessToken(true)
 			if err != nil {
 				err = fmt.Errorf("获取开普勒API-AccessToken失败, %v", err)
 				return
@@ -85,7 +85,7 @@ func GetKplerData(req models.KplerFlowDataLibReq) (ret *models.KplerFlowDataResp
 }
 
 // GetKplerAccessToken 获取登录凭证
-func GetKplerAccessToken() (token string, err error) {
+func GetKplerAccessToken(forceRefresh bool) (token string, err error) {
 	defer func() {
 		if err != nil {
 			go alarm_msg.SendAlarmMsg("获取开普勒的登录凭证失败,ERR:"+err.Error(), 3)
@@ -95,7 +95,7 @@ func GetKplerAccessToken() (token string, err error) {
 	cacheClient := utils.CacheClient
 	tokenTmp, ok := cacheClient.Get(redisKey)
 	//如果从redis中accessToken 获取失败或者token为空了,再或者需要强制刷新了,那么重新获取accessToken
-	if !ok {
+	if !ok || forceRefresh {
 		token, err = refreshKplerAccessToken(cacheClient,redisKey)
 		return
 	}
@@ -104,6 +104,7 @@ func GetKplerAccessToken() (token string, err error) {
 		token, err = refreshKplerAccessToken(cacheClient,redisKey)
 		return
 	}
+	token = tokenTmp.(string)
 	return
 }