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.
181 lines
4.8 KiB
181 lines
4.8 KiB
package http |
|
|
|
import ( |
|
"go-common/app/service/main/ugcpay-rank/internal/model" |
|
) |
|
|
|
// Common . |
|
type Common struct { |
|
Code int `json:"code"` |
|
Message string `json:"message"` |
|
TTL int `json:"ttl"` |
|
} |
|
|
|
// RetRankElecAllAV . |
|
type RetRankElecAllAV struct { |
|
Common |
|
Data *RespRankElecAllAV `json:"data,omitempty"` |
|
} |
|
|
|
// RetRankElecMonth . |
|
type RetRankElecMonth struct { |
|
Common |
|
Data *RespRankElecMonth `json:"data,omitempty"` |
|
} |
|
|
|
// RetRankElecMonthUP . |
|
type RetRankElecMonthUP struct { |
|
Common |
|
Data *RespRankElecMonthUP `json:"data,omitempty"` |
|
} |
|
|
|
// ArgRankElecMonth . |
|
type ArgRankElecMonth struct { |
|
UPMID int64 `form:"up_mid" validate:"required"` // up主MID |
|
AVID int64 `form:"av_id" validate:"required"` |
|
RankSize int `form:"rank_size"` // 榜单大小 |
|
} |
|
|
|
// ArgRankElecMonthUP . |
|
type ArgRankElecMonthUP struct { |
|
UPMID int64 `form:"up_mid" validate:"required"` // up主MID |
|
RankSize int `form:"rank_size"` // 榜单大小 |
|
} |
|
|
|
// RespRankElecElement 榜单元素信息 |
|
type RespRankElecElement struct { |
|
UName string `json:"uname"` // 用户名 |
|
Avatar string `json:"avatar"` // 头像 |
|
MID int64 `json:"mid"` // up主 |
|
PayMID int64 `json:"pay_mid"` // 金主爸爸 |
|
Rank int `json:"rank"` // 排名 |
|
TrendType uint8 `json:"trend_type"` // 上升趋势 |
|
VIP *RespVIPInfo `json:"vip_info"` // VIP 信息 |
|
} |
|
|
|
// Parse . |
|
func (r *RespRankElecElement) Parse(ele *model.RankElecElementProto, upMID int64) { |
|
r.UName = ele.Nickname |
|
r.Avatar = ele.Avatar |
|
r.MID = upMID |
|
r.PayMID = ele.MID |
|
r.Rank = ele.Rank |
|
r.TrendType = ele.TrendType |
|
r.VIP = &RespVIPInfo{} |
|
if ele.VIP != nil { |
|
r.VIP.VIPDueMsec = ele.VIP.DueDate |
|
r.VIP.VIPStatus = ele.VIP.Status |
|
r.VIP.VIPType = ele.VIP.Type |
|
} |
|
} |
|
|
|
// RespRankElecElementDetail 榜单元素详情 |
|
type RespRankElecElementDetail struct { |
|
RespRankElecElement |
|
Message string `json:"message"` // 留言 |
|
MessasgeHidden int `json:"message_hidden"` // |
|
} |
|
|
|
// Parse . |
|
func (r *RespRankElecElementDetail) Parse(ele *model.RankElecElementProto, upMID int64) { |
|
r.RespRankElecElement.Parse(ele, upMID) |
|
if ele.Message != nil { |
|
r.Message = ele.Message.Message |
|
if ele.Message.Hidden { |
|
r.MessasgeHidden = 1 |
|
} else { |
|
r.MessasgeHidden = 0 |
|
} |
|
} |
|
} |
|
|
|
// RespRankElecMonth . |
|
type RespRankElecMonth struct { |
|
AVCount int64 `json:"av_count"` |
|
AVList []*RespRankElecElementDetail `json:"av_list"` |
|
UPCount int64 `json:"up_count"` |
|
UPList []*RespRankElecElementDetail `json:"up_list"` |
|
ShowInfo *RespShowInfo `json:"show_info"` |
|
TotalCount int64 `json:"total_count"` |
|
} |
|
|
|
// Parse . |
|
func (r *RespRankElecMonth) Parse(avRank *model.RankElecAVProto, upRank *model.RankElecUPProto) { |
|
r.AVCount = avRank.Count |
|
r.AVList = make([]*RespRankElecElementDetail, 0) |
|
for _, ele := range avRank.List { |
|
data := &RespRankElecElementDetail{} |
|
data.Parse(ele, avRank.UPMID) |
|
r.AVList = append(r.AVList, data) |
|
} |
|
|
|
r.TotalCount = upRank.CountUPTotalElec |
|
r.UPCount = upRank.Count |
|
r.UPList = make([]*RespRankElecElementDetail, 0) |
|
for _, ele := range upRank.List { |
|
data := &RespRankElecElementDetail{} |
|
data.Parse(ele, upRank.UPMID) |
|
r.UPList = append(r.UPList, data) |
|
} |
|
r.ShowInfo = &RespShowInfo{ |
|
Show: true, |
|
State: 0, |
|
} |
|
} |
|
|
|
// RespRankElecMonthUP . |
|
type RespRankElecMonthUP struct { |
|
Count int64 `json:"count"` // UP主维度月充电数量 |
|
List []*RespRankElecElementDetail `json:"list"` |
|
TotalCount int64 `json:"total_count"` |
|
} |
|
|
|
// Parse . |
|
func (r *RespRankElecMonthUP) Parse(monthlyRank *model.RankElecUPProto) { |
|
r.Count = monthlyRank.Count |
|
r.List = make([]*RespRankElecElementDetail, 0) |
|
for _, ele := range monthlyRank.List { |
|
data := &RespRankElecElementDetail{} |
|
data.Parse(ele, monthlyRank.UPMID) |
|
r.List = append(r.List, data) |
|
} |
|
r.TotalCount = monthlyRank.CountUPTotalElec |
|
} |
|
|
|
// RespRankElecAllAV . |
|
type RespRankElecAllAV struct { |
|
TotalCount int64 `json:"total_count"` |
|
List []*RespRankElecElementDetail `json:"list"` |
|
} |
|
|
|
// Parse . |
|
func (r *RespRankElecAllAV) Parse(rank *model.RankElecAVProto) { |
|
r.TotalCount = rank.Count |
|
r.List = make([]*RespRankElecElementDetail, 0) |
|
for _, ele := range rank.List { |
|
data := &RespRankElecElementDetail{} |
|
data.Parse(ele, rank.UPMID) |
|
r.List = append(r.List, data) |
|
} |
|
} |
|
|
|
// RespElecReply . |
|
type RespElecReply struct { |
|
ReplyMID int64 `json:"reply_mid"` |
|
ReplyMSG string `json:"reply_msg"` |
|
ReplyName string `json:"reply_name"` |
|
ReplyTime int64 `json:"reply_time"` |
|
} |
|
|
|
// RespVIPInfo . |
|
type RespVIPInfo struct { |
|
VIPDueMsec int64 `json:"vipDueMsec"` |
|
VIPStatus int32 `json:"vipStatus"` |
|
VIPType int32 `json:"vipType"` |
|
} |
|
|
|
// RespShowInfo . |
|
type RespShowInfo struct { |
|
Show bool `json:"show"` |
|
State int64 `json:"state"` |
|
}
|
|
|