This commit is contained in:
邹宗楠
2023-07-05 15:14:21 +08:00
parent cd2855a047
commit 656773fc97
2 changed files with 35 additions and 28 deletions

View File

@@ -89,7 +89,7 @@ type AfsOrder struct {
ReasonImgList string `orm:"size(1024)" json:"reasonImgList"` // 售后描述图片 ReasonImgList string `orm:"size(1024)" json:"reasonImgList"` // 售后描述图片
AppealType int8 `json:"appealType"` // 售后方式(本地) AppealType int8 `json:"appealType"` // 售后方式(本地)
VendorAppealType string `orm:"size(255)" json:"vendorAppealType"` // 原始售后方式(第三方平台) VendorAppealType string `orm:"size(255)" json:"vendorAppealType"` // 原始售后方式(第三方平台)
Flag int `json:"flag"` Flag int `json:"flag"` // 0 未操作/1同意/3驳回
RefundType int8 `json:"refundType"` RefundType int8 `json:"refundType"`
RefuseReason string `orm:"size(1024)" json:"refuseReason"` RefuseReason string `orm:"size(1024)" json:"refuseReason"`

View File

@@ -164,29 +164,36 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
return tao_vegetable.CallBackResultInfo(err) return tao_vegetable.CallBackResultInfo(err)
} }
if err = utils.CallFuncLogError(func() error { cancelMsg := msg.(*tao_vegetable.UserCancelRefundApply)
_, err = dao.DeleteEntity(db, afsOrder[0], "VendorOrderID", "VendorID") for _, v := range afsOrder {
return err // 商家驳回,会发出用户撤销的回调通知,不管他
}, "SaveAfsOrder delete AfsOrder, afsOrderID:%s", afsOrder[0].AfsOrderID); err != nil { if v.AfsOrderID == cancelMsg.RefundId && v.Flag == model.AfsOrderFlagRefuseUserRefund {
return tao_vegetable.CallBackResultInfo(err) return tao_vegetable.CallBackResultInfo(nil)
} }
// 删除售后商品 // 用户撤销未处理的售后订单
if err = utils.CallFuncLogError(func() error { if v.AfsOrderID == cancelMsg.RefundId && v.Flag == 0 {
_, err = dao.DeleteEntity(db, &model.OrderSkuFinancial{ // 下面处理用户撤销售后
VendorOrderID: afsOrder[0].VendorOrderID, if err = utils.CallFuncLogError(func() error {
VendorID: afsOrder[0].VendorID, _, err = dao.DeleteEntity(db, v, "VendorOrderID", "VendorID")
IsAfsOrder: 1, return err
}, "VendorOrderID", "VendorID", "IsAfsOrder") }, "SaveAfsOrder delete AfsOrder, afsOrderID:%s", v.AfsOrderID); err != nil {
return err return tao_vegetable.CallBackResultInfo(err)
}, "SaveAfsOrder delete OrderSkuFinancial, afsOrderID:%s", afsOrder[0].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 { 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)), OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
} }
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).DisAgreeUserCancel(param) err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).DisAgreeUserCancel(param)
if err != nil { //if err == nil {
order.Status = model.AfsOrderStatusFailed // order.Status = model.AfsOrderStatusFailed
order.VendorStatus = "老板拒绝" // order.VendorStatus = "老板拒绝"
order.ReasonDesc += "," + reason // order.ReasonDesc += "," + reason
dao.UpdateEntity(dao.GetDB(), order, "Status", "ReasonDesc", "VendorStatus") // dao.UpdateEntity(dao.GetDB(), order, "Status", "ReasonDesc", "VendorStatus")
} //}
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney { } else if approveType == partner.AfsApproveTypeRefusedToRefundMoney {
return errors.New("此平台暂时不支持") return errors.New("此平台暂时不支持")
} else { } else {