🎨 新增兑换码功能,新增vip过期检测定时任务
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"git.echol.cn/loser/lckt/global"
|
||||
"git.echol.cn/loser/lckt/model/app"
|
||||
common "git.echol.cn/loser/lckt/model/common/request"
|
||||
"git.echol.cn/loser/lckt/model/common/response"
|
||||
"git.echol.cn/loser/lckt/task"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
@@ -94,3 +96,13 @@ func (b *BannerApi) GetIndexBanners(context *gin.Context) {
|
||||
}
|
||||
response.OkWithData(list, context)
|
||||
}
|
||||
|
||||
func (b *BannerApi) GetVIPBanners(context *gin.Context) {
|
||||
err := task.CheckVip(global.GVA_DB)
|
||||
if err != nil {
|
||||
response.FailWithMessage("获取VIPBanner失败: "+err.Error(), context)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithMessage("检测vip成功", context)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ type ApiGroup struct {
|
||||
BannerApi
|
||||
OrderApi
|
||||
TeacherVip
|
||||
RedeemCodeApi
|
||||
}
|
||||
|
||||
var userService = service.ServiceGroupApp.UserServiceGroup.UserService
|
||||
@@ -14,3 +15,4 @@ var appUserService = service.ServiceGroupApp.AppServiceGroup.AppUserService
|
||||
var bannerService = service.ServiceGroupApp.AppServiceGroup.BannerService
|
||||
var orderService = service.ServiceGroupApp.AppServiceGroup.OrderService
|
||||
var teacherVipService = service.ServiceGroupApp.AppServiceGroup.TeacherVipService
|
||||
var redeemCodeService = service.ServiceGroupApp.AppServiceGroup.RedeemCodeService
|
||||
|
||||
188
api/v1/app/redeem_code.go
Normal file
188
api/v1/app/redeem_code.go
Normal file
@@ -0,0 +1,188 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user