diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index f02871d8f..e43544522 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -34,9 +34,7 @@ func OnCallbackMsg(msg *jdshopapi.CallBackResult) (err error) { }, jxutils.ComposeUniversalOrderID(msg.OrderID, model.VendorIDJDShop)) case jcqapi.TopicOrderCancel: jxutils.CallMsgHandler(func() { - CurPurchaseHandler.CancelOrder(jxcontext.AdminCtx, &model.GoodsOrder{ - VendorOrderID: msg.OrderID, - }, "系统取消") + CurPurchaseHandler.CancelOrder(jxcontext.AdminCtx, getRealOrderID(msg.OrderID), "系统取消") }, jxutils.ComposeUniversalOrderID(msg.OrderID, model.VendorIDJDShop)) default: return fmt.Errorf("暂不支持的topic类型!topic: %v", msgType) @@ -176,3 +174,17 @@ func Decrypt(p string) (result string) { decryptedData, _ := utils.AESCBCDecpryt(main, data2[:16], iv) return string(decryptedData) } + +func getRealOrderID(orderID string) (order *model.GoodsOrder) { + var ( + db = dao.GetDB() + ) + sql := ` + SELECT * FROM goods_order WHERE vendor_order_id2 = ? ORDER BY vendor_order_id DESC LIMIT 1 + ` + sqlParams := []interface{}{ + orderID, + } + dao.GetRow(db, &order, sql, sqlParams) + return order +}