public async Task <ActionResult <WxBoxSettingsDto> > GetBoxSettings(int boxId = 1) { var wxBox = await boxService.GetBoxDetailsAsync(boxId); // banner 推荐 var bannerApps = wxBox.WxBoxApps .Where(x => x.WxApp.BannerUrl.IsNotNullOrWhiteSpace() && x.AppShowType.Equals(AppShowType.横幅)) .Select(x => x.WxApp) .ToList(); bannerApps.Shuffle(); // 获取火爆游戏 var bestApps = wxBox.WxBoxApps .Take(8) .Select(x => x.WxApp) .ToList(); bestApps.Shuffle(); // 精品推荐 var otherApps = wxBox.WxBoxApps.Select(x => x.WxApp).ToList(); otherApps.Shuffle(); // 随机排序 var settingsDto = new WxBoxSettingsDto { BannerApps = mapper.Map <List <WxApp>, List <WxAppDto> >(bannerApps), BestApps = mapper.Map <List <WxApp>, List <WxAppDto> >(bestApps), OtherApps = mapper.Map <List <WxApp>, List <WxAppDto> >(otherApps) }; return(settingsDto); }
public async Task <IActionResult> BoxDetails(int boxId = 1) { var wxBox = await boxService.GetBoxDetailsAsync(boxId); if (wxBox.IsNull()) { return(NotFound()); } var model = new BoxDetailViewModel { BoxId = wxBox.Id, BoxName = wxBox.Name, WxBoxApps = wxBox.WxBoxApps?.ToList() }; return(View(model)); }