From d7365c18a0d125671eb01131f75ff40e9afc5cdd Mon Sep 17 00:00:00 2001 From: "qiyunfanbo126.com" <815699> Date: Fri, 2 Aug 2024 11:17:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=B7=E6=A0=BC=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/OrderService.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/services/OrderService.go b/app/services/OrderService.go index 4f92de2..b6aa801 100644 --- a/app/services/OrderService.go +++ b/app/services/OrderService.go @@ -222,12 +222,14 @@ func OrderNotify(request front.YouChuRequest) (NotifyResponse front.YouChuOrderN var productDetail productsmodel.Products has, err = productsmodel.GetInstance().GetDb().Where("id = ?", orderDetail.ProductId).Get(&productDetail) if err != nil || !has { + _, err = ordersmodel.GetInstance().GetDb().Where("id = ?", orderDetail.Id).Update(ordersmodel.Orders{State: common.ORDER_STATUS_FAIL}) utils.Log(nil, "notify err", err, orderDetail.ProductId) return front.YouChuOrderNotifyResponse{RespCode: "000003", RespMsg: "商品不存在"} } session := ordersmodel.GetInstance().GetDb().NewSession() defer func() { if err != nil { + _, err = ordersmodel.GetInstance().GetDb().Where("id = ?", orderDetail.Id).Update(ordersmodel.Orders{State: common.ORDER_STATUS_FAIL}) utils.Log(nil, "notify err", err) _ = session.Rollback() return @@ -246,6 +248,7 @@ func OrderNotify(request front.YouChuRequest) (NotifyResponse front.YouChuOrderN send, err := client.MarketSend(orderDetail.OrderNo, strconv.Itoa(orderDetail.VoucherId), "", "2") utils.Log(nil, "OrderNotify-MarketSend", send, err) if err != nil { + _, err = ordersmodel.GetInstance().GetDb().Where("id = ?", orderDetail.Id).Update(ordersmodel.Orders{State: common.ORDER_STATUS_FAIL}) utils.Log(nil, "notify err", err) return front.YouChuOrderNotifyResponse{RespCode: "000004", RespMsg: "充值失败"} } @@ -264,10 +267,12 @@ func OrderNotify(request front.YouChuRequest) (NotifyResponse front.YouChuOrderN } else { //order.RefundOrderNo = YouChuOrderNotifyRequest.OrgTxnSeq //order.RefundOrderSta = YouChuOrderNotifyRequest.OrderSta + _, err = ordersmodel.GetInstance().GetDb().Where("id = ?", orderDetail.Id).Update(ordersmodel.Orders{State: common.ORDER_STATUS_FAIL}) return front.YouChuOrderNotifyResponse{RespCode: "000005", RespMsg: "订单标识错误"} } _, err = session.Cols("stock,state,voucher_link,orgTxnSeq,exchange_time").Where("order_no = ?", YouChuOrderNotifyRequest.ReqTraceId).Update(&order) if err != nil { + _, err = ordersmodel.GetInstance().GetDb().Where("id = ?", orderDetail.Id).Update(ordersmodel.Orders{State: common.ORDER_STATUS_FAIL}) utils.Log(nil, "OrderNotify-MarketSend", err.Error()) _ = session.Rollback() return front.YouChuOrderNotifyResponse{RespCode: "000004", RespMsg: "操作失败"}