ceshi
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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"` // 最后操作员
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user