From 3cf3c9ddfe2bb778b0e47abaa9bbce9f957189d7 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 28 Aug 2019 11:41:04 +0800 Subject: [PATCH] + apimanager --- business/model/api_config.go | 30 +++++++++++++++++++++++++++ globals/api/api.go | 16 -------------- globals/api/apimanager/apimanager.go | 31 ++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 16 deletions(-) create mode 100644 globals/api/apimanager/apimanager.go diff --git a/business/model/api_config.go b/business/model/api_config.go index 208d9eb12..6b4561217 100644 --- a/business/model/api_config.go +++ b/business/model/api_config.go @@ -5,6 +5,7 @@ const ( VendorTypeUnknown = 0 // 未知 VendorTypePurchase = 1 // 购物平台 VendorTypeDelivery = 2 // 快递平台 + VendorTypePrinter = 3 // 网络打印机 VendorTypeOthers = 9 // 其它 VendorIDUnknown = -1 @@ -128,6 +129,35 @@ var ( Value2Name: "Secret", Value3Name: "管理后台Cookie", }, + + // VendorIDDada: &VendorInfo{ + // Name: "达达快递", + // OrgCodeName: "商户ID", + // Value1Name: "app_key", + // Value2Name: "app_secret", + // }, + // VendorIDMTPS: &VendorInfo{ + // Name: "美团配送", + // OrgCodeName: "自编码", + // Value1Name: "Appkey", + // Value2Name: "Secret", + // }, + + // VendorIDFeiE: &VendorInfo{ + // Name: "飞鹅", + // OrgCodeName: "User", + // Value1Name: "Key", + // }, + // VendorIDXiaoWM: &VendorInfo{ + // Name: "外卖管家", + // OrgCodeName: "AppID", + // Value1Name: "AppKey", + // }, + // VendorIDYiLianYun: &VendorInfo{ + // Name: "易联云", + // OrgCodeName: "ClientID", + // Value1Name: "ClientSecret", + // }, } ) diff --git a/globals/api/api.go b/globals/api/api.go index 3e3e050eb..c94f55425 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -22,18 +22,12 @@ import ( "git.rosy.net.cn/baseapi/platformapi/zhongwuapi" "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/business/model" "github.com/astaxie/beego" "github.com/qiniu/api.v7/auth/qbox" ) -type APIManager struct { -} - var ( - curAPIManager *APIManager - JdAPI *jdapi.API JdPageAPI *jdapi.API ElmAPI *elmapi.API @@ -65,22 +59,12 @@ var ( Cacher cache.ICacher ) -func (a *APIManager) GetAPI(vendorID int, name string) (pfAPI interface{}) { - if vendorID == model.VendorIDJD { - pfAPI = JdAPI - } - return pfAPI -} - func init() { Init() // 这里必须要调用 } // 这样写的原因是在测试时,可以重新读取配置文件 func Init() { - curAPIManager = &APIManager{} - // partner.InitAPIManager(curAPIManager) - if !beego.AppConfig.DefaultBool("disableJd", false) { JdAPI = jdapi.New(beego.AppConfig.String("jdToken"), beego.AppConfig.String("jdAppKey"), beego.AppConfig.String("jdSecret")) cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "") diff --git a/globals/api/apimanager/apimanager.go b/globals/api/apimanager/apimanager.go new file mode 100644 index 000000000..b8a724239 --- /dev/null +++ b/globals/api/apimanager/apimanager.go @@ -0,0 +1,31 @@ +package apimanager + +import ( + "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/partner" + "git.rosy.net.cn/jx-callback/globals/api" +) + +type APIManager struct { +} + +var ( + curAPIManager *APIManager +) + +func init() { + curAPIManager = &APIManager{} + partner.InitAPIManager(curAPIManager) +} + +func (a *APIManager) GetAPI(vendorID int, name string) (pfAPI interface{}) { + switch vendorID { + case model.VendorIDJD: + pfAPI = api.JdAPI + case model.VendorIDMTWM: + pfAPI = api.MtwmAPI + case model.VendorIDEBAI: + pfAPI = api.EbaiAPI + } + return pfAPI +}