diff --git a/business/partner/purchase/ebai/order_afs.go b/business/partner/purchase/ebai/order_afs.go index 413ffb775..1a9d47b2d 100644 --- a/business/partner/purchase/ebai/order_afs.go +++ b/business/partner/purchase/ebai/order_afs.go @@ -122,7 +122,6 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDEBAI) goodsOrder.TotalShopMoney = utils.MustInterface2Int64(orderData["merchant_income"]) // 门店结算小于等于50为扣点 - afsSkuList, _ := dao.GetOrderRefundSkuList(db, []string{goodsOrder.VendorOrderID}) var earningPrice int64 = 0 for _, v := range goodsOrder.Skus { if goodsOrder.EarningType == model.EarningTypeQuote { @@ -133,6 +132,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia } goodsOrder.EarningPrice = earningPrice + afsSkuList, _ := dao.GetOrderRefundSkuList(db, []string{goodsOrder.VendorOrderID}) for _, v := range goodsOrder.Skus { for _, v2 := range afsSkuList { if v.VendorSkuID == v2.VendorSkuID && v2.IsAfsOrder == model.YES { @@ -175,10 +175,24 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia afs.Flag = 3 } } - if afs != nil { dao.UpdateEntity(db, afs, "Status", "VendorStatus", "Flag") } + + if orderStatus.Status == model.AfsOrderStatusFinished { + goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDEBAI) + afsSkuList, _ := dao.GetOrderRefundSkuList(db, []string{goodsOrder.VendorOrderID}) + var afsSku int = 0 + for _, v := range afsSkuList { + afsSku += v.Count + } + if afsSku == goodsOrder.GoodsCount && goodsOrder.GoodsCount != 0 { + goodsOrder.Status = model.OrderStatusCanceled + goodsOrder.VendorStatus = orderStatus.VendorStatus + dao.UpdateEntity(db, goodsOrder, "Status", "VendorStatus") + } + } + retVal = api.EbaiAPI.Err2CallbackResponse(msg.Cmd, err, nil) } return retVal