From 032d08935981cb89cead0db22eba9c98bdcc6cff Mon Sep 17 00:00:00 2001 From: momo <1012651275@qq.com> Date: Wed, 27 Sep 2023 10:09:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service/repositories/order.go | 56 +++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/service/repositories/order.go b/service/repositories/order.go index b709b941..0c6af039 100644 --- a/service/repositories/order.go +++ b/service/repositories/order.go @@ -17,7 +17,6 @@ import ( "github.com/aws/aws-sdk-go/aws/session" "github.com/stripe/stripe-go/v75" "github.com/zeromicro/go-zero/core/logc" - "github.com/zeromicro/go-zero/core/logx" "gorm.io/gorm" ) @@ -226,12 +225,12 @@ func (d *defaultOrder) PaymentSuccessful(ctx context.Context, in *PaymentSuccess result := tx.Where("is_del = ?", 0).Where("order_sn = ?", orderSn).Take(&orderInfo) err = result.Error if err != nil { - logx.Errorf("PaymentSuccessful failed order Take, eventId:%s,err: %v", in.EventId, err) + logc.Errorf(ctx, "PaymentSuccessful failed order Take, eventId:%s,err: %v", in.EventId, err) return err } ress, err := d.OrderDetailHandler(ctx, &orderInfo, 0) if err != nil { - logx.Errorf("PaymentSuccessful failed DetailOrderDetailHandler,eventId:%s, err: %v", in.EventId, err) + logc.Errorf(ctx, "PaymentSuccessful failed DetailOrderDetailHandler,eventId:%s, err: %v", in.EventId, err) return err } var ntime = time.Now().UTC() @@ -370,7 +369,7 @@ func (d *defaultOrder) PaymentSuccessful(ctx context.Context, in *PaymentSuccess if len(uOrderDetail) > 0 { err = fssql.MetadataOrderPATCH(d.MysqlConn, sql, orderSn, gmodel.FsOrder{}, uOrderDetail, "id = ?", orderInfo.Id) if err != nil { - logx.Errorf("PaymentSuccessful failed MetadataOrderPATCH,eventId:%s, err: %v", in.EventId, err) + logc.Errorf(ctx, "PaymentSuccessful failed MetadataOrderPATCH,eventId:%s, err: %v", in.EventId, err) return err } } @@ -399,7 +398,7 @@ func (d *defaultOrder) CreatePrePaymentByBalance(ctx context.Context, in *Create } else { errorCode = *basic.CodeServiceErr } - logx.Errorf("create prePayment balance failed, err: %v", err) + logc.Errorf(ctx, "create prePayment balance failed, err: %v", err) return &CreatePrePaymentByBalanceRes{ ErrorCode: errorCode, }, result.Error @@ -408,7 +407,7 @@ func (d *defaultOrder) CreatePrePaymentByBalance(ctx context.Context, in *Create if *order.PayStatus != int64(constants.ORDERPAYSTATUSPAIDDEPOSIT) { errorCode = *basic.CodeErrOrderCreatePrePaymentNoUnPaid err = errors.New("order balance pay status is not unPaid") - logx.Errorf("create prePayment balance failed, err: %v", err) + logc.Errorf(ctx, "create prePayment balance failed, err: %v", err) return &CreatePrePaymentByBalanceRes{ ErrorCode: errorCode, }, err @@ -416,7 +415,7 @@ func (d *defaultOrder) CreatePrePaymentByBalance(ctx context.Context, in *Create ress, err := d.OrderDetailHandler(ctx, &order, 1) if err != nil { - logx.Errorf("create prePayment balance failed DetailOrderDetailHandler, err: %v", err) + logc.Errorf(ctx, "create prePayment balance failed DetailOrderDetailHandler, err: %v", err) errorCode = *basic.CodeServiceErr return &CreatePrePaymentByBalanceRes{ ErrorCode: errorCode, @@ -444,7 +443,7 @@ func (d *defaultOrder) CreatePrePaymentByBalance(ctx context.Context, in *Create prepaymentRes, err := payDriver.GeneratePrepayment(generatePrepaymentReq) if err != nil { - logx.Errorf("create prePayment balance failed GeneratePrepayment, err: %v", err) + logc.Errorf(ctx, "create prePayment balance failed GeneratePrepayment, err: %v", err) errorCode = *basic.CodeServiceErr return &CreatePrePaymentByBalanceRes{ ErrorCode: errorCode, @@ -485,7 +484,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create } else { errorCode = *basic.CodeServiceErr } - logx.Errorf("create prePayment deposit failed, err: %v", err) + logc.Errorf(ctx, "create prePayment deposit failed, err: %v", err) return &CreatePrePaymentByDepositRes{ ErrorCode: errorCode, }, result.Error @@ -495,7 +494,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create if *order.PayStatus != int64(constants.ORDERPAYSTATUSUNPAIDDEPOSIT) { errorCode = *basic.CodeErrOrderCreatePrePaymentNoUnPaid err = errors.New("order pay status is not unPaidDeposit") - logx.Errorf("create prePayment deposit failed, err: %v", err) + logc.Errorf(ctx, "create prePayment deposit failed, err: %v", err) return &CreatePrePaymentByDepositRes{ ErrorCode: errorCode, }, err @@ -511,7 +510,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create if ctimeTimeOut == ntimeTimeOut { errorCode = *basic.CodeErrOrderCreatePrePaymentTimeout err = errors.New("order pay timeout") - logx.Errorf("create prePayment deposit failed, err: %v", err) + logc.Errorf(ctx, "create prePayment deposit failed, err: %v", err) return &CreatePrePaymentByDepositRes{ ErrorCode: errorCode, }, err @@ -519,7 +518,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create ress, err := d.OrderDetailHandler(ctx, &order, 0) if err != nil { - logx.Errorf("create prePayment deposit failed DetailOrderDetailHandler, err: %v", err) + logc.Errorf(ctx, "create prePayment deposit failed DetailOrderDetailHandler, err: %v", err) errorCode = *basic.CodeServiceErr return &CreatePrePaymentByDepositRes{ ErrorCode: errorCode, @@ -573,7 +572,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create err = fssql.MetadataOrderPATCH(d.MysqlConn, sql, in.OrderSn, gmodel.FsOrder{}, uOrderDetail, "id = ?", order.Id) if err != nil { errorCode = *basic.CodeServiceErr - logx.Errorf("create prePayment deposit failed MetadataOrderPATCH, err: %v", err) + logc.Errorf(ctx, "create prePayment deposit failed MetadataOrderPATCH, err: %v", err) return &CreatePrePaymentByDepositRes{ ErrorCode: errorCode, }, result.Error @@ -606,7 +605,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create prepaymentRes, err := payDriver.GeneratePrepayment(generatePrepaymentReq) if err != nil { - logx.Errorf("create prePayment deposit failed GeneratePrepayment, err: %v", err) + logc.Errorf(ctx, "create prePayment deposit failed GeneratePrepayment, err: %v", err) errorCode = *basic.CodeServiceErr return &CreatePrePaymentByDepositRes{ ErrorCode: errorCode, @@ -657,7 +656,7 @@ func (d *defaultOrder) List(ctx context.Context, in *ListReq) (res *ListRes, err var count int64 resultCount := model.Count(&count) if resultCount.Error != nil { - logx.Errorf("order count failed, err: %v", err) + logc.Errorf(ctx, "order count failed, err: %v", err) return nil, resultCount.Error } var orderDetailList []gmodel.OrderDetail @@ -665,7 +664,7 @@ func (d *defaultOrder) List(ctx context.Context, in *ListReq) (res *ListRes, err m := model.Scopes(handlers.Paginate(&in.CurrentPage, &in.PerPage)) result := m.Find(&orderList) if result.Error != nil { - logx.Errorf("order list failed, err: %v", err) + logc.Errorf(ctx, "order list failed, err: %v", err) return nil, result.Error } for _, order := range orderList { @@ -707,7 +706,7 @@ func (d *defaultOrder) Detail(ctx context.Context, in *DetailReq) (res *DetailRe } else { errorCode = *basic.CodeServiceErr } - logx.Errorf("order detail failed, err: %v", err) + logc.Errorf(ctx, "order detail failed, err: %v", err) return &DetailRes{ ErrorCode: errorCode, }, result.Error @@ -721,7 +720,7 @@ func (d *defaultOrder) Detail(ctx context.Context, in *DetailReq) (res *DetailRe if ctimeTimeOut < ntimeTimeOut { errorCode = *basic.CodeErrOrderCreatePrePaymentTimeout err = errors.New("order pay timeout") - logx.Errorf("order detail failed, err: %v", err) + logc.Errorf(ctx, "order detail failed, err: %v", err) return &DetailRes{ ErrorCode: errorCode, }, err @@ -730,7 +729,7 @@ func (d *defaultOrder) Detail(ctx context.Context, in *DetailReq) (res *DetailRe ress, err := d.OrderDetailHandler(ctx, &order, 1) if err != nil { - logx.Errorf("order detail failed, err: %v", err) + logc.Errorf(ctx, "order detail failed, err: %v", err) errorCode = *basic.CodeServiceErr return &DetailRes{ ErrorCode: errorCode, @@ -1006,8 +1005,8 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe PayStatus: payStatus, PayTimeout: 30 * time.Minute, } - // 数据库操作 + // 数据库操作 orderDetailByte, err := json.Marshal(orderDetail) if err != nil { return err @@ -1021,14 +1020,21 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe Ctime: &nowTime, Metadata: &orderDetailByte, } - result := tx.Create(&order) - if result.Error != nil { - return result.Error + // 创建订单 + resultCreate := tx.Create(&order) + if resultCreate.Error != nil { + return resultCreate.Error } + // 删除购物车 + resultDelete := tx.Delete(&gmodel.FsShoppingCart{}, in.CartIds) + if resultDelete.Error != nil { + return resultDelete.Error + } + return nil }) if err != nil { - logx.Errorf("order create order failed, err: %v", err) + logc.Errorf(ctx, "order create order failed, err: %v", err) if errorCode.Code == 0 { errorCode.Code = basic.CodeApiErr.Code @@ -1111,7 +1117,7 @@ func (d *defaultOrder) OrderDetailHandler(ctx context.Context, orderInfo *gmodel err = json.Unmarshal(*orderInfo.Metadata, &orderDetail) if err != nil { - logx.Errorf("order detail handler unmarshal metadata failed, err: %v", err) + logc.Errorf(ctx, "order detail handler unmarshal metadata failed, err: %v", err) return nil, err } orderDetailOriginal := orderDetail