添加监控数据
This commit is contained in:
parent
2d5d89d987
commit
0817ab1300
|
|
@ -129,32 +129,51 @@ public class MonitorBLL : CloudGamingBase
|
||||||
//结束时间
|
//结束时间
|
||||||
var endDate = DateTimeOffset.FromUnixTimeSeconds(endTimeStamp).ToLocalTime().DateTime;
|
var endDate = DateTimeOffset.FromUnixTimeSeconds(endTimeStamp).ToLocalTime().DateTime;
|
||||||
var curr = startDate;
|
var curr = startDate;
|
||||||
var list = await Dao.DaoExt.Context.T_App_Channel.Where(it => !string.IsNullOrEmpty(it.ChannelId)).Select(it => it.ChannelId).ToListAsync();
|
var list = await Dao.DaoExt.Context.T_App_Channel.Where(it => !string.IsNullOrEmpty(it.ChannelId)).ToListAsync();
|
||||||
int startDateHour = int.Parse(startDate.ToString("yyyyMMddHH"));
|
int startDateHour = int.Parse(startDate.ToString("yyyyMMddHH"));
|
||||||
int endDateHour = int.Parse(endDate.ToString("yyyyMMddHH"));
|
int endDateHour = int.Parse(endDate.ToString("yyyyMMddHH"));
|
||||||
var userStatisticsList = await Dao.DaoExt.Context.T_Statistics_UserHour.Where(it => it.LoginHour >= startDateHour && it.LoginHour <= endDateHour).ToListAsync();
|
var userStatisticsList = await Dao.DaoExt.Context.T_Statistics_UserHour.Where(it => it.LoginHour >= startDateHour && it.LoginHour <= endDateHour).ToListAsync();
|
||||||
|
|
||||||
|
var gameStatisticsList = await Dao.DaoExt.Context.T_Statistics_GameHour.Where(it => it.LoginHour >= startDateHour && it.LoginHour <= endDateHour).ToListAsync();
|
||||||
List<StatisticsDto> userLogin = new List<StatisticsDto>();
|
List<StatisticsDto> userLogin = new List<StatisticsDto>();
|
||||||
List<StatisticsDto> userRegistr = new List<StatisticsDto>();
|
List<StatisticsDto> userRegistr = new List<StatisticsDto>();
|
||||||
|
List<StatisticsDto> playGame = new List<StatisticsDto>();
|
||||||
|
List<StatisticsDto> playTimeGame = new List<StatisticsDto>();
|
||||||
while (curr <= endDate)
|
while (curr <= endDate)
|
||||||
{
|
{
|
||||||
|
|
||||||
var loginAll = GetStatisticsDto(curr, "全部", 0);
|
var loginAll = GetStatisticsDto(curr, "全部", 0);
|
||||||
var registrAll = GetStatisticsDto(curr, "全部", 0);
|
var registrAll = GetStatisticsDto(curr, "全部", 0);
|
||||||
|
var gameAll = GetStatisticsDto(curr, "全部", 0);
|
||||||
|
var gameTimeAll = GetStatisticsDto(curr, "全部", 0);
|
||||||
|
// 添加 "全部" 统计到结果
|
||||||
userLogin.Add(loginAll);
|
userLogin.Add(loginAll);
|
||||||
userRegistr.Add(registrAll);
|
userRegistr.Add(registrAll);
|
||||||
|
playGame.Add(gameAll);
|
||||||
|
playTimeGame.Add(gameTimeAll);
|
||||||
int dayHour = int.Parse(curr.ToString("yyyyMMddHH"));
|
int dayHour = int.Parse(curr.ToString("yyyyMMddHH"));
|
||||||
foreach (var channelId in list)
|
foreach (var channel in list)
|
||||||
{
|
{
|
||||||
|
var channelId = channel.ChannelId;
|
||||||
var statis = userStatisticsList.FirstOrDefault(it => it.LoginHour == dayHour && it.Channel == channelId);
|
var statis = userStatisticsList.FirstOrDefault(it => it.LoginHour == dayHour && it.Channel == channelId);
|
||||||
|
var gameStatis = gameStatisticsList.FirstOrDefault(it => it.LoginHour == dayHour && it.Channel == channelId);
|
||||||
|
|
||||||
var _loginCount = statis?.LoginCount ?? 0;
|
var _loginCount = statis?.LoginCount ?? 0;
|
||||||
var _registrCount = statis?.RegistrCount ?? 0;
|
var _registrCount = statis?.RegistrCount ?? 0;
|
||||||
|
var _playGameCount = gameStatis?.PlayGameCount ?? 0;
|
||||||
|
var _playGameTimeCount = gameStatis?.PlayGameTimeCount ?? 0;
|
||||||
loginAll.Value += _loginCount;
|
loginAll.Value += _loginCount;
|
||||||
registrAll.Value += _registrCount;
|
registrAll.Value += _registrCount;
|
||||||
userLogin.Add(GetStatisticsDto(curr, channelId, _loginCount));
|
gameAll.Value += _playGameCount;
|
||||||
userRegistr.Add(GetStatisticsDto(curr, channelId, _registrCount));
|
gameTimeAll.Value += _playGameTimeCount;
|
||||||
|
userLogin.Add(GetStatisticsDto(curr, channel.Name, _loginCount));
|
||||||
|
userRegistr.Add(GetStatisticsDto(curr, channel.Name, _registrCount));
|
||||||
|
playGame.Add(GetStatisticsDto(curr, channel.Name, _playGameCount));
|
||||||
|
playTimeGame.Add(GetStatisticsDto(curr, channel.Name, _playGameTimeCount));
|
||||||
}
|
}
|
||||||
curr = curr.AddHours(1);
|
curr = curr.AddHours(1);
|
||||||
}
|
}
|
||||||
return new { Login = userLogin, Registr = userRegistr };
|
return new { Login = userLogin, Registr = userRegistr, PlayGame = playGame, PlayTimeGame = playTimeGame };
|
||||||
|
|
||||||
}
|
}
|
||||||
private StatisticsDto GetStatisticsDto(DateTime curr, string channelId, int count)
|
private StatisticsDto GetStatisticsDto(DateTime curr, string channelId, int count)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user