🎨 新增管理后台讲师包月相关接口
This commit is contained in:
@@ -7,6 +7,7 @@ type TeacherVip struct {
|
|||||||
Title string `json:"title" form:"title" gorm:"comment:VIP标题;size:128"`
|
Title string `json:"title" form:"title" gorm:"comment:VIP标题;size:128"`
|
||||||
TeacherId uint `json:"teacher_id" gorm:"comment:讲师ID;"`
|
TeacherId uint `json:"teacher_id" gorm:"comment:讲师ID;"`
|
||||||
TeacherName string `json:"teacher_name" gorm:"comment:讲师名称"` // 讲师名称
|
TeacherName string `json:"teacher_name" gorm:"comment:讲师名称"` // 讲师名称
|
||||||
|
Avatar string `json:"avatar" gorm:"comment:讲师头像"`
|
||||||
Price int `json:"price" gorm:"comment:VIP价格(单位为分)"`
|
Price int `json:"price" gorm:"comment:VIP价格(单位为分)"`
|
||||||
Desc string `json:"desc" gorm:"comment:VIP描述;type:longtext"`
|
Desc string `json:"desc" gorm:"comment:VIP描述;type:longtext"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,4 +24,11 @@ func (s *UserRouter) InitUserRouter(Router *gin.RouterGroup, PublicRouter *gin.R
|
|||||||
userRouter.DELETE("/vip", userApi.RemoveUserVip) // 删除用户会员
|
userRouter.DELETE("/vip", userApi.RemoveUserVip) // 删除用户会员
|
||||||
userRouter.GET("/vip/list", userApi.GetUserVipList) // 获取用户会员列表
|
userRouter.GET("/vip/list", userApi.GetUserVipList) // 获取用户会员列表
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
userRouter.GET("teacher_vips", teacherVipApi.GetTeacherVipList) // 获取讲师VIP列表
|
||||||
|
userRouter.GET("teacher_vip", teacherVipApi.GetTeacherVip) // 获取讲师VIP详情
|
||||||
|
userRouter.POST("teacher_vip", teacherVipApi.CreateTeacherVip) // 创建讲师VIP
|
||||||
|
userRouter.PUT("teacher_vip", teacherVipApi.Update) // 更新讲师VIP
|
||||||
|
userRouter.DELETE("teacher_vip", teacherVipApi.DeleteTeacherVip) // 删除讲师VIP
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,10 @@ func (u *TeacherVipService) GetTeacherVipList(p request.GetTeacherVipList) (list
|
|||||||
limit := p.PageSize
|
limit := p.PageSize
|
||||||
offset := (p.Page - 1) * p.PageSize
|
offset := (p.Page - 1) * p.PageSize
|
||||||
|
|
||||||
db := global.GVA_DB.Model(&app.TeacherVip{}).Where("teacher_id = ?", p.TeacherId)
|
db := global.GVA_DB.Model(&app.TeacherVip{})
|
||||||
|
if p.TeacherId != 0 {
|
||||||
|
db.Where("teacher_id = ? ", p.TeacherId)
|
||||||
|
}
|
||||||
|
|
||||||
if p.Keyword != "" {
|
if p.Keyword != "" {
|
||||||
db = db.Where("title LIKE ?", "%"+p.Keyword+"%")
|
db = db.Where("title LIKE ?", "%"+p.Keyword+"%")
|
||||||
@@ -49,6 +52,7 @@ func (u *TeacherVipService) CreateTeacherVip(p app.TeacherVip, userId uint) (err
|
|||||||
global.GVA_LOG.Error("当前用户不是讲师,无法创建讲师VIP")
|
global.GVA_LOG.Error("当前用户不是讲师,无法创建讲师VIP")
|
||||||
return errors.New("当前用户不是讲师,无法创建讲师VIP")
|
return errors.New("当前用户不是讲师,无法创建讲师VIP")
|
||||||
}
|
}
|
||||||
|
p.Avatar = user.Avatar
|
||||||
|
|
||||||
err = global.GVA_DB.Create(&p).Error
|
err = global.GVA_DB.Create(&p).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -68,6 +72,14 @@ func (u *TeacherVipService) DeleteTeacherVip(p app.TeacherVip) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (u *TeacherVipService) Update(p app.TeacherVip) (err error) {
|
func (u *TeacherVipService) Update(p app.TeacherVip) (err error) {
|
||||||
|
// 查询讲师头像
|
||||||
|
avatar := ""
|
||||||
|
err = global.GVA_DB.Model(&user2.User{}).Where("id = ?", p.TeacherId).Pluck("avatar", &avatar).Error
|
||||||
|
if err != nil {
|
||||||
|
global.GVA_LOG.Error("查询讲师头像失败", zap.Error(err))
|
||||||
|
}
|
||||||
|
p.Avatar = avatar
|
||||||
|
|
||||||
err = global.GVA_DB.Save(&p).Error
|
err = global.GVA_DB.Save(&p).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
global.GVA_LOG.Error("更新讲师VIP失败", zap.Error(err))
|
global.GVA_LOG.Error("更新讲师VIP失败", zap.Error(err))
|
||||||
@@ -84,3 +96,5 @@ func (u *TeacherVipService) GetTeacherVip(id int) (vip app.TeacherVip, err error
|
|||||||
}
|
}
|
||||||
return vip, nil
|
return vip, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ===========================管理后台接口===========================
|
||||||
|
|||||||
@@ -381,7 +381,7 @@ func (u *AppUserService) GetVipTeacherList(p common.PageInfo, userId uint) (list
|
|||||||
|
|
||||||
// 1. 获取所有购买了讲师VIP的讲师ID
|
// 1. 获取所有购买了讲师VIP的讲师ID
|
||||||
var vipTeacherIds []uint
|
var vipTeacherIds []uint
|
||||||
err = global.GVA_DB.Model(&app.UserTeacherVip{}).Where("user_id = ? and is_expire = 1", userId).Select("id").Scan(&vipTeacherIds).Error
|
err = global.GVA_DB.Model(&app.UserTeacherVip{}).Where("user_id = ? and is_expire = 1", userId).Select("teacher_id").Scan(&vipTeacherIds).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
global.GVA_LOG.Error("获取用户讲师包月信息失败:", zap.Error(err))
|
global.GVA_LOG.Error("获取用户讲师包月信息失败:", zap.Error(err))
|
||||||
return nil, 0, err
|
return nil, 0, err
|
||||||
|
|||||||
Reference in New Issue
Block a user