diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 1e9b1457c..e68a63367 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -551,11 +551,11 @@ func SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) } func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) { - if order.Status < model.OrderStatusDelivering { + if true { //order.Status < model.OrderStatusDelivering { + errList := errlist.New() db := dao.GetDB() payList, err2 := dao.GetOrderPayList(db, order.VendorOrderID, jxutils.GetPossibleVendorIDFromVendorOrderID(order.VendorOrderID)) if err = err2; err == nil { - errList := errlist.New() for _, orderPay := range payList { if orderPay.Status == model.PayStatusYes { // refundID := utils.Int64ToStr(GenRefundID(order)) @@ -573,11 +573,15 @@ func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) errList.AddErr(err2) } } - if errList.GetErrListAsOne() == nil { - errList.AddErr(changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, reason)) - } - err = errList.GetErrListAsOne() + } else if dao.IsNoRowsError(err) { + err = nil + } else { + errList.AddErr(err) } + if errList.GetErrListAsOne() == nil { + errList.AddErr(changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, reason)) + } + err = errList.GetErrListAsOne() } else { err = fmt.Errorf("当前订单状态:%s不允许取消", model.OrderStatusName[order.Status]) }