From edaf3127952b28139cc46250423e373f09443807 Mon Sep 17 00:00:00 2001 From: gazebo Date: Sat, 9 Mar 2019 11:18:53 +0800 Subject: [PATCH] - delay call dingding RegisterCallback --- business/jxutils/tasks/configrefresh.go | 1 + globals/api/api.go | 5 ----- main.go | 9 +++++++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/business/jxutils/tasks/configrefresh.go b/business/jxutils/tasks/configrefresh.go index e34b119cf..641138572 100644 --- a/business/jxutils/tasks/configrefresh.go +++ b/business/jxutils/tasks/configrefresh.go @@ -164,6 +164,7 @@ func RefreshWeimobToken() error { } func RefreshDingDingToken() error { + api.DingDingAPI.RetrieveToken() return RefreshConfig("dingding", dingdingTokenExpires, func() (string, string) { globals.SugarLogger.Debugf("RefreshDingDingToken RunMode:%s", beego.BConfig.RunMode) if beego.BConfig.RunMode == "prod" { diff --git a/globals/api/api.go b/globals/api/api.go index fdb1b4064..c23eff8db 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -17,7 +17,6 @@ import ( "git.rosy.net.cn/baseapi/platformapi/weixinapi" "git.rosy.net.cn/jx-callback/business/jxutils/cache" "git.rosy.net.cn/jx-callback/business/jxutils/cache/redis" - "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego" "github.com/qiniu/api.v7/auth/qbox" @@ -92,10 +91,6 @@ func Init() { WeimobAPI = weimobapi.New(nil, beego.AppConfig.DefaultString("weimobAppID", ""), beego.AppConfig.DefaultString("weimobAppSecret", ""), &weimobAPIConfig) DingDingAPI = dingdingapi.New(beego.AppConfig.DefaultString("dingdingAppKey", ""), beego.AppConfig.DefaultString("dingdingSecret", "")) - DingDingAPI.RetrieveToken() - if err := DingDingAPI.RegisterCallback([]string{dingdingapi.CBTagUserAddOrg, dingdingapi.CBTagUserModifyOrg, dingdingapi.CBTagUserLeaveOrg}, beego.AppConfig.DefaultString("dingdingCallbackToken", ""), beego.AppConfig.DefaultString("dingdingCallbackAESKey", ""), beego.AppConfig.DefaultString("dingdingCallbackURL", "")); err != nil { - globals.SugarLogger.Warnf("dingding RegisterCallback failed with error:%v", err) - } DingDingQRCodeAPI = dingdingapi.New(beego.AppConfig.DefaultString("dingdingQRCodeAppKey", ""), beego.AppConfig.DefaultString("dingdingQRCodeSecret", "")) } diff --git a/main.go b/main.go index 06e9e9d08..5b6c209e4 100644 --- a/main.go +++ b/main.go @@ -4,7 +4,9 @@ import ( "flag" "fmt" "os" + "time" + "git.rosy.net.cn/baseapi/platformapi/dingdingapi" "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch" // 导入缺省订单调度器 "git.rosy.net.cn/jx-callback/business/jxstore/cms" @@ -99,6 +101,13 @@ func main() { } orderman.LoadPendingOrders() + // 延时的原因是等回调准备好 + time.AfterFunc(5*time.Second, func() { + if err := api.DingDingAPI.RegisterCallback([]string{dingdingapi.CBTagUserAddOrg, dingdingapi.CBTagUserModifyOrg, dingdingapi.CBTagUserLeaveOrg}, beego.AppConfig.DefaultString("dingdingCallbackToken", ""), beego.AppConfig.DefaultString("dingdingCallbackAESKey", ""), beego.AppConfig.DefaultString("dingdingCallbackURL", "")); err != nil { + globals.SugarLogger.Warnf("dingding RegisterCallback failed with error:%v", err) + } + }) + if beego.BConfig.RunMode != "prod" { beego.BConfig.WebConfig.DirectoryIndex = true beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"