You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
3.8 KiB
159 lines
3.8 KiB
package model |
|
|
|
import ( |
|
"go-common/app/interface/main/dm2/model" |
|
tagmdl "go-common/app/interface/main/tag/model" |
|
accmdl "go-common/app/service/main/account/model" |
|
arcmdl "go-common/app/service/main/archive/api" |
|
ugcmdl "go-common/app/service/main/ugcpay/api/grpc/v1" |
|
) |
|
|
|
// View view data |
|
type View struct { |
|
// archive data |
|
*arcmdl.Arc |
|
NoCache bool `json:"no_cache"` |
|
// video data pages |
|
Pages []*arcmdl.Page `json:"pages,omitempty"` |
|
Subtitle *Subtitle `json:"subtitle"` |
|
Asset *ugcmdl.AssetQueryResp `json:"asset,omitempty"` |
|
} |
|
|
|
// AssetRelation . |
|
type AssetRelation struct { |
|
State int `json:"state"` |
|
} |
|
|
|
// Stat archive stat web struct |
|
type Stat struct { |
|
Aid int64 `json:"aid"` |
|
View interface{} `json:"view"` |
|
Danmaku int32 `json:"danmaku"` |
|
Reply int32 `json:"reply"` |
|
Fav int32 `json:"favorite"` |
|
Coin int32 `json:"coin"` |
|
Share int32 `json:"share"` |
|
Like int32 `json:"like"` |
|
NowRank int32 `json:"now_rank"` |
|
HisRank int32 `json:"his_rank"` |
|
NoReprint int32 `json:"no_reprint"` |
|
Copyright int32 `json:"copyright"` |
|
} |
|
|
|
// Detail detail data |
|
type Detail struct { |
|
View *View |
|
Card *Card |
|
Tags []*tagmdl.Tag |
|
Reply *ReplyHot |
|
Related []*arcmdl.Arc |
|
} |
|
|
|
// ArchiveUserCoins . |
|
type ArchiveUserCoins struct { |
|
Multiply int64 `json:"multiply"` |
|
} |
|
|
|
// Subtitle dm subTitle. |
|
type Subtitle struct { |
|
AllowSubmit bool `json:"allow_submit"` |
|
List []*SubtitleItem `json:"list"` |
|
} |
|
|
|
// SubtitleItem dm subTitle. |
|
type SubtitleItem struct { |
|
*model.VideoSubtitle |
|
Author *accmdl.Info `json:"author"` |
|
} |
|
|
|
// TripleRes struct |
|
type TripleRes struct { |
|
Like bool `json:"like"` |
|
Coin bool `json:"coin"` |
|
Fav bool `json:"fav"` |
|
Multiply int64 `json:"multiply"` |
|
UpID int64 `json:"-"` |
|
Anticheat bool `json:"-"` |
|
} |
|
|
|
var ( |
|
// StatAllowStates archive stat allow states |
|
statAllowStates = []int32{-9, -15, -30} |
|
) |
|
|
|
// CheckAllowState check archive stat allow state |
|
func CheckAllowState(arc *arcmdl.Arc) bool { |
|
if arc.IsNormal() { |
|
return true |
|
} |
|
for _, allow := range statAllowStates { |
|
if arc.State == allow { |
|
return true |
|
} |
|
} |
|
return false |
|
} |
|
|
|
// FmtArc fmt grpc arc to archive3 |
|
func FmtArc(arc *arcmdl.Arc) (data *arcmdl.Arc) { |
|
data = &arcmdl.Arc{ |
|
Aid: arc.Aid, |
|
Videos: arc.Videos, |
|
TypeID: arc.TypeID, |
|
TypeName: arc.TypeName, |
|
Copyright: arc.Copyright, |
|
Pic: arc.Pic, |
|
Title: arc.Title, |
|
PubDate: arc.PubDate, |
|
Ctime: arc.Ctime, |
|
Desc: arc.Desc, |
|
State: arc.State, |
|
Access: arc.Access, |
|
Attribute: arc.Attribute, |
|
Tag: arc.Tag, |
|
Tags: arc.Tags, |
|
Duration: arc.Duration, |
|
MissionID: arc.MissionID, |
|
OrderID: arc.OrderID, |
|
RedirectURL: arc.RedirectURL, |
|
Forward: arc.Forward, |
|
Rights: arcmdl.Rights{ |
|
Bp: arc.Rights.Bp, |
|
Elec: arc.Rights.Elec, |
|
Download: arc.Rights.Download, |
|
Movie: arc.Rights.Movie, |
|
Pay: arc.Rights.Pay, |
|
HD5: arc.Rights.HD5, |
|
NoReprint: arc.Rights.NoReprint, |
|
Autoplay: arc.Rights.Autoplay, |
|
UGCPay: arc.Rights.UGCPay, |
|
}, |
|
Author: arcmdl.Author{ |
|
Mid: arc.Author.Mid, |
|
Name: arc.Author.Name, |
|
Face: arc.Author.Face, |
|
}, |
|
Stat: arcmdl.Stat{ |
|
Aid: arc.Stat.Aid, |
|
View: arc.Stat.View, |
|
Danmaku: arc.Stat.Danmaku, |
|
Reply: arc.Stat.Reply, |
|
Fav: arc.Stat.Fav, |
|
Coin: arc.Stat.Coin, |
|
Share: arc.Stat.Share, |
|
NowRank: arc.Stat.NowRank, |
|
HisRank: arc.Stat.HisRank, |
|
Like: arc.Stat.Like, |
|
DisLike: arc.Stat.DisLike, |
|
}, |
|
ReportResult: arc.ReportResult, |
|
Dynamic: arc.Dynamic, |
|
FirstCid: arc.FirstCid, |
|
Dimension: arcmdl.Dimension{ |
|
Width: arc.Dimension.Width, |
|
Height: arc.Dimension.Height, |
|
Rotate: arc.Dimension.Rotate, |
|
}, |
|
} |
|
return |
|
}
|
|
|