diff --git a/business/jxutils/tasks/configrefresh.go b/business/jxutils/tasks/configrefresh.go index 54c8ae898..dac02dda5 100644 --- a/business/jxutils/tasks/configrefresh.go +++ b/business/jxutils/tasks/configrefresh.go @@ -42,7 +42,7 @@ type CallResult struct { Data string `json:"data"` } -func RefreshConfig(configKey string, expiresTime time.Duration, configGetter func() (string, string), configSetter func(value string)) error { +func RefreshConfig(configKey string, expiresTime time.Duration, configGetter func() (string, string), configSetter func(value, value2 string)) error { needRefreshGap := expiresTime * 8 / 10 sleepGap := expiresTime / 10 if sleepGap > maxRefreshGap { @@ -64,7 +64,7 @@ func RefreshConfig(configKey string, expiresTime time.Duration, configGetter fun } handleType = 2 } else { - configSetter(curConfig.Token) + configSetter(curConfig.Token, curConfig.RefreshToken) if curConfig.Date <= utils.Time2Str(time.Now().Add(-needRefreshGap)) { handleType = 1 } @@ -79,7 +79,7 @@ func RefreshConfig(configKey string, expiresTime time.Duration, configGetter fun } return sleepDuration } - configSetter(curConfig.Token) + configSetter(curConfig.Token, curConfig.RefreshToken) if curConfig.Date == "" { curConfig.Date = utils.GetCurTimeStr() } else { @@ -89,7 +89,7 @@ func RefreshConfig(configKey string, expiresTime time.Duration, configGetter fun var err error if handleType == 1 { - num, err = db.Update(curConfig, "Token", "Date") + num, err = db.Update(curConfig, "Token", "Date", "RefreshToken") } else { num, err = db.Insert(curConfig) } @@ -131,7 +131,7 @@ func RefreshWeixinToken() (err error) { } } return token, expireTimeStr - }, func(value string) { + }, func(value, v2 string) { globals.SugarLogger.Debugf("RefreshWeixinToken setter value:%s", value) syseventhub.SysEventHub.OnNewWXToken(value) api.WeixinAPI.CBSetToken(value) @@ -145,22 +145,31 @@ func RefreshFnToken() (err error) { globals.SugarLogger.Debugf("=================初始化accesstoken") err = RefreshConfig("fn", fnTokenExpires, func() (token string, expireTimeStr string) { globals.SugarLogger.Debugf("RefreshFnToken RunMode:%s", beego.BConfig.RunMode) - if globals.IsMainProductEnv() { - globals.SugarLogger.Debugf("11====================111") - if tokenInfo, err := api.FnAPI.GetAccessToken(); err == nil { - globals.SugarLogger.Debugf("RefreshFnToken tokenInfo:%s", utils.Format4Output(tokenInfo, true)) - token = tokenInfo.BusinessDataObj.AccessToken - } else { - globals.SugarLogger.Errorf("RefreshFnToken RefreshToken failed with error:%v", err) - } - sql := ` - UPDATE jxgy.config SET token = ? WHERE thirdparty = ? - ` - sqlParams := []interface{}{ - token, "fn", - } - dao.ExecuteSQL(dao.GetDB(), sql, sqlParams) + //if globals.IsMainProductEnv() { + globals.SugarLogger.Debugf("11====================111") + var refeshToken string + //sql1 := `SELECT * FROM jxgy.config WHERE thirdparty = "fn"` + //curConfig := &legacymodel.Config{ + // Thirdparty: "fn", + //} + //dao. + //db := orm.NewOrm() + //db.Read(curConfig, "Thirdparty"); + if tokenInfo, err := api.FnAPI.GetAccessToken(); err == nil { + globals.SugarLogger.Debugf("RefreshFnToken tokenInfo:%s", utils.Format4Output(tokenInfo, true)) + token = tokenInfo.BusinessDataObj.AccessToken + refeshToken = tokenInfo.BusinessDataObj.RefreshToken + } else { + globals.SugarLogger.Errorf("RefreshFnToken RefreshToken failed with error:%v", err) } + sql := ` + UPDATE jxgy.config SET token = ?,refresh_token = ? WHERE thirdparty = ? + ` + sqlParams := []interface{}{ + token, refeshToken, "fn", + } + dao.ExecuteSQL(dao.GetDB(), sql, sqlParams) + //} if beego.BConfig.RunMode == "jxgy" { config := &legacymodel.Config{} sql := ` @@ -171,10 +180,11 @@ func RefreshFnToken() (err error) { } } return token, expireTimeStr - }, func(value string) { + }, func(value, v2 string) { globals.SugarLogger.Debugf("RefreshFnToken setter value:%s", value) // syseventhub.SysEventHub.OnNewWXToken(value) api.FnAPI.SetToken(value) + api.FnAPI.SetRefreshToken(value) }) } return err @@ -193,7 +203,7 @@ func RefreshQywxToken() (err error) { } } return token, expireTimeStr - }, func(value string) { + }, func(value, v2 string) { globals.SugarLogger.Debugf("RefreshQywxToken setter value:%s", value) api.QywxAPI.SetToken(value) }) @@ -219,7 +229,7 @@ func RefreshWeixin2Token() (err error) { } } return token, expireTimeStr - }, func(value string) { + }, func(value, v2 string) { globals.SugarLogger.Debugf("RefreshWeixinToken setter value:%s", value) syseventhub.SysEventHub.OnNewWX2Token(value) api.WeixinMiniAPI2.CBSetToken(value) @@ -246,7 +256,7 @@ func RefreshPushToken() (err error) { } } return token, expireTimeStr - }, func(value string) { + }, func(value, v2 string) { globals.SugarLogger.Debugf("RefreshPushToken setter value:%s", value) syseventhub.SysEventHub.OnNewPushToken(value) api.PushAPI.CBSetToken(value) @@ -303,7 +313,7 @@ func RefreshWeimobToken() (err error) { } } return token, expireTimeStr - }, func(value string) { + }, func(value, v2 string) { var tokenInfo *weimobapi.TokenInfo err := utils.UnmarshalUseNumber([]byte(value), &tokenInfo) if err == nil { @@ -328,7 +338,7 @@ func RefreshDingDingToken() (err error) { } } return "", "" - }, func(value string) { + }, func(value, v2 string) { api.DingDingAPI.SetToken(value) }) } @@ -360,7 +370,7 @@ func RefreshYilianyunToken() (err error) { } } return token, expireTimeStr - }, func(value string) { + }, func(value, v2 string) { token := value var tokenInfo *yilianyunapi.TokenInfo if err := utils.TryUnmarshalUseNumber([]byte(value), &tokenInfo); err == nil { diff --git a/business/model/legacymodel/config.go b/business/model/legacymodel/config.go index b0ab1ef26..2a7d2cd0f 100644 --- a/business/model/legacymodel/config.go +++ b/business/model/legacymodel/config.go @@ -4,6 +4,7 @@ type Config struct { Id int Thirdparty string `orm:"size(20);unique" json:"key"` Token string `orm:"size(300)" json:"value"` + RefreshToken string `orm:"size(300)" json:"value"` Date string `orm:"size(30)" json:"date"` LastOperator string `orm:"size(32)" json:"lastOperator"` // 最后操作员 } diff --git a/globals/globals.go b/globals/globals.go index 42b677fee..6914e1405 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -169,8 +169,7 @@ func IsCallbackAlwaysReturnSuccess() bool { } func IsMainProductEnv() bool { - //return web.BConfig.RunMode == "prod" - return web.BConfig.RunMode == "beta" + return web.BConfig.RunMode == "prod" } func IsProductEnv() bool {