- notify freshfood when weixin or elm token changed.

This commit is contained in:
gazebo
2018-06-30 07:26:58 +08:00
parent 941514d143
commit b35ec0ee91
3 changed files with 20 additions and 7 deletions

View File

@@ -81,6 +81,10 @@ const (
URL_FRESHFOOD_PARA_DMMOBILE = "dmMobile"
)
const (
URL_WX_UPDATE_ACCESSTOKEN = "weixin/accesstoken/update"
)
const (
JD_VENDERID = 0
ELM_VENDERID = 2
@@ -254,3 +258,11 @@ func (f *FreshFoodAPI) DadaOrderStatusChanged(msg *dadaapi.CallbackMsg) error {
return f.AccessFreshFood(URL_FRESHFOOD_DADADELIVERY_STATUS, params)
}
func (f *FreshFoodAPI) RefreshWeixinToken() error {
return f.AccessFreshFood(URL_WX_UPDATE_ACCESSTOKEN, nil)
}
func (f *FreshFoodAPI) RefreshElmToken() error {
return f.AccessFreshFood(URL_FRESHFOOD_ELEME_TOKENUPDATE, nil)
}

View File

@@ -28,7 +28,7 @@ type ElmTokenForCompatible struct {
Success bool `json:"success"`
}
func RefreshConfig(configKey string, expiresTime time.Duration, configGetter func() string, configSetter func(value string) bool) {
func RefreshConfig(configKey string, expiresTime time.Duration, configGetter func() string, configSetter func(value string)) {
go func() {
sleepGap := expiresTime / 10
needRefreshGap := expiresTime * 8 / 10
@@ -93,8 +93,9 @@ func RefreshWeixinToken() {
return tokenInfo.AccessToken
}
return ""
}, func(value string) bool {
return globals2.WeixinAPI.SetToken(value)
}, func(value string) {
globals2.WeixinAPI.SetToken(value)
globals2.FreshFoodAPI.RefreshWeixinToken()
})
}
@@ -113,12 +114,12 @@ func RefreshElmToken() {
return string(utils.MustMarshal(tokenInfo2))
}
return ""
}, func(value string) bool {
}, func(value string) {
var tokenInfo ElmTokenForCompatible
err := utils.UnmarshalUseNumber([]byte(value), &tokenInfo)
if err == nil {
return globals2.ElmAPI.SetToken(tokenInfo.AccessToken)
globals2.ElmAPI.SetToken(tokenInfo.AccessToken)
globals2.FreshFoodAPI.RefreshElmToken()
}
return false
})
}

View File

@@ -13,7 +13,7 @@ dadaAppKey = "dada9623324449cd250"
dadaAppSecret = "30c2abbfe8a8780ad5aace46300c64b9"
[dev]
freshFoodServerURL = "http://portal.alpha.int.jxc4.com"
freshFoodServerURL = "http://portal.beta.jxc4.com"
jdToken = "c8854ef2-f80a-45ee-aceb-dc8014d646f8"
jdAppKey = "06692746f7224695ad4788ce340bc854"