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.
67 lines
1.8 KiB
67 lines
1.8 KiB
package thirdp |
|
|
|
import ( |
|
"fmt" |
|
|
|
"go-common/library/time" |
|
) |
|
|
|
// MangoRecom is mango recom table structure |
|
type MangoRecom struct { |
|
ID int64 `json:"id"` |
|
RID int64 `json:"rid"` |
|
Rtype int `json:"rtype"` |
|
Title string `json:"title"` |
|
Cover string `json:"cover"` |
|
Category int `json:"category"` |
|
Playcount int64 `json:"playcount"` |
|
JID int64 `json:"jid"` |
|
Content string `json:"content"` |
|
Staff string `json:"staff"` |
|
Rorder int `json:"rorder"` |
|
Mtime time.Time `json:"-"` |
|
} |
|
|
|
// MangoParams is the output structure for mango recom api |
|
type MangoParams struct { |
|
JumpParam string `json:"jump_param"` // combine |
|
Title string `json:"title"` |
|
Cover string `json:"cover"` |
|
Playcount int64 `json:"play_count"` |
|
Category string `json:"category"` // transform to CN |
|
Desc string `json:"desc"` |
|
Staff string `json:"staff"` |
|
Role string `json:"role"` // from DB |
|
PlayTime string `json:"play_time"` // from DB |
|
} |
|
|
|
// MangoOrder struct |
|
type MangoOrder struct { |
|
RIDs []int64 |
|
} |
|
|
|
const ( |
|
_fixStr = "&progress=0&from=mango&resource=rec" |
|
_pgcJump = "yst://com.xiaodianshi.tv.yst?type=3&isBangumi=1&seasonId=%d&epId=%d" + _fixStr |
|
_ugcJump = "yst://com.xiaodianshi.tv.yst?type=3&isBangumi=0&avId=%d&cId=%d" + _fixStr |
|
_rtypePGC = 1 |
|
_rtypeUGC = 2 |
|
) |
|
|
|
// ToParam transforms an MangoRecom from DB to MangoParam for mango OS |
|
func (m *MangoRecom) ToParam() *MangoParams { |
|
param := &MangoParams{ |
|
Title: m.Title, |
|
Cover: m.Cover, |
|
Playcount: m.Playcount, |
|
Desc: m.Content, |
|
Staff: m.Staff, |
|
} |
|
if m.Rtype == _rtypePGC { |
|
param.JumpParam = fmt.Sprintf(_pgcJump, m.RID, m.JID) |
|
} |
|
if m.Rtype == _rtypeUGC { |
|
param.JumpParam = fmt.Sprintf(_ugcJump, m.RID, m.JID) |
|
} |
|
return param |
|
}
|
|
|