- refactor basesch, move register partner to partner.

This commit is contained in:
gazebo
2018-10-18 21:18:38 +08:00
parent 294786cb4b
commit 507fcf16d8
13 changed files with 84 additions and 94 deletions

View File

@@ -6,7 +6,6 @@ import (
"git.rosy.net.cn/baseapi/platformapi/dadaapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
@@ -33,7 +32,7 @@ type DeliveryHandler struct {
func init() {
curDeliveryHandler = new(DeliveryHandler)
scheduler.CurrentScheduler.RegisterDeliveryPlatform(curDeliveryHandler, true)
partner.RegisterDeliveryPlatform(curDeliveryHandler, true)
}
func OnWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaapi.CallbackResponse) {

View File

@@ -8,7 +8,6 @@ import (
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
@@ -35,7 +34,7 @@ type DeliveryHandler struct {
func init() {
curDeliveryHandler = new(DeliveryHandler)
scheduler.CurrentScheduler.RegisterDeliveryPlatform(curDeliveryHandler, true)
partner.RegisterDeliveryPlatform(curDeliveryHandler, true)
}
func (c *DeliveryHandler) GetVendorID() int {

View File

@@ -2,6 +2,7 @@ package partner
import (
"errors"
"fmt"
"time"
"git.rosy.net.cn/jx-callback/business/model"
@@ -31,6 +32,9 @@ var (
var (
CurOrderManager IOrderManager
PurchasePlatformHandlers map[int]IPurchasePlatformHandler
DeliveryPlatformHandlers map[int]*DeliveryPlatformHandlerInfo
)
type IOrderManager interface {
@@ -116,6 +120,55 @@ type IDeliveryPlatformHandler interface {
GetVendorID() int
}
type DeliveryPlatformHandlerInfo struct {
Handler IDeliveryPlatformHandler
Use4CreateWaybill bool
}
type BasePurchasePlatform struct {
}
func (p *BasePurchasePlatform) GetStatusActionTimeout(statusType, status int) time.Duration {
return 0
}
func init() {
PurchasePlatformHandlers = make(map[int]IPurchasePlatformHandler)
DeliveryPlatformHandlers = make(map[int]*DeliveryPlatformHandlerInfo)
}
func Init(curOrderManager IOrderManager) {
CurOrderManager = curOrderManager
}
func RegisterPurchasePlatform(handler IPurchasePlatformHandler) {
vendorID := handler.GetVendorID()
if !(vendorID >= model.VendorIDPurchaseBegin && vendorID <= model.VendorIDPurchaseEnd) {
panic(fmt.Sprintf("purchase vendor:%d is illegal", vendorID))
}
if _, ok := PurchasePlatformHandlers[vendorID]; ok {
panic(fmt.Sprintf("purchase vendor:%d, already exists", vendorID))
}
PurchasePlatformHandlers[vendorID] = handler
}
func RegisterDeliveryPlatform(handler IDeliveryPlatformHandler, isUse4CreateWaybill bool) {
vendorID := handler.GetVendorID()
if !(vendorID >= model.VendorIDDeliveryBegin && vendorID <= model.VendorIDDeliveryEnd) {
panic(fmt.Sprintf("delivery vendor:%d is illegal", vendorID))
}
if _, ok := DeliveryPlatformHandlers[vendorID]; ok {
panic(fmt.Sprintf("delivery vendor:%d, already exists", vendorID))
}
DeliveryPlatformHandlers[vendorID] = &DeliveryPlatformHandlerInfo{
Handler: handler,
Use4CreateWaybill: isUse4CreateWaybill,
}
}
func GetPurchasePlatformFromVendorID(vendorID int) IPurchasePlatformHandler {
return PurchasePlatformHandlers[vendorID]
}
func GetDeliveryPlatformFromVendorID(vendorID int) *DeliveryPlatformHandlerInfo {
return DeliveryPlatformHandlers[vendorID]
}

View File

@@ -2,8 +2,8 @@ package ebai
import (
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/partner"
)
var (
@@ -11,12 +11,12 @@ var (
)
type PurchaseHandler struct {
scheduler.BasePurchasePlatform
partner.BasePurchasePlatform
}
func init() {
curPurchaseHandler = new(PurchaseHandler)
scheduler.CurrentScheduler.RegisterPurchasePlatform(curPurchaseHandler)
partner.RegisterPurchasePlatform(curPurchaseHandler)
}
func EbaiBusStatus2JxStatus(ebaiStatus int) int {

View File

@@ -3,9 +3,9 @@ package elm
import (
"git.rosy.net.cn/baseapi/platformapi/elmapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/partner"
)
var (
@@ -13,12 +13,12 @@ var (
)
type PurchaseHandler struct {
scheduler.BasePurchasePlatform
partner.BasePurchasePlatform
}
func init() {
curPurchaseHandler = new(PurchaseHandler)
scheduler.CurrentScheduler.RegisterPurchasePlatform(curPurchaseHandler)
partner.RegisterPurchasePlatform(curPurchaseHandler)
}
func (c *PurchaseHandler) GetVendorID() int {

View File

@@ -3,8 +3,8 @@ package jd
import (
"git.rosy.net.cn/baseapi/platformapi/jdapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/partner"
)
var (
@@ -12,12 +12,12 @@ var (
)
type PurchaseHandler struct {
scheduler.BasePurchasePlatform
partner.BasePurchasePlatform
}
func init() {
curPurchaseHandler = new(PurchaseHandler)
scheduler.CurrentScheduler.RegisterPurchasePlatform(curPurchaseHandler)
partner.RegisterPurchasePlatform(curPurchaseHandler)
}
func (c *PurchaseHandler) GetVendorID() int {