Files
lckt-server/service/app/teacher_vip.go

87 lines
2.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package app
import (
"errors"
"git.echol.cn/loser/lckt/global"
"git.echol.cn/loser/lckt/model/app"
"git.echol.cn/loser/lckt/model/app/request"
user2 "git.echol.cn/loser/lckt/model/user"
"go.uber.org/zap"
)
type TeacherVipService struct{}
// GetTeacherVipList 获取讲师包月列表
func (u *TeacherVipService) GetTeacherVipList(p request.GetTeacherVipList) (list []app.TeacherVip, total int64, err error) {
limit := p.PageSize
offset := (p.Page - 1) * p.PageSize
db := global.GVA_DB.Model(&app.TeacherVip{}).Where("teacher_id = ?", p.TeacherId)
if p.Keyword != "" {
db = db.Where("title LIKE ?", "%"+p.Keyword+"%")
}
err = db.Count(&total).Error
if err != nil {
global.GVA_LOG.Error("查询讲师包月总数失败", zap.Error(err))
return nil, 0, err
}
err = db.Limit(limit).Offset(offset).Find(&list).Error
if err != nil {
global.GVA_LOG.Error("查询讲师包月列表失败", zap.Error(err))
return nil, 0, err
}
return
}
func (u *TeacherVipService) CreateTeacherVip(p app.TeacherVip, userId uint) (err error) {
// 判断是否是讲师
var user user2.User
err = global.GVA_DB.Where("id = ?", userId).First(&user).Error
if err != nil {
global.GVA_LOG.Error("查询用户信息失败:", zap.Error(err))
return err
}
if user.UserType != 2 {
// 不是讲师
global.GVA_LOG.Error("当前用户不是讲师无法创建讲师VIP")
return errors.New("当前用户不是讲师无法创建讲师VIP")
}
err = global.GVA_DB.Create(&p).Error
if err != nil {
global.GVA_LOG.Error("创建讲师VIP失败", zap.Error(err))
return err
}
return nil
}
func (u *TeacherVipService) DeleteTeacherVip(p app.TeacherVip) (err error) {
err = global.GVA_DB.Delete(&p).Error
if err != nil {
global.GVA_LOG.Error("删除讲师VIP失败", zap.Error(err))
return err
}
return nil
}
func (u *TeacherVipService) Update(p app.TeacherVip) (err error) {
err = global.GVA_DB.Save(&p).Error
if err != nil {
global.GVA_LOG.Error("更新讲师VIP失败", zap.Error(err))
return err
}
return nil
}
func (u *TeacherVipService) GetTeacherVip(id int) (vip app.TeacherVip, err error) {
err = global.GVA_DB.Where("id = ?", id).First(&vip).Error
if err != nil {
global.GVA_LOG.Error("获取讲师VIP失败", zap.Error(err))
return vip, err
}
return vip, nil
}