diff --git a/business/jxutils/tasks/configrefresh.go b/business/jxutils/tasks/configrefresh.go index 4c34e4409..c9d3f5573 100644 --- a/business/jxutils/tasks/configrefresh.go +++ b/business/jxutils/tasks/configrefresh.go @@ -74,7 +74,7 @@ func RefreshConfig(configKey string, expiresTime time.Duration, configGetter fun handleType = 2 } else { configSetter(curConfig.Token) - if curConfig.Date <= utils.Time2Str(time.Now().Add(-needRefreshGap)) { + if curConfig.Date <= utils.Time2Str(time.Now().Add(-needRefreshGap)) || IsGetWXTokenFromRemote() { handleType = 1 } } @@ -134,11 +134,12 @@ func RefreshWeixinToken() (err error) { globals.SugarLogger.Errorf("RefreshWeixinToken RefreshToken failed with error:%v", err) } } else { - tokenInfo := getWXTokenFromProd(api.WeixinAPI.CBGetToken()) - if !tokenInfo.IsNew { - expireTimeStr = utils.Time2Str(time.Now().Add(-weixinTokenExpires)) + if tokenInfo := getWXTokenFromRemote(api.WeixinAPI.CBGetToken()); tokenInfo != nil { + if !tokenInfo.IsNew { + expireTimeStr = utils.Time2Str(time.Now().Add(-weixinTokenExpires)) + } + token = tokenInfo.Token } - token = tokenInfo.Token } } return token, expireTimeStr @@ -249,8 +250,8 @@ func RefreshYilianyunToken() (err error) { }) } -func getWXTokenFromProd(oldToken string) (tokenInfo *syseventhub.WXTokenInfo) { - if globals.GetWeixinTokenKey != "" && globals.GetWeixinTokenURL != "" { +func getWXTokenFromRemote(oldToken string) (tokenInfo *syseventhub.WXTokenInfo) { + if IsGetWXTokenFromRemote() { for { waitSecond := 5 * 60 globals.SugarLogger.Debugf("getWXTokenFromProd1") @@ -287,3 +288,7 @@ func getWXTokenFromProd(oldToken string) (tokenInfo *syseventhub.WXTokenInfo) { } return tokenInfo } + +func IsGetWXTokenFromRemote() bool { + return !globals.IsMainProductEnv() && globals.GetWeixinTokenKey != "" && globals.GetWeixinTokenURL != "" +} diff --git a/globals/globals.go b/globals/globals.go index eab441301..117aa7758 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -84,6 +84,10 @@ func IsCallbackAlwaysReturnSuccess() bool { return beego.BConfig.RunMode == "beta" } -func IsProductEnv() bool { - return beego.BConfig.RunMode == "prod" || beego.BConfig.RunMode == "jxgy" +func IsMainProductEnv() bool { + return beego.BConfig.RunMode == "prod" +} + +func IsProductEnv() bool { + return IsMainProductEnv() || beego.BConfig.RunMode == "jxgy" }