- 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

@@ -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]
}