提交代码
This commit is contained in:
parent
58ed076b13
commit
d3a0c9024e
|
|
@ -4,6 +4,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Channels;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudGaming.Code.AppExtend
|
||||
|
|
@ -25,12 +26,12 @@ namespace CloudGaming.Code.AppExtend
|
|||
{
|
||||
if (!(httpRequest?.Headers?.TryGetValue("Channel", out var _channel) ?? false))
|
||||
{
|
||||
_channel = "27001";
|
||||
_channel = "ps_001";
|
||||
}
|
||||
channel = _channel;
|
||||
if (string.IsNullOrEmpty(channel))
|
||||
{
|
||||
channel = "27001";
|
||||
channel = "ps_001";
|
||||
}
|
||||
}
|
||||
return channel;
|
||||
|
|
@ -48,9 +49,30 @@ namespace CloudGaming.Code.AppExtend
|
|||
{
|
||||
if (string.IsNullOrEmpty(platform))
|
||||
{
|
||||
|
||||
if (!(httpRequest?.Headers.TryGetValue("Platform", out var _platform) ?? false))
|
||||
{
|
||||
_platform = "android";
|
||||
_platform = "";
|
||||
}
|
||||
if (string.IsNullOrEmpty(_platform))
|
||||
{
|
||||
|
||||
if (Channel.StartsWith("ps_"))
|
||||
{
|
||||
_platform = AppPlatform.android.ToString();
|
||||
}
|
||||
else if (Channel.StartsWith("ios_"))
|
||||
{
|
||||
_platform = AppPlatform.ios.ToString();
|
||||
}
|
||||
else if (Channel.StartsWith("cs_"))
|
||||
{
|
||||
_platform = AppPlatform.car.ToString();
|
||||
}
|
||||
else if (Channel.StartsWith("ts_"))
|
||||
{
|
||||
_platform = AppPlatform.tv.ToString();
|
||||
}
|
||||
}
|
||||
platform = _platform;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ public class CloudGamingCache
|
|||
{
|
||||
if (gameEntityCache == null)
|
||||
{
|
||||
gameEntityCache = new GameEntityCache(_gamingBase.Dao, _gamingBase.RedisCache, _gamingBase.Mapper, _gamingBase.AppConfig, _gamingBase.AppRequestInfo.Language);
|
||||
gameEntityCache = new GameEntityCache(_gamingBase.Dao, _gamingBase.RedisCache, _gamingBase.Mapper, _gamingBase.AppConfig, _gamingBase.AppRequestInfo.Language, _gamingBase.AppRequestInfo.Platform);
|
||||
}
|
||||
return gameEntityCache;
|
||||
}
|
||||
|
|
@ -329,9 +329,13 @@ public static class CloudGamingCacheExtend
|
|||
cloudGamingBase.Cache.AppConfigCache.ClearLocalData();
|
||||
cloudGamingBase.Cache.ProductCacheEntityCache.ClearLocalData();
|
||||
cloudGamingBase.Cache.AppImageCache.ClearLocalData();
|
||||
cloudGamingBase.Cache.GameEntityCache.ClearLocalData();
|
||||
//cloudGamingBase.Cache.GameEntityCache.ClearLocalData();
|
||||
cloudGamingBase.Cache.RedemptionCodeEntityCache.ClearLocalData();
|
||||
cloudGamingBase.Cache.SevenDayEntityCache.ClearLocalData();
|
||||
var gameEntityCache = new GameEntityCache(cloudGamingBase.Dao, cloudGamingBase.RedisCache, cloudGamingBase.Mapper, cloudGamingBase.AppConfig, cloudGamingBase.AppRequestInfo.Language, AppPlatform.android.ToString());
|
||||
gameEntityCache.ClearData();
|
||||
var gameEntityCache1 = new GameEntityCache(cloudGamingBase.Dao, cloudGamingBase.RedisCache, cloudGamingBase.Mapper, cloudGamingBase.AppConfig, cloudGamingBase.AppRequestInfo.Language, AppPlatform.car.ToString());
|
||||
gameEntityCache1.ClearData();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,18 +19,23 @@ namespace CloudGaming.Code.Cache.Special
|
|||
/// <summary>
|
||||
/// 游戏缓存表
|
||||
/// </summary>
|
||||
public class GameEntityCache(DAO dao, IDatabase database, IMapper mapper, AppConfig appConfig, string language) : CommonDataEntityCache<GameInfo>(GameEntityCache.GameEntityCacheLock, 60 * 60 * 24 * 7), ICacheClearLocalData
|
||||
public class GameEntityCache(DAO dao, IDatabase database, IMapper mapper, AppConfig appConfig, string language, string platform) : CommonDataEntityCache<GameInfo>(GameEntityCache.GameEntityCacheLock, 60 * 60 * 24 * 7), ICacheClearLocalData
|
||||
{
|
||||
public static object GameEntityCacheLock;
|
||||
|
||||
public override string key => $"{appConfig.Identifier}:game:gameInfo:{language}";
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public override string key => $"{appConfig.Identifier}:game:gameInfo:{platform}:{language}";
|
||||
|
||||
public string locaKey => $"lock:gameInfo:{language}";
|
||||
public string RedisKey => $"cache:game:gameInfo:{language}";
|
||||
public string locaKey => $"lock:gameInfo:{platform}:{language}";
|
||||
public string RedisKey => $"cache:game:gameInfo:{platform}:{language}";
|
||||
|
||||
public override List<GameInfo> GetDataList()
|
||||
{
|
||||
//dao.DaoPhone.Context.T_GameCBT.AsNoTracking().Where(it => it.IsOnline&&it.OnlinePlatform==)
|
||||
var gameCbtList = dao.DaoPhone.Context.T_GameCBT.AsNoTracking().Where(it => it.IsOnline).ToList() ?? new List<T_GameCBT>();
|
||||
|
||||
var gameListDict = dao.DaoGame.Context.T_Game_List.AsNoTracking().ToDictionary(g => g.GameId);
|
||||
var gameChildList = dao.DaoGame.Context.T_Game_ChildList.AsNoTracking().ToList();
|
||||
var gameTypesDict = dao.DaoGame.Context.T_Game_Types.AsNoTracking().ToDictionary(type => type.TypeId) ?? new Dictionary<int, T_Game_Types>();
|
||||
|
|
@ -72,11 +77,20 @@ namespace CloudGaming.Code.Cache.Special
|
|||
}
|
||||
}
|
||||
var gameLanguageDic = AppLanguage.GetAppLanguageGame(appConfig, language);
|
||||
|
||||
var faker = new Faker("zh_CN");
|
||||
var gameInfos = gameCbtList
|
||||
.Where(gameCbt => gameListDict.ContainsKey(gameCbt.GameId))
|
||||
.Select(gameCbt =>
|
||||
List<GameInfo> gameInfos = new List<GameInfo>();
|
||||
foreach (var gameId in gameListDict.Keys)
|
||||
{
|
||||
var gameCbt = gameCbtList.FirstOrDefault(it => it.GameId == gameId && it.OnlinePlatform == platform);
|
||||
if (gameCbt == null)
|
||||
{
|
||||
gameCbt = gameCbtList.FirstOrDefault(it => it.GameId == gameId && string.IsNullOrEmpty(it.OnlinePlatform));
|
||||
}
|
||||
if (gameCbt == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var game = gameListDict[gameCbt.GameId];
|
||||
var gameInfo = mapper.Map<GameInfo>(gameCbt);
|
||||
game.ToGameInfo(gameInfo);
|
||||
|
|
@ -110,10 +124,49 @@ namespace CloudGaming.Code.Cache.Special
|
|||
{
|
||||
gameInfo.GameDetailsofCharges = $"游戏免费";
|
||||
}
|
||||
//gameInfo.GameIntroduce
|
||||
return gameInfo;
|
||||
})
|
||||
.ToList();
|
||||
gameInfos.Add(gameInfo);
|
||||
}
|
||||
//var gameInfos = gameCbtList
|
||||
// .Where(gameCbt => gameListDict.ContainsKey(gameCbt.GameId))
|
||||
// .Select(gameCbt =>
|
||||
// {
|
||||
// var game = gameListDict[gameCbt.GameId];
|
||||
// var gameInfo = mapper.Map<GameInfo>(gameCbt);
|
||||
// game.ToGameInfo(gameInfo);
|
||||
// //game.GameName
|
||||
// gameInfo.GameType = GetGameExtendedAttributes(gameChildList, gameCbt.GameId, 1, gameTypesDict);
|
||||
// gameInfo.GameTags = GetGameExtendedAttributes(gameChildList, gameCbt.GameId, 2, gameTagsDict);
|
||||
// if (!gameUserShare.TryGetValue(gameCbt.GameId, out string NickName))
|
||||
// {
|
||||
// string chineseName = faker.Internet.UserName();
|
||||
// NickName = chineseName;
|
||||
// }
|
||||
// gameInfo.GameShare = $"{NickName}";
|
||||
// var gameLanguageInfo = gameLanguageDic.GetAppGameLanguage(gameInfo);
|
||||
// if (gameLanguageInfo != null)
|
||||
// {
|
||||
// gameInfo.GameName = gameLanguageInfo.GameName;
|
||||
// gameInfo.GameIntroduce = gameLanguageInfo.GameIntroduce;
|
||||
// gameInfo.GameShare = gameLanguageInfo.GameShare;
|
||||
// }
|
||||
// gameInfo.GameIntroduce = $"<div style=\"color:#ffffff !important;\">{gameInfo.GameIntroduce}</div>";
|
||||
// gameInfo.GameShareUserIcon = 90001;
|
||||
// if (gameInfo.ConsumeDiamondNumHour == 0)
|
||||
// {
|
||||
// gameInfo.ConsumeDiamondNumHour = defaultConsumeDiamondNumHour;
|
||||
// }
|
||||
// if (gameInfo.ConsumeDiamondNumHour > 0)
|
||||
// {
|
||||
// gameInfo.GameDetailsofCharges = $"游戏资费:游玩按分钟计费,{gameInfo.ConsumeDiamondNumHour}钻石/小时。";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// gameInfo.GameDetailsofCharges = $"游戏免费";
|
||||
// }
|
||||
// //gameInfo.GameIntroduce
|
||||
// return gameInfo;
|
||||
// })
|
||||
// .ToList();
|
||||
|
||||
return gameInfos;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,13 @@ namespace CloudGaming.Code.Epg
|
|||
/// <returns></returns>
|
||||
public async Task<List<EpgCategoryDto>> GetHomeInfo()
|
||||
{
|
||||
var listQueryable = GetEpgCategory(EpgEnum.EpgCatIdName.大厅首页).AsQueryable();
|
||||
var home = Cache.EpgCategoryCfg.Where(it => it.IdName.Contains(EpgEnum.EpgCatIdName.大厅首页) && it.Platform == AppRequestInfo.Platform).FirstOrDefault();
|
||||
if (home == null)
|
||||
{
|
||||
home = Cache.EpgCategoryCfg.Where(it => it.IdName.Contains(EpgEnum.EpgCatIdName.大厅首页) && string.IsNullOrEmpty(it.Platform)).FirstOrDefault();
|
||||
}
|
||||
string homeStr = home?.IdName ?? "Home";
|
||||
var listQueryable = GetEpgCategory(homeStr).AsQueryable();
|
||||
if (IsChecking)
|
||||
{
|
||||
listQueryable = listQueryable.Where(it => it.ShowStatus == 0 || it.ShowStatus == 2).AsQueryable();
|
||||
|
|
|
|||
|
|
@ -146,5 +146,15 @@ namespace CloudGaming.AppConfigModel
|
|||
/// </summary>
|
||||
App
|
||||
}
|
||||
/// <summary>
|
||||
/// 手机平台
|
||||
/// </summary>
|
||||
public enum AppPlatform
|
||||
{
|
||||
android,
|
||||
ios,
|
||||
tv,
|
||||
car,
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user