Files
2026-03-06 17:39:52 +08:00

75 lines
1.8 KiB
Go

package radio
import (
"sundynix-go/model/commom/response"
"sundynix-go/model/radio/request"
radioRes "sundynix-go/model/radio/response"
"sundynix-go/utils/auth"
"github.com/gin-gonic/gin"
)
type VipApi struct{}
// UpdateVipConfig 更新VIP配置
// @Tags VIP管理
// @Summary 更新VIP配置
// @Accept application/json
// @Produce application/json
// @Param data body request.UpdateVipConfig true "VIP配置信息"
// @Success 200 {object} response.Response
// @Router /vip/config/update [post]
func (a *VipApi) UpdateVipConfig(c *gin.Context) {
var req request.UpdateVipConfig
err := c.ShouldBindJSON(&req)
if err != nil {
response.FailWithMsg("参数错误: "+err.Error(), c)
return
}
err = vipService.UpdateVipConfig(req)
if err != nil {
response.FailWithMsg(err.Error(), c)
return
}
response.OkWithMsg("更新成功", c)
}
// VipConfigDetail 获取VIP配置详情
// @Tags VIP管理
// @Summary 获取VIP配置详情
// @Produce application/json
// @Param id query string true "id"
// @Success 200 {object} response.Response
// @Router /vip/config/detail [post]
func (a *VipApi) VipConfigDetail(c *gin.Context) {
vipConfig, err := vipService.VipConfigDetail()
if err != nil {
response.FailWithMsg(err.Error(), c)
return
}
response.OkWithData(vipConfig, c)
}
// VipVip 开通vip
// @Tags VIP管理
// @Summary 开通vip
// @Produce application/json
// @Success 200 {object} response.Response
// @Router /vip/vip [post]
func (a *VipApi) VipVip(c *gin.Context) {
userId := auth.GetUserId(c)
if userId == "" || userId == "0" {
response.FailWithMsg("用户未登录", c)
return
}
res, no, err := vipService.VipVip(userId)
if err != nil {
response.FailWithMsg(err.Error(), c)
return
}
response.OkWithData(radioRes.PrePayResult{
Payments: res,
OutTradeNo: no,
}, c)
}