Files
lckt-server/api/v1/app/redeem_code.go

189 lines
5.4 KiB
Go

package app
import (
"git.echol.cn/loser/lckt/global"
"git.echol.cn/loser/lckt/model/app"
"git.echol.cn/loser/lckt/model/app/request"
common "git.echol.cn/loser/lckt/model/common/request"
r "git.echol.cn/loser/lckt/model/common/response"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
type RedeemCodeApi struct{}
// Create 创建兑换码库
func (rc *RedeemCodeApi) Create(ctx *gin.Context) {
var p app.RedeemCode
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage("创建兑换码库失败:"+err.Error(), ctx)
global.GVA_LOG.Error("创建兑换码库失败", zap.Error(err))
return
}
err := redeemCodeService.Create(p)
if err != nil {
r.FailWithMessage("创建兑换码库失败:"+err.Error(), ctx)
global.GVA_LOG.Error("创建兑换码库失败", zap.Error(err))
return
}
r.OkWithMessage("创建兑换码库成功", ctx)
}
// Delete 删除兑换码库
func (rc *RedeemCodeApi) Delete(ctx *gin.Context) {
var p app.RedeemCode
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage("删除兑换码库失败:"+err.Error(), ctx)
global.GVA_LOG.Error("删除兑换码库失败", zap.Error(err))
return
}
err := redeemCodeService.Delete(p)
if err != nil {
r.FailWithMessage("删除兑换码库失败:"+err.Error(), ctx)
global.GVA_LOG.Error("删除兑换码库失败", zap.Error(err))
return
}
r.OkWithMessage("删除兑换码库成功", ctx)
}
// Update 更新兑换码库
func (rc *RedeemCodeApi) Update(ctx *gin.Context) {
var p app.RedeemCode
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage("更新兑换码库失败:"+err.Error(), ctx)
global.GVA_LOG.Error("更新兑换码库失败", zap.Error(err))
return
}
err := redeemCodeService.Update(p)
if err != nil {
r.FailWithMessage("更新兑换码库失败:"+err.Error(), ctx)
global.GVA_LOG.Error("更新兑换码库失败", zap.Error(err))
return
}
r.OkWithMessage("更新兑换码库成功", ctx)
}
// GetList 获取兑换码库列表
func (rc *RedeemCodeApi) GetList(ctx *gin.Context) {
var p common.PageInfo
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage("获取兑换码库列表失败:"+err.Error(), ctx)
global.GVA_LOG.Error("获取兑换码库列表失败", zap.Error(err))
return
}
list, total, err := redeemCodeService.GetList(p)
if err != nil {
r.FailWithMessage("获取兑换码库列表失败:"+err.Error(), ctx)
global.GVA_LOG.Error("获取兑换码库列表失败", zap.Error(err))
return
}
r.OkWithDetailed(r.PageResult{
List: list,
Total: total,
Page: p.Page,
PageSize: p.PageSize,
}, "获取兑换码库列表成功", ctx)
}
// GetById 根据ID获取兑换码库
func (rc *RedeemCodeApi) GetById(ctx *gin.Context) {
var p common.GetById
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage("获取兑换码库失败:"+err.Error(), ctx)
global.GVA_LOG.Error("获取兑换码库失败", zap.Error(err))
return
}
redeem, err := redeemCodeService.GetById(p.ID)
if err != nil {
r.FailWithMessage("获取兑换码库失败:"+err.Error(), ctx)
global.GVA_LOG.Error("获取兑换码库失败", zap.Error(err))
return
}
r.OkWithDetailed(redeem, "获取兑换码库成功", ctx)
}
// ========================CDK相关========================
// CreateCDK 生成兑换码
func (rc *RedeemCodeApi) CreateCDK(ctx *gin.Context) {
var p request.GenerateCDK
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage("生成兑换码失败:"+err.Error(), ctx)
global.GVA_LOG.Error("生成兑换码失败", zap.Error(err))
return
}
cdkVo, err := redeemCodeService.CreateCDK(p)
if err != nil {
r.FailWithMessage("生成兑换码失败:"+err.Error(), ctx)
global.GVA_LOG.Error("生成兑换码失败", zap.Error(err))
return
}
r.OkWithDetailed(cdkVo, "生成兑换码成功", ctx)
}
// GetCDKList 获取兑换码列表
func (rc *RedeemCodeApi) GetCDKList(ctx *gin.Context) {
var p request.GetCDKList
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage("获取兑换码列表失败:"+err.Error(), ctx)
global.GVA_LOG.Error("获取兑换码列表失败", zap.Error(err))
return
}
list, total, err := redeemCodeService.GetCDKList(p)
if err != nil {
r.FailWithMessage("获取兑换码列表失败:"+err.Error(), ctx)
global.GVA_LOG.Error("获取兑换码列表失败", zap.Error(err))
return
}
r.OkWithDetailed(r.PageResult{
List: list,
Total: total,
Page: p.Page,
PageSize: p.PageSize,
}, "获取兑换码列表成功", ctx)
}
// DeleteCDK 删除兑换码
func (rc *RedeemCodeApi) DeleteCDK(ctx *gin.Context) {
var p app.CDK
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage("删除兑换码失败:"+err.Error(), ctx)
global.GVA_LOG.Error("删除兑换码失败", zap.Error(err))
return
}
err := redeemCodeService.DeleteCDK(p)
if err != nil {
r.FailWithMessage("删除兑换码失败:"+err.Error(), ctx)
global.GVA_LOG.Error("删除兑换码失败", zap.Error(err))
return
}
r.OkWithMessage("删除兑换码成功", ctx)
}
func (rc *RedeemCodeApi) Redeem(context *gin.Context) {
var p request.RedeemCDK
if err := context.ShouldBind(&p); err != nil {
r.FailWithMessage("兑换失败:"+err.Error(), context)
global.GVA_LOG.Error("兑换失败", zap.Error(err))
return
}
err := redeemCodeService.Redeem(p, context)
if err != nil {
r.FailWithMessage(err.Error(), context)
global.GVA_LOG.Error("兑换失败", zap.Error(err))
return
}
r.OkWithMessage("兑换成功", context)
}