go-common/app/job/main/tv/model/ugc/upper.go
2019-04-22 18:49:16 +08:00

72 lines
1.5 KiB
Go

package ugc
import "strings"
// Upper reprensents the uppers
type Upper struct {
MID int64
Toinit int
Submit int // 1=need report
OriName string // original name
CMSName string // cms intervened name
OriFace string // original face
CMSFace string // cms intervened face
Valid int // auth info: 1=online,0=hidden
Deleted int
}
// EasyUp is the simple version of upper
type EasyUp struct {
MID int64
Name string
Face string
}
// ToUpper transform an EasyUp to Upper
func (u *EasyUp) ToUpper(ori *Upper) *Upper {
if ori == nil { // if no original data is given
ori = &Upper{
Valid: 1,
}
}
return &Upper{
MID: u.MID,
OriFace: u.Face,
CMSFace: u.Face,
OriName: u.Name,
CMSName: u.Name,
Toinit: ori.Toinit,
Submit: ori.Submit,
Valid: ori.Valid,
Deleted: ori.Deleted,
}
}
// IsSame returns whether the upper is the same
func (u *Upper) IsSame(name, face string) (f bool, n bool) {
n = u.OriName == name
if strings.Contains(u.OriFace, "bfs") &&
strings.Contains(face, "bfs") {
f = bfsFName(u.OriFace) == bfsFName(face)
} else {
f = u.OriFace == face
}
return
}
// bfsFName picks the file name from bfs url
func bfsFName(bfsurl string) (fileName string) {
var index = strings.LastIndex(bfsurl, "/")
if index >= 0 && index+1 < len(bfsurl) {
fileName = bfsurl[index+1:]
}
return
}
// ReqSetUp is the structure of request to function in Dao, set upper value
type ReqSetUp struct {
Value string
MID int64
UpType int
}