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, }) }