123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- package model
- import (
- "go-common/library/time"
- )
- // All const variable used in dm subject
- const (
- AttrNo = int32(0) // no
- AttrYes = int32(1) // yes
- SubTypeVideo = int32(1) // 主题类型
- SubStateOpen = int32(0) // 主题打开
- SubStateClosed = int32(1) // 主题关闭
- AttrSubGuest = uint(0) // 允许游客弹幕
- AttrSubSpolier = uint(1) // 允许剧透弹幕
- AttrSubMission = uint(2) // 允许活动弹幕
- AttrSubAdvance = uint(3) // 允许高级弹幕
- AttrSubMonitorBefore = uint(4) // 弹幕先审后发
- AttrSubMonitorAfter = uint(5) // 弹幕先发后审
- AttrSubMaskOpen = uint(6) // 开启蒙版
- AttrSubMblMaskReady = uint(7) // 移动端蒙版生产完成
- AttrSubWebMaskReady = uint(8) // web端蒙版生产完成
- )
- // Subject dm_subject
- type Subject struct {
- ID int64 `json:"id"`
- Type int32 `json:"type"`
- Oid int64 `json:"oid"`
- Pid int64 `json:"pid"`
- Mid int64 `json:"mid"`
- State int32 `json:"state"`
- Attr int32 `json:"attr"`
- ACount int64 `json:"acount"`
- Count int64 `json:"count"`
- MCount int64 `json:"mcount"`
- MoveCnt int64 `json:"move_count"`
- Maxlimit int64 `json:"maxlimit"`
- Childpool int32 `json:"childpool"`
- Ctime time.Time `json:"ctime"`
- Mtime time.Time `json:"mtime"`
- }
- // SubjectLog subject log
- type SubjectLog struct {
- UID int64 `json:"uid"`
- Uname string `json:"uname"`
- Oid int64 `json:"oid"`
- Action string `json:"action"`
- Comment string `json:"comment"`
- Ctime string `json:"ctime"`
- }
- // SeasonInfo season info.
- type SeasonInfo struct {
- Aid int64 `json:"aid"`
- Cid int64 `json:"cid"`
- Epid int64 `json:"ep_id"`
- Ssid int64 `json:"season_id"`
- State int64 `json:"is_delete"`
- LTitle string `json:"long_title"`
- Title string `json:"title"`
- }
- // SearchSubjectReq search subject request.
- type SearchSubjectReq struct {
- Oids, Aids, Mids, Attrs []int64
- State int64
- Pn, Ps int64
- Sort, Order string
- }
- // SearchSubjectResult result from search
- type SearchSubjectResult struct {
- Page *Page
- Result []*struct {
- Oid int64 `json:"oid"`
- } `json:"result"`
- }
- // SearchSubjectLog get subject logs
- type SearchSubjectLog struct {
- Page *Page
- Result []*struct {
- UID int64 `json:"uid"`
- Uname string `json:"uname"`
- Oid int64 `json:"oid"`
- Action string `json:"action"`
- ExtraData string `json:"extra_data"`
- Ctime string `json:"ctime"`
- }
- }
- // AttrVal return val of subject'attr
- func (s *Subject) AttrVal(bit uint) int32 {
- return (s.Attr >> bit) & int32(1)
- }
- // AttrSet set val of subject'attr
- func (s *Subject) AttrSet(v int32, bit uint) {
- s.Attr = s.Attr&(^(1 << bit)) | (v << bit)
- }
- // IsMonitoring check if the subject is monitoring or not.
- func (s *Subject) IsMonitoring() bool {
- return s.AttrVal(AttrSubMonitorBefore) == AttrYes ||
- s.AttrVal(AttrSubMonitorAfter) == AttrYes
- }
|