fix:支付
This commit is contained in:
parent
b9b7309edc
commit
032d089359
@ -17,7 +17,6 @@ import (
|
|||||||
"github.com/aws/aws-sdk-go/aws/session"
|
"github.com/aws/aws-sdk-go/aws/session"
|
||||||
"github.com/stripe/stripe-go/v75"
|
"github.com/stripe/stripe-go/v75"
|
||||||
"github.com/zeromicro/go-zero/core/logc"
|
"github.com/zeromicro/go-zero/core/logc"
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"gorm.io/gorm"
|
"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)
|
result := tx.Where("is_del = ?", 0).Where("order_sn = ?", orderSn).Take(&orderInfo)
|
||||||
err = result.Error
|
err = result.Error
|
||||||
if err != nil {
|
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
|
return err
|
||||||
}
|
}
|
||||||
ress, err := d.OrderDetailHandler(ctx, &orderInfo, 0)
|
ress, err := d.OrderDetailHandler(ctx, &orderInfo, 0)
|
||||||
if err != nil {
|
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
|
return err
|
||||||
}
|
}
|
||||||
var ntime = time.Now().UTC()
|
var ntime = time.Now().UTC()
|
||||||
@ -370,7 +369,7 @@ func (d *defaultOrder) PaymentSuccessful(ctx context.Context, in *PaymentSuccess
|
|||||||
if len(uOrderDetail) > 0 {
|
if len(uOrderDetail) > 0 {
|
||||||
err = fssql.MetadataOrderPATCH(d.MysqlConn, sql, orderSn, gmodel.FsOrder{}, uOrderDetail, "id = ?", orderInfo.Id)
|
err = fssql.MetadataOrderPATCH(d.MysqlConn, sql, orderSn, gmodel.FsOrder{}, uOrderDetail, "id = ?", orderInfo.Id)
|
||||||
if err != nil {
|
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
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -399,7 +398,7 @@ func (d *defaultOrder) CreatePrePaymentByBalance(ctx context.Context, in *Create
|
|||||||
} else {
|
} else {
|
||||||
errorCode = *basic.CodeServiceErr
|
errorCode = *basic.CodeServiceErr
|
||||||
}
|
}
|
||||||
logx.Errorf("create prePayment balance failed, err: %v", err)
|
logc.Errorf(ctx, "create prePayment balance failed, err: %v", err)
|
||||||
return &CreatePrePaymentByBalanceRes{
|
return &CreatePrePaymentByBalanceRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
}, result.Error
|
}, result.Error
|
||||||
@ -408,7 +407,7 @@ func (d *defaultOrder) CreatePrePaymentByBalance(ctx context.Context, in *Create
|
|||||||
if *order.PayStatus != int64(constants.ORDERPAYSTATUSPAIDDEPOSIT) {
|
if *order.PayStatus != int64(constants.ORDERPAYSTATUSPAIDDEPOSIT) {
|
||||||
errorCode = *basic.CodeErrOrderCreatePrePaymentNoUnPaid
|
errorCode = *basic.CodeErrOrderCreatePrePaymentNoUnPaid
|
||||||
err = errors.New("order balance pay status is not unPaid")
|
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{
|
return &CreatePrePaymentByBalanceRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
}, err
|
}, err
|
||||||
@ -416,7 +415,7 @@ func (d *defaultOrder) CreatePrePaymentByBalance(ctx context.Context, in *Create
|
|||||||
|
|
||||||
ress, err := d.OrderDetailHandler(ctx, &order, 1)
|
ress, err := d.OrderDetailHandler(ctx, &order, 1)
|
||||||
if err != nil {
|
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
|
errorCode = *basic.CodeServiceErr
|
||||||
return &CreatePrePaymentByBalanceRes{
|
return &CreatePrePaymentByBalanceRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
@ -444,7 +443,7 @@ func (d *defaultOrder) CreatePrePaymentByBalance(ctx context.Context, in *Create
|
|||||||
|
|
||||||
prepaymentRes, err := payDriver.GeneratePrepayment(generatePrepaymentReq)
|
prepaymentRes, err := payDriver.GeneratePrepayment(generatePrepaymentReq)
|
||||||
if err != nil {
|
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
|
errorCode = *basic.CodeServiceErr
|
||||||
return &CreatePrePaymentByBalanceRes{
|
return &CreatePrePaymentByBalanceRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
@ -485,7 +484,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create
|
|||||||
} else {
|
} else {
|
||||||
errorCode = *basic.CodeServiceErr
|
errorCode = *basic.CodeServiceErr
|
||||||
}
|
}
|
||||||
logx.Errorf("create prePayment deposit failed, err: %v", err)
|
logc.Errorf(ctx, "create prePayment deposit failed, err: %v", err)
|
||||||
return &CreatePrePaymentByDepositRes{
|
return &CreatePrePaymentByDepositRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
}, result.Error
|
}, result.Error
|
||||||
@ -495,7 +494,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create
|
|||||||
if *order.PayStatus != int64(constants.ORDERPAYSTATUSUNPAIDDEPOSIT) {
|
if *order.PayStatus != int64(constants.ORDERPAYSTATUSUNPAIDDEPOSIT) {
|
||||||
errorCode = *basic.CodeErrOrderCreatePrePaymentNoUnPaid
|
errorCode = *basic.CodeErrOrderCreatePrePaymentNoUnPaid
|
||||||
err = errors.New("order pay status is not unPaidDeposit")
|
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{
|
return &CreatePrePaymentByDepositRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
}, err
|
}, err
|
||||||
@ -511,7 +510,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create
|
|||||||
if ctimeTimeOut == ntimeTimeOut {
|
if ctimeTimeOut == ntimeTimeOut {
|
||||||
errorCode = *basic.CodeErrOrderCreatePrePaymentTimeout
|
errorCode = *basic.CodeErrOrderCreatePrePaymentTimeout
|
||||||
err = errors.New("order pay timeout")
|
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{
|
return &CreatePrePaymentByDepositRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
}, err
|
}, err
|
||||||
@ -519,7 +518,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create
|
|||||||
|
|
||||||
ress, err := d.OrderDetailHandler(ctx, &order, 0)
|
ress, err := d.OrderDetailHandler(ctx, &order, 0)
|
||||||
if err != nil {
|
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
|
errorCode = *basic.CodeServiceErr
|
||||||
return &CreatePrePaymentByDepositRes{
|
return &CreatePrePaymentByDepositRes{
|
||||||
ErrorCode: errorCode,
|
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)
|
err = fssql.MetadataOrderPATCH(d.MysqlConn, sql, in.OrderSn, gmodel.FsOrder{}, uOrderDetail, "id = ?", order.Id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errorCode = *basic.CodeServiceErr
|
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{
|
return &CreatePrePaymentByDepositRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
}, result.Error
|
}, result.Error
|
||||||
@ -606,7 +605,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create
|
|||||||
|
|
||||||
prepaymentRes, err := payDriver.GeneratePrepayment(generatePrepaymentReq)
|
prepaymentRes, err := payDriver.GeneratePrepayment(generatePrepaymentReq)
|
||||||
if err != nil {
|
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
|
errorCode = *basic.CodeServiceErr
|
||||||
return &CreatePrePaymentByDepositRes{
|
return &CreatePrePaymentByDepositRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
@ -657,7 +656,7 @@ func (d *defaultOrder) List(ctx context.Context, in *ListReq) (res *ListRes, err
|
|||||||
var count int64
|
var count int64
|
||||||
resultCount := model.Count(&count)
|
resultCount := model.Count(&count)
|
||||||
if resultCount.Error != nil {
|
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
|
return nil, resultCount.Error
|
||||||
}
|
}
|
||||||
var orderDetailList []gmodel.OrderDetail
|
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))
|
m := model.Scopes(handlers.Paginate(&in.CurrentPage, &in.PerPage))
|
||||||
result := m.Find(&orderList)
|
result := m.Find(&orderList)
|
||||||
if result.Error != nil {
|
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
|
return nil, result.Error
|
||||||
}
|
}
|
||||||
for _, order := range orderList {
|
for _, order := range orderList {
|
||||||
@ -707,7 +706,7 @@ func (d *defaultOrder) Detail(ctx context.Context, in *DetailReq) (res *DetailRe
|
|||||||
} else {
|
} else {
|
||||||
errorCode = *basic.CodeServiceErr
|
errorCode = *basic.CodeServiceErr
|
||||||
}
|
}
|
||||||
logx.Errorf("order detail failed, err: %v", err)
|
logc.Errorf(ctx, "order detail failed, err: %v", err)
|
||||||
return &DetailRes{
|
return &DetailRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
}, result.Error
|
}, result.Error
|
||||||
@ -721,7 +720,7 @@ func (d *defaultOrder) Detail(ctx context.Context, in *DetailReq) (res *DetailRe
|
|||||||
if ctimeTimeOut < ntimeTimeOut {
|
if ctimeTimeOut < ntimeTimeOut {
|
||||||
errorCode = *basic.CodeErrOrderCreatePrePaymentTimeout
|
errorCode = *basic.CodeErrOrderCreatePrePaymentTimeout
|
||||||
err = errors.New("order pay timeout")
|
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{
|
return &DetailRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
}, err
|
}, err
|
||||||
@ -730,7 +729,7 @@ func (d *defaultOrder) Detail(ctx context.Context, in *DetailReq) (res *DetailRe
|
|||||||
|
|
||||||
ress, err := d.OrderDetailHandler(ctx, &order, 1)
|
ress, err := d.OrderDetailHandler(ctx, &order, 1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Errorf("order detail failed, err: %v", err)
|
logc.Errorf(ctx, "order detail failed, err: %v", err)
|
||||||
errorCode = *basic.CodeServiceErr
|
errorCode = *basic.CodeServiceErr
|
||||||
return &DetailRes{
|
return &DetailRes{
|
||||||
ErrorCode: errorCode,
|
ErrorCode: errorCode,
|
||||||
@ -1006,8 +1005,8 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe
|
|||||||
PayStatus: payStatus,
|
PayStatus: payStatus,
|
||||||
PayTimeout: 30 * time.Minute,
|
PayTimeout: 30 * time.Minute,
|
||||||
}
|
}
|
||||||
// 数据库操作
|
|
||||||
|
|
||||||
|
// 数据库操作
|
||||||
orderDetailByte, err := json.Marshal(orderDetail)
|
orderDetailByte, err := json.Marshal(orderDetail)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -1021,14 +1020,21 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe
|
|||||||
Ctime: &nowTime,
|
Ctime: &nowTime,
|
||||||
Metadata: &orderDetailByte,
|
Metadata: &orderDetailByte,
|
||||||
}
|
}
|
||||||
result := tx.Create(&order)
|
// 创建订单
|
||||||
if result.Error != nil {
|
resultCreate := tx.Create(&order)
|
||||||
return result.Error
|
if resultCreate.Error != nil {
|
||||||
|
return resultCreate.Error
|
||||||
}
|
}
|
||||||
|
// 删除购物车
|
||||||
|
resultDelete := tx.Delete(&gmodel.FsShoppingCart{}, in.CartIds)
|
||||||
|
if resultDelete.Error != nil {
|
||||||
|
return resultDelete.Error
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
if err != 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 {
|
if errorCode.Code == 0 {
|
||||||
errorCode.Code = basic.CodeApiErr.Code
|
errorCode.Code = basic.CodeApiErr.Code
|
||||||
@ -1111,7 +1117,7 @@ func (d *defaultOrder) OrderDetailHandler(ctx context.Context, orderInfo *gmodel
|
|||||||
|
|
||||||
err = json.Unmarshal(*orderInfo.Metadata, &orderDetail)
|
err = json.Unmarshal(*orderInfo.Metadata, &orderDetail)
|
||||||
if err != nil {
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
orderDetailOriginal := orderDetail
|
orderDetailOriginal := orderDetail
|
||||||
|
Loading…
x
Reference in New Issue
Block a user