73 lines
1.9 KiB
Go
73 lines
1.9 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
"order/model/dto"
|
|
"order/service"
|
|
)
|
|
|
|
type order struct{}
|
|
|
|
// Order 订单控制器
|
|
var Order = new(order)
|
|
|
|
// Create 创建订单
|
|
func (c *order) Create(ctx context.Context, req *dto.CreateOrderReq) (res *dto.CreateOrderResp, err error) {
|
|
// 创建订单
|
|
res, err = service.Order.CreateOrder(ctx, req)
|
|
return
|
|
}
|
|
|
|
// Pay 支付订单
|
|
func (c *order) Pay(ctx context.Context, req *dto.PayOrderReq) (res *dto.PayOrderResp, err error) {
|
|
// 支付订单
|
|
res, err = service.Payment.PayOrder(ctx, req)
|
|
return
|
|
}
|
|
|
|
// Query 查询订单详情
|
|
func (c *order) Query(ctx context.Context, req *dto.QueryOrderReq) (res *dto.QueryOrderResp, err error) {
|
|
// 查询订单
|
|
res, err = service.Order.QueryOrder(ctx, req)
|
|
return
|
|
}
|
|
|
|
// Cancel 取消订单
|
|
func (c *order) Cancel(ctx context.Context, req *dto.CancelOrderReq) (res *dto.CancelOrderResp, err error) {
|
|
// 取消订单
|
|
res, err = service.Order.CancelOrder(ctx, req)
|
|
return
|
|
}
|
|
|
|
// Refund 退款
|
|
func (c *order) Refund(ctx context.Context, req *dto.RefundOrderReq) (res *dto.RefundOrderResp, err error) {
|
|
// 退款
|
|
res, err = service.Payment.RefundOrder(ctx, req)
|
|
return
|
|
}
|
|
|
|
// List 查询订单列表
|
|
func (c *order) List(ctx context.Context, req *dto.ListOrdersReq) (res *dto.ListOrdersResp, err error) {
|
|
// 查询订单列表
|
|
res, err = service.Order.ListOrders(ctx, req)
|
|
return
|
|
}
|
|
|
|
// PaymentNotify 支付回调
|
|
func (c *order) PaymentNotify(ctx context.Context, req *dto.PaymentNotifyReq) (res *dto.PaymentNotifyResp, err error) {
|
|
// 处理支付回调
|
|
err = service.Payment.HandlePaymentNotify(ctx, req)
|
|
return &dto.PaymentNotifyResp{
|
|
Success: err == nil,
|
|
}, err
|
|
}
|
|
|
|
// RefundNotify 退款回调
|
|
func (c *order) RefundNotify(ctx context.Context, req *dto.RefundNotifyReq) (res *dto.RefundNotifyResp, err error) {
|
|
// 处理退款回调
|
|
err = service.Payment.HandleRefundNotify(ctx, req)
|
|
return &dto.RefundNotifyResp{
|
|
Success: err == nil,
|
|
}, err
|
|
}
|