- all call CallFuncLogError add order info
- callLegacyMsgHandler, callNewMsgHandler and generateLegacyJxOrder config - call legacy lefted msg handler in new process(elm urge order and bad comment on jd)
This commit is contained in:
@@ -5,7 +5,9 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -25,15 +27,15 @@ type StatusActionConfig struct {
|
||||
}
|
||||
|
||||
type PurchasePlatformHandler interface {
|
||||
GetOrder(vendorOrderID string) (order *model.GoodsOrder, err error)
|
||||
GetStatusActionConfig(status int) *StatusActionConfig
|
||||
|
||||
AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool) (err error)
|
||||
PickedUpGoods(order *model.GoodsOrder) (err error)
|
||||
|
||||
Swtich2SelfDeliver(vendorOrderID string) (err error)
|
||||
|
||||
Swtich2SelfDeliver(order *model.GoodsOrder) (err error)
|
||||
SelfDeliverDelievering(order *model.GoodsOrder) (err error)
|
||||
SelfDeliverDelievered(order *model.GoodsOrder) (err error)
|
||||
|
||||
GetStatusActionConfig(status int) *StatusActionConfig
|
||||
}
|
||||
|
||||
type DeliveryPlatformHandler interface {
|
||||
@@ -43,7 +45,7 @@ type DeliveryPlatformHandler interface {
|
||||
|
||||
type OrderManager interface {
|
||||
LoadOrder(vendorOrderID string, vendorID int) (order *model.GoodsOrder, err error)
|
||||
OnOrderStatusChanged(status *model.OrderStatus) (err error) // 此消息是否使用还不确定
|
||||
// OnOrderStatusChanged(status *model.OrderStatus) (err error) // 此消息是否使用还不确定
|
||||
UpdateWaybillVendorID(bill *model.Waybill) (err error)
|
||||
}
|
||||
|
||||
@@ -64,6 +66,7 @@ type BaseScheduler struct {
|
||||
CurOrderManager OrderManager
|
||||
PurchasePlatformHandlers map[int]PurchasePlatformHandler
|
||||
DeliveryPlatformHandlers map[int]DeliveryPlatformHandler
|
||||
IsReallyCallPlatformAPI bool
|
||||
}
|
||||
|
||||
func (c *BaseScheduler) Init() {
|
||||
@@ -103,6 +106,75 @@ func (c *BaseScheduler) GetDeliveryPlatformFromVendorID(vendorID int) DeliveryPl
|
||||
return c.DeliveryPlatformHandlers[vendorID]
|
||||
}
|
||||
|
||||
func (c *BaseScheduler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool) (err error) {
|
||||
globals.SugarLogger.Infof("AcceptOrRefuseOrder orderID:%s, isAcceptIt:%t", order.VendorOrderID, isAcceptIt)
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
return c.GetPurchasePlatformFromVendorID(order.VendorID).AcceptOrRefuseOrder(order, isAcceptIt)
|
||||
}, "AcceptOrRefuseOrder orderID:%s, isAcceptIt:%t", order.VendorOrderID, isAcceptIt)
|
||||
}
|
||||
return err
|
||||
}
|
||||
func (c *BaseScheduler) PickedUpGoods(order *model.GoodsOrder) (err error) {
|
||||
globals.SugarLogger.Infof("PickedUpGoods orderID:%s", order.VendorOrderID)
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
return c.GetPurchasePlatformFromVendorID(order.VendorID).PickedUpGoods(order)
|
||||
}, "PickedUpGoods orderID:%s", order.VendorOrderID)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *BaseScheduler) Swtich2SelfDeliver(order *model.GoodsOrder) (err error) {
|
||||
globals.SugarLogger.Infof("Swtich2SelfDeliver orderID:%s", order.VendorOrderID)
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
return c.GetPurchasePlatformFromVendorID(order.VendorID).Swtich2SelfDeliver(order)
|
||||
}, "Swtich2SelfDeliver orderID:%s", order.VendorOrderID)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *BaseScheduler) SelfDeliverDelievering(order *model.GoodsOrder) (err error) {
|
||||
globals.SugarLogger.Infof("SelfDeliverDelievering orderID:%s", order.VendorOrderID)
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
return c.GetPurchasePlatformFromVendorID(order.VendorID).SelfDeliverDelievering(order)
|
||||
}, "SelfDeliverDelievering orderID:%s", order.VendorOrderID)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *BaseScheduler) SelfDeliverDelievered(order *model.GoodsOrder) (err error) {
|
||||
globals.SugarLogger.Infof("SelfDeliverDelievered orderID:%s", order.VendorOrderID)
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
return c.GetPurchasePlatformFromVendorID(order.VendorID).SelfDeliverDelievered(order)
|
||||
}, "SelfDeliverDelievered orderID:%s", order.VendorOrderID)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *BaseScheduler) CreateWaybill(platformVendorID int, order *model.GoodsOrder) (err error) {
|
||||
globals.SugarLogger.Infof("CreateWaybill orderID:%s, vendorID:%d", order.VendorOrderID, platformVendorID)
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
return c.GetDeliveryPlatformFromVendorID(platformVendorID).CreateWaybill(order)
|
||||
}, "CreateWaybill orderID:%s, vendorID:%d", order.VendorOrderID, platformVendorID)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *BaseScheduler) CancelWaybill(bill *model.Waybill) (err error) {
|
||||
globals.SugarLogger.Infof("CancelWaybill bill:%v", bill)
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
return c.GetDeliveryPlatformFromVendorID(bill.WaybillVendorID).CancelWaybill(bill)
|
||||
}, "CancelWaybill bill:%v", bill)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
type BasePurchasePlatform struct {
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user