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.
43 lines
1.5 KiB
43 lines
1.5 KiB
package relation |
|
|
|
import ( |
|
accv1 "go-common/app/service/main/account/api" |
|
relation "go-common/app/service/main/relation/model" |
|
) |
|
|
|
type Vip struct { |
|
Type int `json:"vipType"` |
|
DueDate int64 `json:"vipDueDate"` |
|
DueRemark string `json:"dueRemark"` |
|
AccessStatus int `json:"accessStatus"` |
|
VipStatus int `json:"vipStatus"` |
|
VipStatusWarn string `json:"vipStatusWarn"` |
|
} |
|
|
|
// Following is user followinng info. |
|
type Following struct { |
|
*relation.Following |
|
Uname string `json:"uname"` |
|
Face string `json:"face"` |
|
Sign string `json:"sign"` |
|
OfficialVerify accv1.OfficialInfo `json:"official_verify"` |
|
Vip Vip `json:"vip"` |
|
Live int `json:"live"` |
|
} |
|
|
|
type Tag struct { |
|
Mid int64 `json:"mid"` |
|
Uname string `json:"uname"` |
|
Face string `json:"face"` |
|
Sign string `json:"sign"` |
|
OfficialVerify accv1.OfficialInfo `json:"official_verify"` |
|
Vip Vip `json:"vip"` |
|
Live int `json:"live"` |
|
} |
|
|
|
// ByMTime implements sort.Interface for []model.Following based on the MTime field. |
|
type ByMTime []*relation.Following |
|
|
|
func (mt ByMTime) Len() int { return len(mt) } |
|
func (mt ByMTime) Swap(i, j int) { mt[i], mt[j] = mt[j], mt[i] } |
|
func (mt ByMTime) Less(i, j int) bool { return mt[i].MTime < mt[j].MTime }
|
|
|