diff --git a/business/partner/purchase/tao_vegetable/order_afs.go b/business/partner/purchase/tao_vegetable/order_afs.go index 30f0cac23..54f9b3f92 100644 --- a/business/partner/purchase/tao_vegetable/order_afs.go +++ b/business/partner/purchase/tao_vegetable/order_afs.go @@ -224,7 +224,18 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal } if err := partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus); err == nil { - if err == nil && status == tao_vegetable.OrderStatusRefundSuccess { + skuList, _ := dao.GetSimpleOrderSkus(db, orderStatus.RefVendorOrderID, nil) + totalSkuCount := 0 + for _, v := range skuList { + totalSkuCount += v.Count + } + + financialSku, _ := dao.GetOrderRefundSkuList(db, []string{orderStatus.RefVendorOrderID}) + refundSkuCount := 0 + for _, v := range financialSku { + refundSkuCount += v.Count + } + if err == nil && status == tao_vegetable.OrderStatusRefundSuccess && totalSkuCount == refundSkuCount { goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, orderStatus.VendorID) goodsOrder.Status = model.OrderStatusCanceled goodsOrder.VendorStatus = orderStatus.VendorStatus