- continue refactoring...

This commit is contained in:
gazebo
2018-08-17 16:42:16 +08:00
parent d40186e930
commit c5db19045d
33 changed files with 656 additions and 178 deletions

View File

@@ -6,7 +6,6 @@ import (
"git.rosy.net.cn/baseapi/platformapi/autonavi"
"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/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/partner"
@@ -32,22 +31,14 @@ var (
}
)
type OrderController struct {
scheduler.BasePurchasePlatform
}
func init() {
scheduler.CurrentScheduler.RegisterPurchasePlatform(model.VendorIDJD, new(OrderController))
}
func (c *OrderController) OnOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
func (c *PurchaseHandler) OnOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
jxutils.CallMsgHandler(func() {
retVal = c.onOrderMsg(msg)
}, jxutils.ComposeUniversalOrderID(msg.BillID, model.VendorIDJD))
return retVal
}
func (c *OrderController) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
func (c *PurchaseHandler) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
if jdapi.OrderStatusNew == msg.StatusID {
retVal = c.onOrderNew(msg)
} else if jdapi.OrderStatusAdjust == msg.StatusID {
@@ -68,7 +59,7 @@ func (c *OrderController) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi
return retVal
}
func (c *OrderController) GetOrder(orderID string) (order *model.GoodsOrder, err error) {
func (c *PurchaseHandler) GetOrder(orderID string) (order *model.GoodsOrder, err error) {
result, err := api.JdAPI.QuerySingleOrder(orderID)
// globals.SugarLogger.Info(result)
if err == nil {
@@ -148,7 +139,7 @@ func setOrederDetailFee(result map[string]interface{}, order *model.GoodsOrder)
}
//
func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
func (c *PurchaseHandler) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
order, err := c.GetOrder(msg.BillID)
if err == nil {
err = partner.CurOrderManager.OnOrderNew(order, msg.StatusID)
@@ -159,7 +150,7 @@ func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jda
return jdapi.Err2CallbackResponse(err, "jd onOrderNew")
}
func (c *OrderController) onOrderAdjust(msg *jdapi.CallbackOrderMsg) *jdapi.CallbackResponse {
func (c *PurchaseHandler) onOrderAdjust(msg *jdapi.CallbackOrderMsg) *jdapi.CallbackResponse {
order, err := c.GetOrder(msg.BillID)
if err == nil {
err = partner.CurOrderManager.OnOrderAdjust(order, msg.StatusID)
@@ -170,7 +161,7 @@ func (c *OrderController) onOrderAdjust(msg *jdapi.CallbackOrderMsg) *jdapi.Call
return jdapi.Err2CallbackResponse(err, "jd onOrderAdjust")
}
func (c *OrderController) callbackMsg2Status(msg *jdapi.CallbackOrderMsg) *model.OrderStatus {
func (c *PurchaseHandler) callbackMsg2Status(msg *jdapi.CallbackOrderMsg) *model.OrderStatus {
orderStatus := &model.OrderStatus{
VendorOrderID: msg.BillID,
VendorID: model.VendorIDJD,
@@ -186,24 +177,24 @@ func (c *OrderController) callbackMsg2Status(msg *jdapi.CallbackOrderMsg) *model
}
// IPurchasePlatformHandler
func (c *OrderController) GetStatusFromVendorStatus(vendorStatus string) int {
func (c *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int {
if status, ok := VendorStatus2StatusMap[vendorStatus]; ok {
return status
}
return model.OrderStatusUnknown
}
func (c *OrderController) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool) (err error) {
func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool) (err error) {
_, err = api.JdAPI.OrderAcceptOperate(order.VendorOrderID, isAcceptIt)
return err
}
func (c *OrderController) PickupGoods(order *model.GoodsOrder) (err error) {
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder) (err error) {
_, err = api.JdAPI.OrderJDZBDelivery(order.VendorOrderID)
return err
}
func (c *OrderController) Swtich2SelfDeliver(order *model.GoodsOrder) (err error) {
func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder) (err error) {
_, err = api.JdAPI.ModifySellerDelivery(order.VendorOrderID)
if err != nil {
if errWithCode, ok := err.(*utils.ErrorWithCode); ok && errWithCode.Level() == 1 {
@@ -221,17 +212,17 @@ func (c *OrderController) Swtich2SelfDeliver(order *model.GoodsOrder) (err error
return err
}
func (c *OrderController) Swtich2SelfDelivered(order *model.GoodsOrder) (err error) {
func (c *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder) (err error) {
_, err = api.JdAPI.DeliveryEndOrder(order.VendorOrderID)
return err
}
func (c *OrderController) SelfDeliverDelievering(order *model.GoodsOrder) (err error) {
func (c *PurchaseHandler) SelfDeliverDelievering(order *model.GoodsOrder) (err error) {
_, err = api.JdAPI.OrderSerllerDelivery(order.VendorOrderID)
return err
}
// 京东送达接口都是一样的
func (c *OrderController) SelfDeliverDelievered(order *model.GoodsOrder) (err error) {
func (c *PurchaseHandler) SelfDeliverDelievered(order *model.GoodsOrder) (err error) {
return c.Swtich2SelfDelivered(order)
}