diff --git a/business/enterprise/enterprise.go b/business/enterprise/enterprise.go index ec8802006..7b2d5c25c 100644 --- a/business/enterprise/enterprise.go +++ b/business/enterprise/enterprise.go @@ -5,25 +5,27 @@ import ( "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/model/legacymodel" + "git.rosy.net.cn/jx-callback/globals" + "strconv" ) -var EnterpriseSuite *enterprise_wechat.SuiteTicketInfo +var EnterpriseSuite = new(enterprise_wechat.SuiteTicketInfo) // 初始化加载全局变量 -//func init() { -// config := make([]*legacymodel.Config, 0) -// sql := `SELECT * FROM config WHERE thirdparty = ? ` -// if err := dao.GetRows(dao.GetDB(), config, sql, []interface{}{"enterprise"}); err != nil { -// globals.SugarLogger.Debugf("enterprice config err = ", err) -// } -// if len(config) >= model.YES { -// EnterpriseSuite.SuiteId = config[0].RefreshToken -// EnterpriseSuite.SuiteTicket = config[0].Token -// EnterpriseSuite.InfoType = "" -// time, _ := strconv.ParseInt(config[0].Date, 10, 64) -// EnterpriseSuite.TimeStamp = time -// } -//} +func Init() { + var config []*legacymodel.Config + sql := `SELECT * FROM config WHERE thirdparty = ? ` + if err := dao.GetRows(dao.GetDB(), &config, sql, []interface{}{"enterprise"}...); err != nil { + globals.SugarLogger.Debug("enterprice init config err = ", err) + } + if len(config) >= model.YES { + EnterpriseSuite.SuiteId = config[0].RefreshToken + EnterpriseSuite.SuiteTicket = config[0].Token + EnterpriseSuite.InfoType = "" + time, _ := strconv.ParseInt(config[0].Date, 10, 64) + EnterpriseSuite.TimeStamp = time + } +} func UpdateEnterpriseSuite(data *enterprise_wechat.SuiteTicketInfo) error { if data.SuiteTicket != "" && data.TimeStamp > 0 { diff --git a/controllers/enterprise_callback.go b/controllers/enterprise_callback.go index f904d6582..30024371c 100644 --- a/controllers/enterprise_callback.go +++ b/controllers/enterprise_callback.go @@ -1,7 +1,10 @@ package controllers import ( - call "git.rosy.net.cn/baseapi/utils/weworkapi_golang-master" + "git.rosy.net.cn/jx-callback/business/enterprise" + "git.rosy.net.cn/jx-callback/globals/api" + + //call "git.rosy.net.cn/baseapi/utils/weworkapi_golang-master" "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego/server/web" ) @@ -15,5 +18,16 @@ type EnterpriseController struct { // ,请参考接收消息解析数据包。 func (e *EnterpriseController) EnterpriseCallback() { globals.SugarLogger.Debug("=====") - call.VerifyURL(e.Ctx.ResponseWriter, e.Ctx.Request) + suite, err := api.EnterpriseChatHeadApi.GetEnterpriseMsg(e.Ctx.Request) + if err != nil { + globals.SugarLogger.Debug("EnterpriseCallback=======1", err) + e.Abort("404") + } else { + if err := enterprise.UpdateEnterpriseSuite(suite); err != nil { + globals.SugarLogger.Debug("EnterpriseCallback=======2", err) + } + } + e.Data["xml"] = "success" + e.ServeXML() + //call.VerifyURL(e.Ctx.ResponseWriter, e.Ctx.Request) } diff --git a/main.go b/main.go index 089f7e9ed..d7c9d3988 100644 --- a/main.go +++ b/main.go @@ -3,6 +3,7 @@ package main import ( "flag" "fmt" + "git.rosy.net.cn/jx-callback/business/enterprise" "net/http" _ "net/http/pprof" "os" @@ -86,6 +87,7 @@ func Init() { jdshop.CurPurchaseHandler.StartRefreshComment() } misc.Init() + enterprise.Init() // 初始化enterprise key } // 返回true表示非运行服务