diff --git a/Hander/MapRecordRankingHander.cs b/Hander/MapRecordRankingHander.cs index eca7cdc..cd71495 100644 --- a/Hander/MapRecordRankingHander.cs +++ b/Hander/MapRecordRankingHander.cs @@ -23,9 +23,16 @@ namespace OnlineUserPool.Hander private void Init() { - var randomUser = WebService.GetMapRouteRandomUser(top, null); - mapRecordRankings = WebService.GetRecordFileFromServer(randomUser.Select(n => n.RankingId).ToList()); + var records = WebService.GetMapRouteRandomRecord(top, null); + var pageSize = 10; + var pageCount = (int)Math.Ceiling(records.Count / (double)pageSize); + mapRecordRankings = new List(); + for (int i = 0; i < pageCount; i++) + { + mapRecordRankings.AddRange(WebService.GetRecordFileFromServer(records.Skip(i* pageSize).Take(pageSize).Select(n => n.RankingId).ToList())); + } } + /// /// 获取虚拟人物数据 /// @@ -90,15 +97,15 @@ namespace OnlineUserPool.Hander if (end.Count > 0) { var virutalEndCount = mapRecordRankings.Count(d => d.UserId < 0 && d.End); - var routeIds = mapRecordRankings.Select(n => n.RouteId).ToList(); + var routeIds = mapRecordRankings.Select(n => n.RouteId).Distinct().ToList(); mapRecordRankings.RemoveAll(n => n.End); if (virutalEndCount > 0) { - var randomUser = WebService.GetMapRouteRandomUser(ConfigHelp.Top - virutalEndCount, routeIds); + var randomUser = WebService.GetMapRouteRandomRecord(virutalEndCount, routeIds); - var str = "参数:" + (ConfigHelp.Top - virutalEndCount) + "," + string.Join(",",routeIds) + "\r\n"; - str += "服务端返回:" + Newtonsoft.Json.JsonConvert.SerializeObject(randomUser) +"\r\n"; - Log.Information(str); + //var str = "参数:" + (ConfigHelp.Top - virutalEndCount) + "," + string.Join(",",routeIds) + "\r\n"; + //str += "服务端返回:" + Newtonsoft.Json.JsonConvert.SerializeObject(randomUser) +"\r\n"; + //Log.Information(str); var addRankings = WebService.GetRecordFileFromServer(randomUser.Select(n => n.RankingId).ToList()); mapRecordRankings.AddRange(addRankings); } diff --git a/Unility/WebService.cs b/Unility/WebService.cs index bd13763..5195095 100644 --- a/Unility/WebService.cs +++ b/Unility/WebService.cs @@ -56,7 +56,7 @@ namespace OnlineUserPool.Unility return PostAsync>>("MapRecord/GetRandomList", id).ConfigureAwait(false).GetAwaiter().GetResult().data; } - public static List GetMapRouteRandomUser(int top, IEnumerable routeIds) + public static List GetMapRouteRandomRecord(int top, IEnumerable routeIds) { var routeIdsStr = ""; if(routeIds != null)