Files
nl-video-api/internal/controller/admin/payment_order.go
2025-08-03 00:11:15 +08:00

75 lines
1.7 KiB
Go

package admin
import (
"nl-video-api/internal/service"
"nl-video-api/utility/response"
"github.com/gogf/gf/v2/net/ghttp"
)
var PaymentOrder = cAdminPaymentOrder{}
type cAdminPaymentOrder struct{}
// GetList 管理员获取支付订单列表
func (c *cAdminPaymentOrder) GetList(r *ghttp.Request) {
service.NewPaymentOrderService().AdminGetList(r)
}
// GetDetail 管理员获取支付订单详情
func (c *cAdminPaymentOrder) GetDetail(r *ghttp.Request) {
service.NewPaymentOrderService().AdminGetDetail(r)
}
// Refund 管理员订单退款
func (c *cAdminPaymentOrder) Refund(r *ghttp.Request) {
// 获取请求参数
id := r.Get("id").Uint()
reason := r.Get("reason").String()
if id == 0 {
response.Error(r, response.CodeInvalidParam, "订单ID不能为空")
return
}
req := &service.PaymentOrderRefundReq{
Id: id,
Reason: reason,
}
err := service.NewPaymentOrderService().AdminRefund(r.Context(), req)
if err != nil {
response.Error(r, response.CodeInternalError, err.Error())
return
}
response.Success(r, "退款成功")
}
// GetStatistics 获取支付统计
func (c *cAdminPaymentOrder) GetStatistics(r *ghttp.Request) {
startDate := r.Get("start_date").String()
endDate := r.Get("end_date").String()
// 设置默认时间范围
if startDate == "" {
startDate = "2024-01-01"
}
if endDate == "" {
endDate = "2024-12-31"
}
result, err := service.NewPaymentOrderService().GetStatistics(r.Context(), startDate, endDate)
if err != nil {
response.Error(r, response.CodeInternalError, err.Error())
return
}
response.Success(r, result)
}
// Create 创建支付订单
func (c *cAdminPaymentOrder) Create(r *ghttp.Request) {
service.NewPaymentOrderService().Create(r)
}