12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package model
- import (
- "time"
- "github.com/sirupsen/logrus"
- "gogs.daxia.dev/huanan/pkg.daxia.dev/db"
- "gorm.io/gorm"
- )
- type GameDisable struct {
- gorm.Model
- UserID int32
- ExpiredAt time.Time
- }
- func (GameDisable) TableName() string {
- return "game_disable"
- }
- func (p GameDisable) Init() error {
- var err error
- if !db.GetDB().Migrator().HasTable(p) {
- err = db.GetDB().Migrator().CreateTable(p)
- if err != nil {
- logrus.Error(err)
- return err
- }
- err = db.GetDB().Exec("create unique index idx_user_id on game_disable (user_id)").Error
- if err != nil {
- return err
- }
- }
- return nil
- }
- func (p GameDisable) IsDisable(userID int32) (bool, error) {
- gameDisableModel := GameDisable{}
- err := db.GetDB().Model(p).Where("user_id = ?", userID).First(&gameDisableModel).Error
- if err == gorm.ErrRecordNotFound {
- return false, nil
- }
- if err != nil {
- return false, err
- }
- if time.Now().Before(gameDisableModel.ExpiredAt) {
- return true, nil
- }
- return false, nil
- }
|