diff --git a/business/model/sku.go b/business/model/sku.go index 25c31e894..6d1a8e8fb 100644 --- a/business/model/sku.go +++ b/business/model/sku.go @@ -184,7 +184,8 @@ type SkuName struct { // JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"` // LinkID int `orm:"column(link_id);null;index" json:"linkID"` - YbNameSuffix string `json:"ybNameSuffix"` //银豹商品后缀 + YbNameSuffix string `json:"ybNameSuffix"` //银豹商品后缀 + JdsStockSwitch int8 `orm:"default(1)" json:"jdsStockSwitch"` } func (*SkuName) TableUnique() [][]string { diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index ec03a1324..7b37f7363 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -41,7 +41,12 @@ func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID string) (order * return p.Map2Order(utils.Struct2FlatMap(resultOrders)), err } func (p *PurchaseHandler) GetOrderStatus(vendorOrgCode, vendorOrderID string) (status int, err error) { - return status, err + orderResult, err := api.JdShopAPI.AllOrders(&jdshopapi.AllOrdersParam{ + OrderID: vendorOrderID, + Current: 1, + PageSize: 1, + }) + return status2Jxstatus(orderResult.OrderList[0].OrderStatus), err } func (p *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) { @@ -54,7 +59,13 @@ func (p *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI return ChangeOrderStatus(order.VendorOrderID, status, "") } func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) { - err = ChangeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "") + status, err := p.GetOrderStatus("", order.VendorOrderID2) + //说明此时该订单在平台上已经取消了 + if status == model.OrderStatusApplyCancel { + err = ChangeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "自动拣货完成") + } else { + err = ChangeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, "订单状态发生了改变") + } return err } @@ -153,3 +164,16 @@ func (p *PurchaseHandler) OrderTransfer(ctx *jxcontext.Context, vendorOrderID, v err = api.JdShopAPI.UpdateWaybill(vendorOrderID[:12], companyID, vendorWaybillID) return err } + +func status2Jxstatus(status int) (statusJx int) { + if status == jdshopapi.JdsOrderStatusWaittingPay { + statusJx = model.OrderStatusWait4Pay + } else if status == jdshopapi.JdsOrderStatusWaittingPayDel { + statusJx = model.OrderStatusApplyCancel + } else if status == jdshopapi.JdsOrderStatusWaittingExport { + statusJx = model.OrderStatusAccepted + } else if status == jdshopapi.JdsOrderStatusPause { + statusJx = model.OrderStatusNew + } + return statusJx +}