shan
This commit is contained in:
@@ -1,91 +0,0 @@
|
||||
package apimanager
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
)
|
||||
|
||||
const (
|
||||
FakeJdOrgCode = "fakejd"
|
||||
)
|
||||
|
||||
type VendorOrgCodePair struct {
|
||||
VendorID int
|
||||
AppOrgCode string
|
||||
}
|
||||
|
||||
type APIManager struct {
|
||||
}
|
||||
|
||||
var (
|
||||
CurAPIManager *APIManager
|
||||
)
|
||||
|
||||
func init() {
|
||||
globals.SugarLogger.Debug("init apimanager")
|
||||
CurAPIManager = &APIManager{}
|
||||
partner.InitAPIManager(CurAPIManager)
|
||||
}
|
||||
|
||||
func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{}) {
|
||||
switch vendorID {
|
||||
case model.VendorIDJD:
|
||||
pfAPI = api.JdAPI
|
||||
if appOrgCode == FakeJdOrgCode {
|
||||
pfAPI = api.FakeJdAPI
|
||||
} else if appOrgCode != "" && appOrgCode == globals.Jd2OrgCode {
|
||||
pfAPI = api.Jd2API
|
||||
} else if appOrgCode != "" && appOrgCode == globals.Jd3OrgCode {
|
||||
pfAPI = api.Jd3API
|
||||
}
|
||||
case model.VendorIDMTWM:
|
||||
pfAPI = api.MtwmAPI
|
||||
case model.VendorIDEBAI:
|
||||
pfAPI = api.EbaiAPI
|
||||
}
|
||||
return pfAPI
|
||||
}
|
||||
|
||||
// TODO
|
||||
func (a *APIManager) GetAppOrgCodeList(vendorID int) (appOrgCodeList []string) {
|
||||
switch vendorID {
|
||||
case model.VendorIDJD:
|
||||
appOrgCodeList = jxutils.BatchString2Slice(globals.JdOrgCode, globals.Jd2OrgCode, globals.Jd3OrgCode)
|
||||
case model.VendorIDMTWM:
|
||||
appOrgCodeList = []string{api.MtwmAPI.GetAppID()}
|
||||
case model.VendorIDEBAI:
|
||||
appOrgCodeList = []string{api.EbaiAPI.GetSource()}
|
||||
}
|
||||
return appOrgCodeList
|
||||
}
|
||||
|
||||
func (a *APIManager) GetVendorOrgCodeList(vendorIDs []int, appOrgCodes []string) (vendorOrgCodeList []*VendorOrgCodePair) {
|
||||
if len(vendorIDs) == 0 {
|
||||
vendorIDs = partner.GetMultiStoreVendorIDs()
|
||||
}
|
||||
appOrgCodeMap := jxutils.StringList2Map(appOrgCodes)
|
||||
for _, vendorID := range vendorIDs {
|
||||
tmpOrgCodeList := a.GetAppOrgCodeList(vendorID)
|
||||
for _, v := range tmpOrgCodeList {
|
||||
if len(appOrgCodes) == 0 || appOrgCodeMap[v] == 1 {
|
||||
vendorOrgCodeList = append(vendorOrgCodeList, &VendorOrgCodePair{
|
||||
VendorID: vendorID,
|
||||
AppOrgCode: v,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
return vendorOrgCodeList
|
||||
}
|
||||
|
||||
func GetVendorOrgCodeMap(ctx *jxcontext.Context) (vendorOrgCodeMap map[int][]string) {
|
||||
vendorOrgCodeMap = make(map[int][]string)
|
||||
for _, vendorID := range partner.GetPurchasePlatformVendorIDs() {
|
||||
vendorOrgCodeMap[vendorID] = CurAPIManager.GetAppOrgCodeList(vendorID)
|
||||
}
|
||||
return vendorOrgCodeMap
|
||||
}
|
||||
Reference in New Issue
Block a user