diff --git a/business/partner/purchase/tiktok_store/order_afs_utils.go b/business/partner/purchase/tiktok_store/order_afs_utils.go index e085e067c..df46b1996 100644 --- a/business/partner/purchase/tiktok_store/order_afs_utils.go +++ b/business/partner/purchase/tiktok_store/order_afs_utils.go @@ -47,6 +47,7 @@ func (c *PurchaseHandler) OnAfsOrderMsg(msgId, orderId string, msg interface{}) // todo 对于退款与部分退款,order.go与这个文件中对于状态的处理不一致 func (c *PurchaseHandler) onAfsOrderMsg(msgId string, msg interface{}) (retVal *tiktokShop.CallbackResponse) { var err error + var db = dao.GetDB() orderStatus, vendorOrgCode := c.callbackAfsMsg2Status(msgId, msg) if orderStatus == nil { return tiktokShop.Err2CallbackResponse(nil, "") @@ -115,14 +116,20 @@ func (c *PurchaseHandler) onAfsOrderMsg(msgId string, msg interface{}) (retVal * afsOrder.AfsFinishedAt = afsOrder.AfsCreatedAt } if msgId == tiktokShop.CallbackUpdateRefundOrderMsgTagId { - _, err = dao.DeleteEntity(dao.GetDB(), afsOrder, "VendorOrderID", "VendorID") + _, err = dao.DeleteEntity(db, afsOrder, "VendorOrderID", "VendorID") afsOrder.Skus[0].VendorOrderID = afsOrder.VendorOrderID - _, err = dao.DeleteEntity(dao.GetDB(), afsOrder.Skus[0], "VendorOrderID") + _, err = dao.DeleteEntity(db, afsOrder.Skus[0], "VendorOrderID") } err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus) } } else { err = partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus) + if err == nil && msgId == tiktokShop.CallbackReturnRefundAgreedMsgTagId { + goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID) + goodsOrder.Status = model.OrderStatusCanceled + goodsOrder.VendorStatus = orderStatus.VendorStatus + dao.UpdateEntity(db, goodsOrder, "Status", "VendorStatus") + } } return tiktokShop.Err2CallbackResponse(err, "")