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.
76 lines
2.0 KiB
76 lines
2.0 KiB
package v2 |
|
|
|
import ( |
|
"context" |
|
|
|
v2pb "go-common/app/interface/live/app-interface/api/http/v2" |
|
) |
|
|
|
// getActivityCard 活动模块 |
|
func (s *IndexService) getActivityCard(ctx context.Context) (resp []*v2pb.MActivityCard) { |
|
resp = []*v2pb.MActivityCard{} |
|
ids := s.getIdsFromModuleMap(ctx, []int64{_activityType}) |
|
if len(ids) <= 0 { |
|
return |
|
} |
|
err, activityCardMap := s.roomDao.GetActivityCard(ctx, ids, "GetAllList") |
|
if err != nil { |
|
return |
|
} |
|
listMap := make(map[int64][]*v2pb.ActivityCardItem) |
|
for i, ac := range activityCardMap { |
|
respAc := &v2pb.ActivityCardItem{Room: []*v2pb.RoomCardItem{}, Av: []*v2pb.AvCardItem{}} |
|
respAc.Card = &v2pb.BannerCardItem{ |
|
Aid: ac.Card.Aid, |
|
Pic: ac.Card.Pic, |
|
Title: ac.Card.Title, |
|
Text: ac.Card.Text, |
|
PicLink: ac.Card.PicLink, |
|
GoLink: ac.Card.GoLink, |
|
ButtonText: ac.Card.ButtonText, |
|
Status: ac.Card.Status, |
|
Sort: ac.Card.Sort, |
|
} |
|
if len(ac.Room) > 0 { |
|
for _, room := range ac.Room { |
|
roomCard := &v2pb.RoomCardItem{ |
|
IsLive: room.IsLive, |
|
RoomId: room.Roomid, |
|
Title: room.Title, |
|
UName: room.Uname, |
|
Online: room.Online, |
|
Cover: room.Cover, |
|
AreaV2ParentId: room.AreaV2ParentId, |
|
AreaV2Id: room.AreaV2Id, |
|
Sort: room.Sort, |
|
} |
|
respAc.Room = append(respAc.Room, roomCard) |
|
} |
|
} |
|
if len(ac.Av) > 0 { |
|
for _, av := range ac.Av { |
|
avCard := &v2pb.AvCardItem{ |
|
Avid: av.Avid, |
|
Title: av.Title, |
|
ViewCount: av.ViewCount, |
|
DanMaKu: av.Danmaku, |
|
Duration: av.Duration, |
|
Cover: av.Cover, |
|
Sort: av.Sort, |
|
} |
|
respAc.Av = append(respAc.Av, avCard) |
|
} |
|
} |
|
listMap[i] = append(listMap[i], respAc) |
|
} |
|
moduleInfoMap := s.getAllModuleInfoMap(ctx) |
|
for _, m := range moduleInfoMap[_activityType] { |
|
if l, ok := listMap[m.Id]; ok { |
|
resp = append(resp, &v2pb.MActivityCard{ |
|
ModuleInfo: m, |
|
List: l, |
|
}) |
|
} |
|
} |
|
return |
|
}
|
|
|