model.go 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package http
  2. import (
  3. "go-common/app/service/main/ugcpay-rank/internal/model"
  4. )
  5. // Common .
  6. type Common struct {
  7. Code int `json:"code"`
  8. Message string `json:"message"`
  9. TTL int `json:"ttl"`
  10. }
  11. // RetRankElecAllAV .
  12. type RetRankElecAllAV struct {
  13. Common
  14. Data *RespRankElecAllAV `json:"data,omitempty"`
  15. }
  16. // RetRankElecMonth .
  17. type RetRankElecMonth struct {
  18. Common
  19. Data *RespRankElecMonth `json:"data,omitempty"`
  20. }
  21. // RetRankElecMonthUP .
  22. type RetRankElecMonthUP struct {
  23. Common
  24. Data *RespRankElecMonthUP `json:"data,omitempty"`
  25. }
  26. // ArgRankElecMonth .
  27. type ArgRankElecMonth struct {
  28. UPMID int64 `form:"up_mid" validate:"required"` // up主MID
  29. AVID int64 `form:"av_id" validate:"required"`
  30. RankSize int `form:"rank_size"` // 榜单大小
  31. }
  32. // ArgRankElecMonthUP .
  33. type ArgRankElecMonthUP struct {
  34. UPMID int64 `form:"up_mid" validate:"required"` // up主MID
  35. RankSize int `form:"rank_size"` // 榜单大小
  36. }
  37. // RespRankElecElement 榜单元素信息
  38. type RespRankElecElement struct {
  39. UName string `json:"uname"` // 用户名
  40. Avatar string `json:"avatar"` // 头像
  41. MID int64 `json:"mid"` // up主
  42. PayMID int64 `json:"pay_mid"` // 金主爸爸
  43. Rank int `json:"rank"` // 排名
  44. TrendType uint8 `json:"trend_type"` // 上升趋势
  45. VIP *RespVIPInfo `json:"vip_info"` // VIP 信息
  46. }
  47. // Parse .
  48. func (r *RespRankElecElement) Parse(ele *model.RankElecElementProto, upMID int64) {
  49. r.UName = ele.Nickname
  50. r.Avatar = ele.Avatar
  51. r.MID = upMID
  52. r.PayMID = ele.MID
  53. r.Rank = ele.Rank
  54. r.TrendType = ele.TrendType
  55. r.VIP = &RespVIPInfo{}
  56. if ele.VIP != nil {
  57. r.VIP.VIPDueMsec = ele.VIP.DueDate
  58. r.VIP.VIPStatus = ele.VIP.Status
  59. r.VIP.VIPType = ele.VIP.Type
  60. }
  61. }
  62. // RespRankElecElementDetail 榜单元素详情
  63. type RespRankElecElementDetail struct {
  64. RespRankElecElement
  65. Message string `json:"message"` // 留言
  66. MessasgeHidden int `json:"message_hidden"` //
  67. }
  68. // Parse .
  69. func (r *RespRankElecElementDetail) Parse(ele *model.RankElecElementProto, upMID int64) {
  70. r.RespRankElecElement.Parse(ele, upMID)
  71. if ele.Message != nil {
  72. r.Message = ele.Message.Message
  73. if ele.Message.Hidden {
  74. r.MessasgeHidden = 1
  75. } else {
  76. r.MessasgeHidden = 0
  77. }
  78. }
  79. }
  80. // RespRankElecMonth .
  81. type RespRankElecMonth struct {
  82. AVCount int64 `json:"av_count"`
  83. AVList []*RespRankElecElementDetail `json:"av_list"`
  84. UPCount int64 `json:"up_count"`
  85. UPList []*RespRankElecElementDetail `json:"up_list"`
  86. ShowInfo *RespShowInfo `json:"show_info"`
  87. TotalCount int64 `json:"total_count"`
  88. }
  89. // Parse .
  90. func (r *RespRankElecMonth) Parse(avRank *model.RankElecAVProto, upRank *model.RankElecUPProto) {
  91. r.AVCount = avRank.Count
  92. r.AVList = make([]*RespRankElecElementDetail, 0)
  93. for _, ele := range avRank.List {
  94. data := &RespRankElecElementDetail{}
  95. data.Parse(ele, avRank.UPMID)
  96. r.AVList = append(r.AVList, data)
  97. }
  98. r.TotalCount = upRank.CountUPTotalElec
  99. r.UPCount = upRank.Count
  100. r.UPList = make([]*RespRankElecElementDetail, 0)
  101. for _, ele := range upRank.List {
  102. data := &RespRankElecElementDetail{}
  103. data.Parse(ele, upRank.UPMID)
  104. r.UPList = append(r.UPList, data)
  105. }
  106. r.ShowInfo = &RespShowInfo{
  107. Show: true,
  108. State: 0,
  109. }
  110. }
  111. // RespRankElecMonthUP .
  112. type RespRankElecMonthUP struct {
  113. Count int64 `json:"count"` // UP主维度月充电数量
  114. List []*RespRankElecElementDetail `json:"list"`
  115. TotalCount int64 `json:"total_count"`
  116. }
  117. // Parse .
  118. func (r *RespRankElecMonthUP) Parse(monthlyRank *model.RankElecUPProto) {
  119. r.Count = monthlyRank.Count
  120. r.List = make([]*RespRankElecElementDetail, 0)
  121. for _, ele := range monthlyRank.List {
  122. data := &RespRankElecElementDetail{}
  123. data.Parse(ele, monthlyRank.UPMID)
  124. r.List = append(r.List, data)
  125. }
  126. r.TotalCount = monthlyRank.CountUPTotalElec
  127. }
  128. // RespRankElecAllAV .
  129. type RespRankElecAllAV struct {
  130. TotalCount int64 `json:"total_count"`
  131. List []*RespRankElecElementDetail `json:"list"`
  132. }
  133. // Parse .
  134. func (r *RespRankElecAllAV) Parse(rank *model.RankElecAVProto) {
  135. r.TotalCount = rank.Count
  136. r.List = make([]*RespRankElecElementDetail, 0)
  137. for _, ele := range rank.List {
  138. data := &RespRankElecElementDetail{}
  139. data.Parse(ele, rank.UPMID)
  140. r.List = append(r.List, data)
  141. }
  142. }
  143. // RespElecReply .
  144. type RespElecReply struct {
  145. ReplyMID int64 `json:"reply_mid"`
  146. ReplyMSG string `json:"reply_msg"`
  147. ReplyName string `json:"reply_name"`
  148. ReplyTime int64 `json:"reply_time"`
  149. }
  150. // RespVIPInfo .
  151. type RespVIPInfo struct {
  152. VIPDueMsec int64 `json:"vipDueMsec"`
  153. VIPStatus int32 `json:"vipStatus"`
  154. VIPType int32 `json:"vipType"`
  155. }
  156. // RespShowInfo .
  157. type RespShowInfo struct {
  158. Show bool `json:"show"`
  159. State int64 `json:"state"`
  160. }