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.
130 lines
3.0 KiB
130 lines
3.0 KiB
package model |
|
|
|
import ( |
|
"strconv" |
|
|
|
v1 "go-common/app/service/main/account/api" |
|
mmodel "go-common/app/service/main/member/model" |
|
) |
|
|
|
// AccJavaInfo thin infomartion |
|
type AccJavaInfo struct { |
|
Mid int64 `json:"mid"` |
|
Scores int32 `json:"scores"` |
|
JoinTime int32 `json:"jointime"` |
|
Silence int32 `json:"silence"` |
|
EmailStatus int32 `json:"email_status"` |
|
TelStatus int32 `json:"tel_status"` |
|
Identification int32 `json:"identification"` |
|
Moral int32 `json:"moral"` |
|
Nameplate struct { |
|
Nid int `json:"nid"` |
|
Name string `json:"name"` |
|
Image string `json:"image"` |
|
ImageSmall string `json:"image_small"` |
|
Level string `json:"level"` |
|
Condition string `json:"condition"` |
|
} `json:"nameplate"` |
|
} |
|
|
|
// OldInfo old info. |
|
type OldInfo struct { |
|
Mid string `json:"mid"` |
|
Name string `json:"uname"` |
|
Sex string `json:"sex"` |
|
Sign string `json:"sign"` |
|
Avatar string `json:"avatar"` |
|
Rank string `json:"rank"` |
|
DisplayRank string `json:"DisplayRank"` |
|
LevelInfo mmodel.LevelInfo `json:"level_info"` |
|
Official OldOfficial `json:"official_verify"` |
|
Vip v1.VipInfo `json:"vip"` |
|
} |
|
|
|
// OldOfficial old official. |
|
type OldOfficial struct { |
|
Type int8 `json:"type"` |
|
Desc string `json:"desc"` |
|
} |
|
|
|
// CvtOfficial is used to convert to old official. |
|
func CvtOfficial(o v1.OfficialInfo) OldOfficial { |
|
old := OldOfficial{} |
|
if o.Role == 0 { |
|
old.Type = -1 |
|
} else { |
|
if o.Role <= 2 { |
|
old.Type = 0 |
|
} else { |
|
old.Type = 1 |
|
} |
|
old.Desc = o.Title |
|
} |
|
return old |
|
} |
|
|
|
// Info old info -> info. |
|
func (oi *OldInfo) Info() *v1.Info { |
|
mid, _ := strconv.ParseInt(oi.Mid, 10, 64) |
|
rank, _ := strconv.ParseInt(oi.Rank, 10, 64) |
|
i := &v1.Info{ |
|
Mid: mid, |
|
Name: oi.Name, |
|
Sex: oi.Sex, |
|
Face: oi.Avatar, |
|
Sign: oi.Sign, |
|
Rank: int32(rank), |
|
} |
|
return i |
|
} |
|
|
|
// Relation relation. |
|
type Relation struct { |
|
Following bool `json:"following"` |
|
} |
|
|
|
// ProfileStat profile with stat. |
|
type ProfileStat struct { |
|
*v1.Profile |
|
LevelExp mmodel.LevelInfo `json:"level_exp"` |
|
Coins float64 `json:"coins"` |
|
Following int64 `json:"following"` |
|
Follower int64 `json:"follower"` |
|
} |
|
|
|
// SearchMemberResult is. |
|
type SearchMemberResult struct { |
|
Order string `json:"order"` |
|
Sort string `json:"sort"` |
|
Result []struct { |
|
Mid int64 `json:"mid"` |
|
} `json:"result"` |
|
Page Page `json:"page"` |
|
} |
|
|
|
// Privacy . |
|
type Privacy struct { |
|
Realname string `json:"realname"` |
|
IdentityCard string `json:"identity_card"` |
|
IdentitySex string `json:"identity_sex"` |
|
Tel string `json:"tel"` |
|
RegIP string `json:"reg_ip"` |
|
RegTS int64 `json:"reg_ts"` |
|
HandIMG string `json:"hand_img"` |
|
} |
|
|
|
// Page page. |
|
type Page struct { |
|
Num int `json:"num"` |
|
Size int `json:"size"` |
|
Total int `json:"total"` |
|
} |
|
|
|
// Mids is. |
|
func (r *SearchMemberResult) Mids() []int64 { |
|
mids := make([]int64, 0, len(r.Result)) |
|
for _, r := range r.Result { |
|
mids = append(mids, r.Mid) |
|
} |
|
return mids |
|
}
|
|
|