package model import ( "admin/apps/game/model/dto" "admin/internal/db" "admin/internal/errcode" "admin/internal/global" "time" ) func init() { db.RegisterTableModels(ItemBag{}) } // 道具包,配置一系列道具,供邮件、礼包码填写使用 type ItemBag struct { ID int `gorm:"primarykey" readonly:"true"` ProjectId int `gorm:"uniqueIndex:idx_bag"` Name string `gorm:"type:varchar(255);uniqueIndex:idx_bag" name:"礼包名称" desc:"请输入礼包名称,全项目唯一" required:"true" where:"eq"` Attach []*MailAttachItem `gorm:"type:json;serializer:json" name:"邮件附件" type:"items" desc:"搜索道具并点击添加" required:"true"` CreatedAt time.Time `readonly:"true" where:"range"` UpdatedAt time.Time `readonly:"true"` } func (lm *ItemBag) TableName() string { return "item_bag" } func (m *ItemBag) GetId() int { return m.ID } func (m *ItemBag) GetChoiceServers(project *Project) []*dto.CommonDtoFieldChoice { return getChoiceServers(project) } func (m *ItemBag) GetWhitelistTypeChoices(project *Project) []*dto.CommonDtoFieldChoice { return []*dto.CommonDtoFieldChoice{ {Desc: "IP", Value: "ip"}, {Desc: "账号", Value: "account"}, } } func (m *ItemBag) List(projectId int) ([]*ItemBag, error) { list := make([]*ItemBag, 0) err := global.GLOB_DB.Where("project_id = ?", projectId).Order("created_at desc").Find(&list).Error if err != nil { return list, errcode.New(errcode.DBError, "list all item bag error:%v", err) } return list, nil }