Files
order/controller/payment_config.go
2025-12-10 13:51:09 +08:00

237 lines
4.8 KiB
Go

package controller
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"order/model/dto"
"order/service"
)
type PaymentConfigController struct{}
var PaymentConfig = &PaymentConfigController{}
// CreatePaymentConfig 创建支付配置
func (c *PaymentConfigController) CreatePaymentConfig(r *ghttp.Request) {
var req dto.CreatePaymentConfigReq
if err := r.Parse(&req); err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 400,
"message": err.Error(),
"data": nil,
})
return
}
ctx := context.Background()
resp, err := service.PaymentConfig.CreatePaymentConfig(ctx, &req)
if err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 500,
"message": err.Error(),
"data": nil,
})
return
}
r.Response.WriteJsonExit(g.Map{
"code": 200,
"message": "success",
"data": resp,
})
}
// UpdatePaymentConfig 更新支付配置
func (c *PaymentConfigController) UpdatePaymentConfig(r *ghttp.Request) {
var req dto.UpdatePaymentConfigReq
if err := r.Parse(&req); err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 400,
"message": err.Error(),
"data": nil,
})
return
}
ctx := context.Background()
resp, err := service.PaymentConfig.UpdatePaymentConfig(ctx, &req)
if err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 500,
"message": err.Error(),
"data": nil,
})
return
}
r.Response.WriteJsonExit(g.Map{
"code": 200,
"message": "success",
"data": resp,
})
}
// GetPaymentConfig 获取支付配置
func (c *PaymentConfigController) GetPaymentConfig(r *ghttp.Request) {
var req dto.QueryPaymentConfigReq
if err := r.Parse(&req); err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 400,
"message": err.Error(),
"data": nil,
})
return
}
ctx := context.Background()
resp, err := service.PaymentConfig.GetPaymentConfig(ctx, &req)
if err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 500,
"message": err.Error(),
"data": nil,
})
return
}
r.Response.WriteJsonExit(g.Map{
"code": 200,
"message": "success",
"data": resp,
})
}
// GetPaymentConfigList 获取支付配置列表
func (c *PaymentConfigController) GetPaymentConfigList(r *ghttp.Request) {
tenantID := r.Get("tenant_id").String()
if tenantID == "" {
r.Response.WriteJsonExit(g.Map{
"code": 400,
"message": "租户ID不能为空",
"data": nil,
})
return
}
ctx := context.Background()
resp, err := service.PaymentConfig.GetPaymentConfigList(ctx, tenantID)
if err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 500,
"message": err.Error(),
"data": nil,
})
return
}
r.Response.WriteJsonExit(g.Map{
"code": 200,
"message": "success",
"data": resp,
})
}
// DeletePaymentConfig 删除支付配置
func (c *PaymentConfigController) DeletePaymentConfig(r *ghttp.Request) {
tenantID := r.Get("tenant_id").String()
configID := r.Get("config_id").String()
if tenantID == "" || configID == "" {
r.Response.WriteJsonExit(g.Map{
"code": 400,
"message": "租户ID和配置ID不能为空",
"data": nil,
})
return
}
ctx := context.Background()
err := service.PaymentConfig.DeletePaymentConfig(ctx, tenantID, configID)
if err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 500,
"message": err.Error(),
"data": nil,
})
return
}
r.Response.WriteJsonExit(g.Map{
"code": 200,
"message": "success",
"data": nil,
})
}
// EnablePaymentConfig 启用支付配置
func (c *PaymentConfigController) EnablePaymentConfig(r *ghttp.Request) {
tenantID := r.Get("tenant_id").String()
configID := r.Get("config_id").String()
if tenantID == "" || configID == "" {
r.Response.WriteJsonExit(g.Map{
"code": 400,
"message": "租户ID和配置ID不能为空",
"data": nil,
})
return
}
ctx := context.Background()
err := service.PaymentConfig.EnablePaymentConfig(ctx, tenantID, configID)
if err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 500,
"message": err.Error(),
"data": nil,
})
return
}
r.Response.WriteJsonExit(g.Map{
"code": 200,
"message": "success",
"data": nil,
})
}
// DisablePaymentConfig 禁用支付配置
func (c *PaymentConfigController) DisablePaymentConfig(r *ghttp.Request) {
tenantID := r.Get("tenant_id").String()
configID := r.Get("config_id").String()
if tenantID == "" || configID == "" {
r.Response.WriteJsonExit(g.Map{
"code": 400,
"message": "租户ID和配置ID不能为空",
"data": nil,
})
return
}
ctx := context.Background()
err := service.PaymentConfig.DisablePaymentConfig(ctx, tenantID, configID)
if err != nil {
r.Response.WriteJsonExit(g.Map{
"code": 500,
"message": err.Error(),
"data": nil,
})
return
}
r.Response.WriteJsonExit(g.Map{
"code": 200,
"message": "success",
"data": nil,
})
}