123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- package http
- import (
- "strconv"
- v1 "go-common/app/service/main/account/api"
- "go-common/app/service/main/account/model"
- bm "go-common/library/net/http/blademaster"
- )
- // v1Info
- func v1Info(c *bm.Context) {
- p := new(model.ParamMid)
- if err := c.Bind(p); err != nil {
- return
- }
- card, err := accSvc.Card(c, p.Mid)
- if err != nil {
- c.JSON(nil, err)
- return
- }
- i := &V1Info{}
- i.FromCard(card)
- c.JSON(i, nil)
- }
- // v1Infos
- func v1Infos(c *bm.Context) {
- p := new(model.ParamMids)
- if err := c.Bind(p); err != nil {
- return
- }
- cards, err := accSvc.Cards(c, p.Mids)
- if err != nil {
- c.JSON(nil, err)
- return
- }
- im := make(map[int64]*V1Info, len(cards))
- for _, card := range cards {
- i := &V1Info{}
- i.FromCard(card)
- im[card.Mid] = i
- }
- c.JSON(im, nil)
- }
- // card
- func v1Card(c *bm.Context) {
- p := new(model.ParamMid)
- if err := c.Bind(p); err != nil {
- return
- }
- ps, err := accSvc.ProfileWithStat(c, p.Mid)
- if err != nil {
- c.JSON(nil, err)
- return
- }
- card := &V1Card{}
- card.FromProfile(ps)
- c.JSON(card, nil)
- }
- // vip
- func v1Vip(c *bm.Context) {
- p := new(model.ParamMid)
- if err := c.Bind(p); err != nil {
- return
- }
- vi, err := accSvc.Vip(c, p.Mid)
- if err != nil {
- c.JSON(nil, err)
- return
- }
- v := &V1Vip{}
- v.FromVip(vi)
- c.JSON(v, nil)
- }
- // V1Info info.
- type V1Info 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 struct {
- Cur int `json:"current_level"`
- Min int `json:"current_min"`
- NowExp int `json:"current_exp"`
- NextExp interface{} `json:"next_exp"`
- } `json:"level_info"`
- Pendant v1.PendantInfo `json:"pendant"`
- Nameplate v1.NameplateInfo `json:"nameplate"`
- OfficialVerify model.OldOfficial `json:"official_verify"`
- 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"`
- } `json:"vip"`
- }
- // FromCard from card.
- func (i *V1Info) FromCard(c *v1.Card) {
- i.Mid = strconv.FormatInt(c.Mid, 10)
- i.Name = c.Name
- i.Sex = c.Sex
- i.Sign = c.Sign
- i.Avatar = c.Face
- i.Rank = strconv.FormatInt(int64(c.Rank), 10)
- i.DisplayRank = "0"
- i.LevelInfo.Cur = int(c.Level)
- i.LevelInfo.Min = 0
- i.LevelInfo.NowExp = 0
- i.LevelInfo.NextExp = 0
- i.Pendant = c.Pendant
- i.Nameplate = c.Nameplate
- i.OfficialVerify = model.CvtOfficial(c.Official)
- i.Vip.Type = int(c.Vip.Type)
- i.Vip.VipStatus = int(c.Vip.Status)
- i.Vip.DueDate = c.Vip.DueDate
- }
- // V1Card card
- type V1Card struct {
- Mid string `json:"mid"`
- Name string `json:"name"`
- Approve bool `json:"approve"`
- Sex string `json:"sex"`
- Rank string `json:"rank"`
- Face string `json:"face"`
- DisplayRank string `json:"DisplayRank"`
- Regtime int64 `json:"regtime"`
- Spacesta int `json:"spacesta"`
- Birthday string `json:"birthday"`
- Place string `json:"place"`
- Description string `json:"description"`
- Article int `json:"article"`
- Attentions []int64 `json:"attentions"`
- Fans int `json:"fans"`
- Friend int `json:"friend"`
- Attention int `json:"attention"`
- Sign string `json:"sign"`
- LevelInfo struct {
- Cur int `json:"current_level"`
- Min int `json:"current_min"`
- NowExp int `json:"current_exp"`
- NextExp interface{} `json:"next_exp"`
- } `json:"level_info"`
- Pendant v1.PendantInfo `json:"pendant"`
- Nameplate v1.NameplateInfo `json:"nameplate"`
- OfficialVerify model.OldOfficial `json:"official_verify"`
- 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"`
- } `json:"vip"`
- }
- // FromProfile from profile.
- func (i *V1Card) FromProfile(c *model.ProfileStat) {
- i.Mid = strconv.FormatInt(c.Mid, 10)
- i.Name = c.Name
- i.Sex = c.Sex
- i.Sign = c.Sign
- i.Face = c.Face
- i.Rank = strconv.FormatInt(int64(c.Rank), 10)
- i.DisplayRank = "0"
- i.Regtime = int64(c.JoinTime)
- if c.Silence == 1 {
- i.Spacesta = -2
- }
- i.Attentions = []int64{}
- i.Fans = int(c.Follower)
- i.Attention = int(c.Following)
- i.LevelInfo.Cur = int(c.Level)
- i.LevelInfo.Min = int(c.LevelExp.Min)
- i.LevelInfo.NowExp = int(c.LevelExp.NowExp)
- i.LevelInfo.NextExp = c.LevelExp.NextExp
- if c.LevelExp.NowExp == -1 {
- i.LevelInfo.NextExp = "--"
- }
- i.Pendant = c.Pendant
- i.Nameplate = c.Nameplate
- i.OfficialVerify = model.CvtOfficial(c.Official)
- i.Vip.Type = int(c.Vip.Type)
- i.Vip.VipStatus = int(c.Vip.Status)
- i.Vip.DueDate = c.Vip.DueDate
- }
- // V1Vip vip
- type V1Vip 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"`
- }
- // FromVip from vip.
- func (v *V1Vip) FromVip(vi *v1.VipInfo) {
- v.Type = int(vi.Type)
- v.VipStatus = int(vi.Status)
- v.DueDate = vi.DueDate
- }
|