using CloudGaming.Repository.Game.Entities.App; namespace CloudGaming.Api.Admin.ApplicationServices.Apps.App; /// /// 用户玩游戏日志表 服务 T_Game_PlayGameLogService /// public class T_Game_PlayGameLogService(IServiceProvider serviceProvider) : ApplicationUserService(serviceProvider) { /// /// 获取列表数据 /// /// /// public async override Task FindListAsync(PagingSearchInput pagingSearchInput) { var query = this.Repository.Select //游戏Id .WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.GameId), w => w.GameId.Contains(pagingSearchInput.Search.GameId ?? "")) //游戏名称 .WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.GameName), w => w.GameName.Contains(pagingSearchInput.Search.GameName ?? "")) //用户Id .WhereIf(pagingSearchInput.Search?.UserId != null && pagingSearchInput.Search?.UserId > 0, w => w.UserId == pagingSearchInput.Search.UserId) .OrderByDescending(w => w.Id) .Select(w => new { w.Id, w.TenantId, w.GameId, w.UserId, w.GameName, w.UserPlayGameDiamonds, w.SpendingDiamonds, w.CreateDateTime, w.LastDateTime, w.PlayGameStartAt, w.PlayGameTotalSeconds, w.PlayGameHeartbeatAt, w.LastChargingAt, w.Sn, w.SessionId, w.ModelName, w.Cpu, w.ScId, w.JyGameId, w.DisplayGrade, w.QueueGrade, w.GameStatus, w.PlayQueueId, w.PlayQueueStartAt, w.PlayQueueSuccessAt, w.CurrencyLogId, w.DiamondListId, w.GameUserOperationJson, }) ; var result = await Repository.AsPagingViewAsync(query, pagingSearchInput); // 设置列 //result.GetColumn(query, w => w.OperatorName).SetColumn("操作人"); //result.GetColumn(query, w => w. !).SetColumn(w => w.Name!); result .FormatValue(query, w => w.CreateDateTime, (oldValue) => oldValue.ToString("yyyy-MM-dd")) .FormatValue(query, w => w.LastDateTime, (oldValue) => oldValue.ToString("yyyy-MM-dd")) .FormatValue(query, w => w.PlayGameStartAt, (oldValue) => oldValue?.ToString("yyyy-MM-dd")) .FormatValue(query, w => w.PlayGameHeartbeatAt, (oldValue) => oldValue?.ToString("yyyy-MM-dd")) .FormatValue(query, w => w.LastChargingAt, (oldValue) => oldValue?.ToString("yyyy-MM-dd")) .FormatValue(query, w => w.PlayQueueStartAt, (oldValue) => oldValue?.ToString("yyyy-MM-dd")) .FormatValue(query, w => w.PlayQueueSuccessAt, (oldValue) => oldValue?.ToString("yyyy-MM-dd")) ; return result; } }