From 656773fc97c4cc348650629e85657e5610ef374e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 5 Jul 2023 15:14:21 +0800 Subject: [PATCH] 1' --- business/model/order_financial.go | 2 +- .../purchase/tao_vegetable/order_afs.go | 61 +++++++++++-------- 2 files changed, 35 insertions(+), 28 deletions(-) diff --git a/business/model/order_financial.go b/business/model/order_financial.go index 6f5da2492..f27af9fb3 100644 --- a/business/model/order_financial.go +++ b/business/model/order_financial.go @@ -89,7 +89,7 @@ type AfsOrder struct { ReasonImgList string `orm:"size(1024)" json:"reasonImgList"` // 售后描述图片 AppealType int8 `json:"appealType"` // 售后方式(本地) VendorAppealType string `orm:"size(255)" json:"vendorAppealType"` // 原始售后方式(第三方平台) - Flag int `json:"flag"` + Flag int `json:"flag"` // 0 未操作/1同意/3驳回 RefundType int8 `json:"refundType"` RefuseReason string `orm:"size(1024)" json:"refuseReason"` diff --git a/business/partner/purchase/tao_vegetable/order_afs.go b/business/partner/purchase/tao_vegetable/order_afs.go index 4d6a99fcd..4033a7d41 100644 --- a/business/partner/purchase/tao_vegetable/order_afs.go +++ b/business/partner/purchase/tao_vegetable/order_afs.go @@ -164,29 +164,36 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal return tao_vegetable.CallBackResultInfo(err) } - if err = utils.CallFuncLogError(func() error { - _, err = dao.DeleteEntity(db, afsOrder[0], "VendorOrderID", "VendorID") - return err - }, "SaveAfsOrder delete AfsOrder, afsOrderID:%s", afsOrder[0].AfsOrderID); err != nil { - return tao_vegetable.CallBackResultInfo(err) - } + cancelMsg := msg.(*tao_vegetable.UserCancelRefundApply) + for _, v := range afsOrder { + // 商家驳回,会发出用户撤销的回调通知,不管他 + if v.AfsOrderID == cancelMsg.RefundId && v.Flag == model.AfsOrderFlagRefuseUserRefund { + return tao_vegetable.CallBackResultInfo(nil) + } - // 删除售后商品 - if err = utils.CallFuncLogError(func() error { - _, err = dao.DeleteEntity(db, &model.OrderSkuFinancial{ - VendorOrderID: afsOrder[0].VendorOrderID, - VendorID: afsOrder[0].VendorID, - IsAfsOrder: 1, - }, "VendorOrderID", "VendorID", "IsAfsOrder") - return err - }, "SaveAfsOrder delete OrderSkuFinancial, afsOrderID:%s", afsOrder[0].AfsOrderID); err != nil { - return tao_vegetable.CallBackResultInfo(err) + // 用户撤销未处理的售后订单 + if v.AfsOrderID == cancelMsg.RefundId && v.Flag == 0 { + // 下面处理用户撤销售后 + if err = utils.CallFuncLogError(func() error { + _, err = dao.DeleteEntity(db, v, "VendorOrderID", "VendorID") + return err + }, "SaveAfsOrder delete AfsOrder, afsOrderID:%s", v.AfsOrderID); err != nil { + return tao_vegetable.CallBackResultInfo(err) + } + + // 删除售后商品 + if err = utils.CallFuncLogError(func() error { + _, err = dao.DeleteEntity(db, &model.OrderSkuFinancial{ + VendorOrderID: v.VendorOrderID, + VendorID: v.VendorID, + IsAfsOrder: 1, + }, "VendorOrderID", "VendorID", "IsAfsOrder") + return err + }, "SaveAfsOrder delete OrderSkuFinancial, afsOrderID:%s", v.AfsOrderID); err != nil { + return tao_vegetable.CallBackResultInfo(err) + } + } } - // 订单更改为待配送 - goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDTaoVegetable) - goodsOrder.Status = model.OrderStatusFinishedPickup - goodsOrder.VendorStatus = status - dao.UpdateEntity(db, goodsOrder, "Status", "VendorStatus") } if err := partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus); err == nil { @@ -268,12 +275,12 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)), } err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).DisAgreeUserCancel(param) - if err != nil { - order.Status = model.AfsOrderStatusFailed - order.VendorStatus = "老板拒绝" - order.ReasonDesc += "," + reason - dao.UpdateEntity(dao.GetDB(), order, "Status", "ReasonDesc", "VendorStatus") - } + //if err == nil { + // order.Status = model.AfsOrderStatusFailed + // order.VendorStatus = "老板拒绝" + // order.ReasonDesc += "," + reason + // dao.UpdateEntity(dao.GetDB(), order, "Status", "ReasonDesc", "VendorStatus") + //} } else if approveType == partner.AfsApproveTypeRefusedToRefundMoney { return errors.New("此平台暂时不支持") } else {