添加游戏热度

This commit is contained in:
zpc 2024-11-20 13:55:49 +08:00
parent 91bf543e06
commit d264b11b79
6 changed files with 179 additions and 5 deletions

View File

@ -85,11 +85,23 @@ namespace CloudGaming.Api.Controllers
/// <param name="gameId"></param>
/// <returns></returns>
[HttpGet]
public List<GameListDto> GameSearch([FromQuery] string? gameId)
public async Task<List<GameListDto>> GameSearch([FromQuery] string? gameId)
{
GameBLL gamebll = new GameBLL(this.ServiceProvider);
return gamebll.GameSearch(gameId);
return await gamebll.GameSearch(gameId);
}
/// <summary>
/// 游戏热度搜索
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<List<string>> GameHotSearch()
{
GameBLL gamebll = new GameBLL(this.ServiceProvider);
return await gamebll.GameHotSearch();
}

View File

@ -127,10 +127,24 @@ namespace CloudGaming.Code.Game
/// </summary>
/// <param name="gameName"></param>
/// <returns></returns>
public List<GameListDto> GameSearch(string gameName)
public async Task<List<GameListDto>> GameSearch(string gameName)
{
try
{
T_User_Search gameSearch = new T_User_Search()
{
SearchContent = gameName,
SearchDate = DateTime.Now,
UserId = _UserId,
SearchDay = int.Parse(DateTime.Now.ToString("yyyyMMdd"))
};
await Dao.DaoPhone.Context.T_User_Search.AddAsync(gameSearch);
await Dao.DaoPhone.Context.SaveChangesAsync();
}
catch (Exception)
{
}
var gameIdMatches = Cache.GameInfos
.Where(it => it.GameId.Contains(gameName))
.Select(it => new GameListDto(it, ImageResStyle.LOGO))
@ -161,6 +175,16 @@ namespace CloudGaming.Code.Game
return list;
}
/// <summary>
/// 热门搜索
/// </summary>
/// <returns></returns>
public async Task<List<string>> GameHotSearch()
{
var list = await Dao.DaoPhone.Context.T_Search.Where(it => !string.IsNullOrEmpty(it.Search)).OrderBy(it => it.OrderId).Take(10).Select(it => it.Search).ToListAsync();
return list;
}
/// <summary>
/// 我的收藏
/// </summary>

View File

@ -133,6 +133,11 @@ public partial class CloudGamingPhoneContext : MultiTenantDbContext//DbContext
/// </summary>
public virtual DbSet<T_RewardConfig> T_RewardConfig { get; set; }
/// <summary>
/// 搜索页面展示的搜索词
/// </summary>
public virtual DbSet<T_Search> T_Search { get; set; }
/// <summary>
/// 七日签到配置表
/// </summary>
@ -178,6 +183,11 @@ public partial class CloudGamingPhoneContext : MultiTenantDbContext//DbContext
/// </summary>
public virtual DbSet<T_User_RedemptionUsage> T_User_RedemptionUsage { get; set; }
/// <summary>
/// 用户搜索表
/// </summary>
public virtual DbSet<T_User_Search> T_User_Search { get; set; }
/// <summary>
/// 用户签到表
/// </summary>
@ -916,6 +926,28 @@ public partial class CloudGamingPhoneContext : MultiTenantDbContext//DbContext
}
});
modelBuilder.Entity<T_Search>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__T_Search__3214EC0728B995D9");
entity.ToTable(tb => tb.HasComment("搜索页面展示的搜索词"));
entity.Property(e => e.Id).HasComment("主键");
entity.Property(e => e.CreateTime)
.HasComment("创建时间")
.HasColumnType("datetime");
entity.Property(e => e.OrderId).HasComment("排序");
entity.Property(e => e.Search)
.HasMaxLength(255)
.HasComment("搜索词");
entity.Property(e => e.TenantId).HasComment("租户");
//添加全局筛选器
if (this.TenantInfo != null)
{
entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId);
}
});
modelBuilder.Entity<T_SevenDaySignIn>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK_T_SEVENDAYSIGNIN_CBT");
@ -1056,6 +1088,7 @@ public partial class CloudGamingPhoneContext : MultiTenantDbContext//DbContext
entity.Property(e => e.CreateTime)
.HasComment("创建时间")
.HasColumnType("datetime");
entity.Property(e => e.TenantId).HasComment("租户");
entity.Property(e => e.Text).HasComment("内容");
entity.Property(e => e.UpdateTime)
.HasComment("修改时间")
@ -1159,6 +1192,29 @@ public partial class CloudGamingPhoneContext : MultiTenantDbContext//DbContext
}
});
modelBuilder.Entity<T_User_Search>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__T_User_S__3214EC07010A7D09");
entity.ToTable(tb => tb.HasComment("用户搜索表"));
entity.Property(e => e.Id).HasComment("主键");
entity.Property(e => e.SearchContent)
.HasMaxLength(255)
.HasComment("搜索内容");
entity.Property(e => e.SearchDate)
.HasComment("搜索时间")
.HasColumnType("datetime");
entity.Property(e => e.SearchDay).HasComment("搜索时间,天");
entity.Property(e => e.TenantId).HasComment("租户");
entity.Property(e => e.UserId).HasComment("用户Id");
//添加全局筛选器
if (this.TenantInfo != null)
{
entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId);
}
});
modelBuilder.Entity<T_User_SignDays>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK_T_USER_SIGNDAYS");

View File

@ -0,0 +1,36 @@
using System;
namespace CloudGaming.Model.DbSqlServer.Db_Phone;
/// <summary>
/// 搜索页面展示的搜索词
/// </summary>
public partial class T_Search: MultiTenantEntity
{
public T_Search() { }
/// <summary>
/// 主键
/// </summary>
public virtual int Id { get; set; }
/// <summary>
/// 搜索词
/// </summary>
public virtual string? Search { get; set; }
/// <summary>
/// 排序
/// </summary>
public virtual int OrderId { get; set; }
/// <summary>
/// 所属租户
/// </summary>
public override Guid TenantId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public virtual DateTime CreateTime { get; set; }
}

View File

@ -38,4 +38,9 @@ public partial class T_User_FeedBack: MultiTenantEntity
/// 修改时间
/// </summary>
public virtual DateTime UpdateTime { get; set; }
}
/// <summary>
/// 所属租户
/// </summary>
public override Guid TenantId { get; set; }
}

View File

@ -0,0 +1,41 @@
using System;
namespace CloudGaming.Model.DbSqlServer.Db_Phone;
/// <summary>
/// 用户搜索表
/// </summary>
public partial class T_User_Search: MultiTenantEntity
{
public T_User_Search() { }
/// <summary>
/// 主键
/// </summary>
public virtual int Id { get; set; }
/// <summary>
/// 搜索内容
/// </summary>
public virtual string SearchContent { get; set; } = null!;
/// <summary>
/// 搜索时间
/// </summary>
public virtual DateTime SearchDate { get; set; }
/// <summary>
/// 用户Id
/// </summary>
public virtual int UserId { get; set; }
/// <summary>
/// 搜索时间,天
/// </summary>
public virtual int SearchDay { get; set; }
/// <summary>
/// 所属租户
/// </summary>
public override Guid TenantId { get; set; }
}