排行榜
This commit is contained in:
parent
2b2125ad0e
commit
a8f22950c2
@ -108,6 +108,13 @@ namespace YD_XinWei.Commons.Utils
|
||||
return true;
|
||||
return str.ToString() == "";
|
||||
}
|
||||
public static string ConvertSecondsToMinutes(this int? totalSeconds)
|
||||
{
|
||||
if (totalSeconds == null || totalSeconds < 0) return "0分0秒";
|
||||
|
||||
int minutes = totalSeconds.Value / 60;
|
||||
int seconds = totalSeconds.Value % 60;
|
||||
return $"{minutes}分{seconds}秒";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("YD_XinWei.Commons")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e81823ef15e02c113f3f600253339ecd8a261df3")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2b2125ad0e1121cb29ce52823500492b72804ef4")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("YD_XinWei.Commons")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("YD_XinWei.Commons")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
b903a1b136d5569b0948134d6f61053d4944399d42dfb7e425ea178fbb7f8900
|
||||
1e484a3d27e1f74ec57800a8e338f80e589ab5dd7be8d21d9704353e315b0fd3
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
{"documents":{"C:\\Users\\Administrator\\Desktop\\xwcode\\*":"https://dev.azure.com/tanglong10081/YD_XinWei/_apis/git/repositories/YD_XinWei/items?api-version=1.0&versionType=commit&version=e81823ef15e02c113f3f600253339ecd8a261df3&path=/*"}}
|
||||
{"documents":{"C:\\Users\\Administrator\\Desktop\\xwcode\\*":"https://dev.azure.com/tanglong10081/YD_XinWei/_apis/git/repositories/YD_XinWei/items?api-version=1.0&versionType=commit&version=2b2125ad0e1121cb29ce52823500492b72804ef4&path=/*"}}
|
Binary file not shown.
Binary file not shown.
@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>C:\Users\Administrator\Desktop\web</_PublishTargetUrl>
|
||||
<History>True|2025-03-03T01:48:28.0446948Z||;True|2025-03-03T09:47:48.0506237+08:00||;True|2025-03-03T00:03:13.7940731+08:00||;True|2025-03-03T00:00:20.5217808+08:00||;True|2025-02-28T11:24:13.9529058+08:00||;True|2025-02-28T09:52:09.1224260+08:00||;True|2025-02-28T09:09:07.6159508+08:00||;True|2025-02-28T09:03:19.5987556+08:00||;True|2025-02-27T17:59:35.8321576+08:00||;True|2025-02-27T16:51:44.0193039+08:00||;True|2025-02-27T15:48:03.7178463+08:00||;True|2025-02-27T15:39:09.5704225+08:00||;True|2025-02-27T15:39:01.0906094+08:00||;True|2025-02-27T15:35:52.5141530+08:00||;True|2025-02-27T15:22:55.6480561+08:00||;True|2025-02-25T15:05:56.3704383+08:00||;True|2025-02-25T13:21:45.5812878+08:00||;True|2025-02-25T13:13:06.3991346+08:00||;True|2025-02-25T11:07:59.4322341+08:00||;True|2025-02-24T17:36:36.0385118+08:00||;True|2025-02-24T17:35:30.9660778+08:00||;True|2025-02-20T19:00:03.7732903+08:00||;True|2025-02-20T15:23:37.7886196+08:00||;False|2025-02-20T15:22:58.3942454+08:00||;True|2025-02-14T15:16:29.2049523+08:00||;True|2025-02-14T15:16:20.2358210+08:00||;True|2025-02-14T13:35:25.1397559+08:00||;True|2025-02-14T09:28:15.0882633+08:00||;True|2025-02-13T14:51:00.7069070+08:00||;True|2025-02-13T13:14:19.5524368+08:00||;True|2025-02-12T15:43:03.6376536+08:00||;True|2025-02-12T15:30:37.0534250+08:00||;True|2025-02-12T15:19:48.3629666+08:00||;True|2025-02-12T15:15:46.5702121+08:00||;True|2025-02-12T10:25:29.9566462+08:00||;True|2025-02-12T10:25:23.6583245+08:00||;False|2025-02-12T10:24:25.4235783+08:00||;True|2024-10-08T10:27:01.3672443+08:00||;True|2024-10-08T10:16:00.0834614+08:00||;</History>
|
||||
<History>True|2025-03-03T08:41:37.7278763Z||;True|2025-03-03T16:34:04.0026009+08:00||;True|2025-03-03T16:24:01.4887542+08:00||;True|2025-03-03T15:24:09.5376627+08:00||;True|2025-03-03T14:32:46.5288364+08:00||;True|2025-03-03T14:18:41.8795454+08:00||;True|2025-03-03T13:39:33.1620349+08:00||;True|2025-03-03T13:13:48.7851364+08:00||;True|2025-03-03T09:48:28.0446948+08:00||;True|2025-03-03T09:47:48.0506237+08:00||;True|2025-03-03T00:03:13.7940731+08:00||;True|2025-03-03T00:00:20.5217808+08:00||;True|2025-02-28T11:24:13.9529058+08:00||;True|2025-02-28T09:52:09.1224260+08:00||;True|2025-02-28T09:09:07.6159508+08:00||;True|2025-02-28T09:03:19.5987556+08:00||;True|2025-02-27T17:59:35.8321576+08:00||;True|2025-02-27T16:51:44.0193039+08:00||;True|2025-02-27T15:48:03.7178463+08:00||;True|2025-02-27T15:39:09.5704225+08:00||;True|2025-02-27T15:39:01.0906094+08:00||;True|2025-02-27T15:35:52.5141530+08:00||;True|2025-02-27T15:22:55.6480561+08:00||;True|2025-02-25T15:05:56.3704383+08:00||;True|2025-02-25T13:21:45.5812878+08:00||;True|2025-02-25T13:13:06.3991346+08:00||;True|2025-02-25T11:07:59.4322341+08:00||;True|2025-02-24T17:36:36.0385118+08:00||;True|2025-02-24T17:35:30.9660778+08:00||;True|2025-02-20T19:00:03.7732903+08:00||;True|2025-02-20T15:23:37.7886196+08:00||;False|2025-02-20T15:22:58.3942454+08:00||;True|2025-02-14T15:16:29.2049523+08:00||;True|2025-02-14T15:16:20.2358210+08:00||;True|2025-02-14T13:35:25.1397559+08:00||;True|2025-02-14T09:28:15.0882633+08:00||;True|2025-02-13T14:51:00.7069070+08:00||;True|2025-02-13T13:14:19.5524368+08:00||;True|2025-02-12T15:43:03.6376536+08:00||;True|2025-02-12T15:30:37.0534250+08:00||;True|2025-02-12T15:19:48.3629666+08:00||;True|2025-02-12T15:15:46.5702121+08:00||;True|2025-02-12T10:25:29.9566462+08:00||;True|2025-02-12T10:25:23.6583245+08:00||;False|2025-02-12T10:24:25.4235783+08:00||;True|2024-10-08T10:27:01.3672443+08:00||;True|2024-10-08T10:16:00.0834614+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -12,6 +12,8 @@ using YD_XinWei.Commons.Dto.Common;
|
||||
using YD_XinWei.Commons.Dto.HomeWork;
|
||||
using YD_XinWei.Commons.Dto.Open;
|
||||
using YD_XinWei.Commons.Dto.School;
|
||||
using YD_XinWei.Commons;
|
||||
using YD_XinWei.Commons.Utils;
|
||||
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
|
||||
|
||||
namespace YD_XinWei.Api.Services.Impl
|
||||
@ -78,7 +80,6 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
IsOpen = x.IsOpen,
|
||||
IsShow = x.IsShow,
|
||||
ProjectName = x.ProjectName
|
||||
|
||||
}).ToListAsync();
|
||||
|
||||
return res;
|
||||
@ -361,9 +362,46 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
/// <param name="trainId"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public Task<GradeRankingVo> GradeRankingGet(int studentId, int trainId)
|
||||
public async Task<GradeRankingVo> GradeRankingGet(int studentId, int trainId)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
var res = new GradeRankingVo();
|
||||
|
||||
var now = DateTime.UtcNow;
|
||||
var firstDayOfMonth = new DateTime(now.Year, now.Month, 1);
|
||||
var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1);
|
||||
|
||||
|
||||
var studentResults = await _sportsContext.XW_TrainStudents.Where(x => x.XW_SportsTestDataId == trainId)
|
||||
.Select(x => new
|
||||
{
|
||||
x.GradeId,
|
||||
x.StudentId,
|
||||
x.StudentName,
|
||||
x.Rating,
|
||||
x.CreateTime,
|
||||
x.Score
|
||||
}).ToListAsync();
|
||||
|
||||
var student = studentResults.FirstOrDefault(x => x.StudentId == studentId);
|
||||
|
||||
if (student == null)
|
||||
{
|
||||
return res;
|
||||
}
|
||||
var rankedResults = studentResults
|
||||
.Where(x => x.GradeId == student.GradeId &&
|
||||
DateTime.TryParse(x.CreateTime, out var createTime) &&
|
||||
createTime >= firstDayOfMonth && createTime <= lastDayOfMonth)
|
||||
.OrderByDescending(x => x.Score)
|
||||
.Select((x, index) => new { x.StudentId, Rank = index + 1 })
|
||||
.ToList();
|
||||
|
||||
var studentRank = rankedResults.FirstOrDefault(x => x.StudentId == student.StudentId)?.Rank.ToString() ?? "无数据";
|
||||
|
||||
res.Rating = student.Rating.ToString() ?? "无数据";
|
||||
res.MonthRanking = studentRank;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -413,15 +451,15 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
{
|
||||
TrainStudentId = x.Id,
|
||||
ClassName = x.ClassName,
|
||||
CreateTime = x.CreateTime,
|
||||
Achievement = x.Achievement.ToString(),
|
||||
Rating = x.Rating.ToString(),
|
||||
Score = x.Score.ToString(),
|
||||
Sex = x.Sex.ToString(),
|
||||
CreateTime = x.CreateTime ?? "无数据",
|
||||
Achievement = x.Achievement.ToString() ?? "无数据",
|
||||
Rating = x.Rating.ToString() ?? "无数据",
|
||||
Score = x.Score.ToString() ?? "无数据",
|
||||
Sex = x.Sex == 1 ? "男" : "女",
|
||||
StudentName = x.StudentName,
|
||||
TouristFlag = false,
|
||||
DoubleFlag = false,
|
||||
})
|
||||
}).OrderByDescending(x => x.CreateTime)
|
||||
.ToListAsync();
|
||||
|
||||
res.Total = total;
|
||||
@ -431,7 +469,6 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 历史记录详细
|
||||
/// </summary>
|
||||
@ -439,18 +476,57 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
/// <returns></returns>
|
||||
public async Task<TrainAnalusisVo> TrainAnalysisHistoryDetail(HistoryDetailRequestDto dto)
|
||||
{
|
||||
var trainModel = await _sportsContext.XW_TrainStudents.Where(x => x.Id == dto.TrainStudentId).Select(x => new { x.XW_SportsTestDataId, x.StudentId }).FirstAsync();
|
||||
|
||||
var stuHeadUrl = await _sportsContext.Student.Where(x => x.Id == trainModel.StudentId).Select(x => x.Photo).FirstOrDefaultAsync();
|
||||
|
||||
var trainName = await _sportsContext.XW_SportsTestData.Where(x => x.Id == trainModel.XW_SportsTestDataId).Select(x => x.ProjectName).FirstOrDefaultAsync();
|
||||
|
||||
var now = DateTime.UtcNow;
|
||||
var firstDayOfMonth = new DateTime(now.Year, now.Month, 1);
|
||||
var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1);
|
||||
|
||||
|
||||
var studentResults = await _sportsContext.XW_TrainStudents.Where(x => x.XW_SportsTestDataId == trainModel.XW_SportsTestDataId)
|
||||
.Select(x => new
|
||||
{
|
||||
x.GradeId,
|
||||
x.StudentId,
|
||||
x.StudentName,
|
||||
x.Rating,
|
||||
x.CreateTime,
|
||||
x.Score
|
||||
}).ToListAsync();
|
||||
|
||||
var student = studentResults.FirstOrDefault(x => x.StudentId == trainModel.StudentId);
|
||||
|
||||
if (student == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var rankedResults = studentResults
|
||||
.Where(x => x.GradeId == student.GradeId &&
|
||||
DateTime.TryParse(x.CreateTime, out var createTime) &&
|
||||
createTime >= firstDayOfMonth && createTime <= lastDayOfMonth)
|
||||
.OrderByDescending(x => x.Score)
|
||||
.Select((x, index) => new { x.StudentId, Rank = index + 1 })
|
||||
.ToList();
|
||||
|
||||
var studentRank = rankedResults.FirstOrDefault(x => x.StudentId == student.StudentId)?.Rank.ToString() ?? "无数据";
|
||||
|
||||
var res = await _sportsContext.XW_TrainStudents.Where(x => x.Id == dto.TrainStudentId).Include(x => x.TrainViolationsBO).Select(x => new TrainAnalusisVo()
|
||||
{
|
||||
Achievement = x.Achievement.ToString(),
|
||||
Achievement = x.Achievement.ToString() ?? "无数据",
|
||||
ClassName = x.ClassName,
|
||||
GradeRanking = x.Ranking.ToString(),
|
||||
HeadImgUrl = "",
|
||||
ProjectName = "",
|
||||
Rating = x.Rating.ToString(),
|
||||
Score = x.Score.ToString(),
|
||||
Sex = x.Sex.ToString(),
|
||||
GradeRanking = studentRank,
|
||||
HeadImgUrl = stuHeadUrl,
|
||||
ProjectName = trainName,
|
||||
Rating = x.Rating.ToString() ?? "无数据",
|
||||
Score = x.Score.ToString() ?? "无数据",
|
||||
Sex = x.Sex == 1 ? "男" : "女",
|
||||
StudentName = x.StudentName,
|
||||
Times = x.ErrorCount.ToString(),
|
||||
Times = $"{x.ErrorTime.ConvertSecondsToMinutes()}/{x.ErrorCount}",
|
||||
ViolationsNumber = x.TrainViolationsBO.Count(),
|
||||
TrainViolationsVo = x.TrainViolationsBO.Select(x => new TrainViolationsVo()
|
||||
{
|
||||
@ -463,6 +539,8 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
|
||||
}).FirstOrDefaultAsync();
|
||||
|
||||
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -485,6 +563,7 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
var studentResults = await _sportsContext.XW_TrainStudents.Where(x => trainIds.Contains(x.XW_SportsTestDataId))
|
||||
.Select(x => new
|
||||
{
|
||||
x.Id,
|
||||
x.ClassName,
|
||||
x.StudentId,
|
||||
x.StudentName,
|
||||
@ -512,12 +591,13 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
.Select((x, index) => new { x, Rank = index + 1 })
|
||||
.ToList();
|
||||
|
||||
var stuHeadUrl = await _sportsContext.Student.Where(x => x.Id == student.StudentId).Select(x => x.Photo).FirstOrDefaultAsync();
|
||||
|
||||
var res = new TrainHistoryPersonVo()
|
||||
{
|
||||
ClassName = student.ClassName,
|
||||
HeadImgUrl = "",
|
||||
Sex = student.Sex?.ToString() ?? "无数据",
|
||||
HeadImgUrl = stuHeadUrl,
|
||||
Sex = student.Sex == 1 ? "男" : "女",
|
||||
StudentName = student.StudentName,
|
||||
HistoryBestScore = studentResults.Max(x => x.Score)?.ToString() ?? "无数据",
|
||||
HistoryRanking = rankedResults.FirstOrDefault(x => x.x.Score == student.Score)?.Rank.ToString() ?? "-1",
|
||||
@ -573,16 +653,16 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
.Take(dto.PageSize)
|
||||
.Select(x => new PersonAnalysisVo()
|
||||
{
|
||||
TrainStudentId = x.StudentId,
|
||||
TrainStudentId = x.Id,
|
||||
ClassName = x.ClassName,
|
||||
CreateTime = x.CreateTime,
|
||||
Achievement = x.Achievement.ToString(),
|
||||
Rating = x.Rating.ToString(),
|
||||
Score = x.Score.ToString(),
|
||||
Sex = x.Sex.ToString(),
|
||||
CreateTime = x.CreateTime ?? "无数据",
|
||||
Achievement = x.Achievement.ToString() ?? "无数据",
|
||||
Rating = x.Rating.ToString() ?? "无数据",
|
||||
Score = x.Score.ToString() ?? "无数据",
|
||||
Sex = x.Sex == 1 ? "男" : "女",
|
||||
StudentName = x.StudentName,
|
||||
DoubleFlag = false,
|
||||
})
|
||||
}).OrderByDescending(x => x.CreateTime)
|
||||
.ToListAsync();
|
||||
|
||||
res.Total = total;
|
||||
@ -658,7 +738,7 @@ namespace YD_XinWei.Api.Services.Impl
|
||||
{
|
||||
Name = x.StudentName,
|
||||
ClassName = x.ClassName,
|
||||
Achievement = x.Achievement.ToString()
|
||||
Achievement = x.Achievement.ToString() ?? "无数据"
|
||||
}).OrderByDescending(x => x.Achievement)
|
||||
.ToList();
|
||||
|
||||
|
@ -122,5 +122,8 @@ namespace YD_XinWei.Api.Services.Interface
|
||||
/// <returns></returns>
|
||||
Task<ScoreRankingVo> ScoreRanking(ScoreRankingDto dto);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ namespace VOL.Entity.DomainModels.XinWei
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Display(Description = "主键Id")]
|
||||
[Comment("Id")]
|
||||
public int? Id { get; set; }
|
||||
public int Id { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("YD_XinWei.Api")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e81823ef15e02c113f3f600253339ecd8a261df3")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2b2125ad0e1121cb29ce52823500492b72804ef4")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("YD_XinWei.Api")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("YD_XinWei.Api")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
48ae5cc3890150a99121b87b71767723628c58096e50d505c2f597352fab8fc2
|
||||
b123c2daca944ac3b90ac51314702eef7a056e81b752746cf6e26e895fbd1a85
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
{"documents":{"C:\\Users\\Administrator\\Desktop\\xwcode\\*":"https://dev.azure.com/tanglong10081/YD_XinWei/_apis/git/repositories/YD_XinWei/items?api-version=1.0&versionType=commit&version=e81823ef15e02c113f3f600253339ecd8a261df3&path=/*"}}
|
||||
{"documents":{"C:\\Users\\Administrator\\Desktop\\xwcode\\*":"https://dev.azure.com/tanglong10081/YD_XinWei/_apis/git/repositories/YD_XinWei/items?api-version=1.0&versionType=commit&version=2b2125ad0e1121cb29ce52823500492b72804ef4&path=/*"}}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("YD_XinWei.Api")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e81823ef15e02c113f3f600253339ecd8a261df3")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2b2125ad0e1121cb29ce52823500492b72804ef4")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("YD_XinWei.Api")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("YD_XinWei.Api")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
48ae5cc3890150a99121b87b71767723628c58096e50d505c2f597352fab8fc2
|
||||
b123c2daca944ac3b90ac51314702eef7a056e81b752746cf6e26e895fbd1a85
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
{"documents":{"C:\\Users\\Administrator\\Desktop\\xwcode\\*":"https://dev.azure.com/tanglong10081/YD_XinWei/_apis/git/repositories/YD_XinWei/items?api-version=1.0&versionType=commit&version=e81823ef15e02c113f3f600253339ecd8a261df3&path=/*"}}
|
||||
{"documents":{"C:\\Users\\Administrator\\Desktop\\xwcode\\*":"https://dev.azure.com/tanglong10081/YD_XinWei/_apis/git/repositories/YD_XinWei/items?api-version=1.0&versionType=commit&version=2b2125ad0e1121cb29ce52823500492b72804ef4&path=/*"}}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user