From 84213487a0e212300f63539e1b635b44b552c46a Mon Sep 17 00:00:00 2001 From: tanglong <842690096@qq.com> Date: Wed, 30 Jul 2025 16:51:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E6=89=93=E7=9A=84=E5=9C=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 9 +- Server/.gitignore | 9 +- .../Dto/LargeScreen/LargeScreenDto.cs | 19 +- .../Dto/LargeScreen/SportsProjectListDto.cs | 29 ++ .../Dto/LargeScreen/SportsTestDataDto.cs | 97 ++++++ .../Dto/LargeScreen/StudentListDto.cs | 20 ++ .../net6.0/YD_XinWei.Commons.AssemblyInfo.cs | 2 +- ...YD_XinWei.Commons.AssemblyInfoInputs.cache | 2 +- ...XinWei.Commons.csproj.FileListAbsolute.txt | 12 + .../Controllers/LargeScreenController.cs | 48 +++ Server/YD_XinWei/Program.cs | 2 +- .../Services/Impl/LargeScreenService.cs | 172 +++++++++- .../Services/Interface/ILargeScreenService.cs | 11 +- .../SmartSportsEntitys/N_SportsTestValue.cs | 12 +- .../YD_XinWei/SmartSportsEntitys/S_Class.cs | 4 +- Server/YD_XinWei/Startup.cs | 3 +- Server/YD_XinWei/Utilities/AppSettings.cs | 1 + .../obj/Debug/net6.0/ApiEndpoints.json | 62 ++++ .../net6.0/EndpointInfo/YD_XinWei.Api.json | 294 ++++++++++++++++++ .../net6.0/YD_XinWei.Api.AssemblyInfo.cs | 2 +- .../YD_XinWei.Api.AssemblyInfoInputs.cache | 2 +- ..._XinWei.Api.csproj.AssemblyReference.cache | Bin 20023 -> 22505 bytes .../YD_XinWei.Api.csproj.FileListAbsolute.txt | 90 ++++++ Server/YD_XinWei/obj/Debug/net6.0/apphost.exe | Bin 151040 -> 151040 bytes 24 files changed, 869 insertions(+), 33 deletions(-) create mode 100644 Server/YD_XinWei.Commons/Dto/LargeScreen/SportsProjectListDto.cs create mode 100644 Server/YD_XinWei.Commons/Dto/LargeScreen/SportsTestDataDto.cs create mode 100644 Server/YD_XinWei.Commons/Dto/LargeScreen/StudentListDto.cs create mode 100644 Server/YD_XinWei/Controllers/LargeScreenController.cs diff --git a/.gitignore b/.gitignore index 88dbff1..5a7fe71 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,8 @@ -.vs/ +.vs +.vscode +bin +obj +*.jfm +*.dbmdl +*.user +node_modules \ No newline at end of file diff --git a/Server/.gitignore b/Server/.gitignore index 88dbff1..5a7fe71 100644 --- a/Server/.gitignore +++ b/Server/.gitignore @@ -1 +1,8 @@ -.vs/ +.vs +.vscode +bin +obj +*.jfm +*.dbmdl +*.user +node_modules \ No newline at end of file diff --git a/Server/YD_XinWei.Commons/Dto/LargeScreen/LargeScreenDto.cs b/Server/YD_XinWei.Commons/Dto/LargeScreen/LargeScreenDto.cs index 1b4463a..b148ab7 100644 --- a/Server/YD_XinWei.Commons/Dto/LargeScreen/LargeScreenDto.cs +++ b/Server/YD_XinWei.Commons/Dto/LargeScreen/LargeScreenDto.cs @@ -5,6 +5,7 @@ using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; +using Newtonsoft.Json.Linq; namespace YD_XinWei.Commons.Dto.LargeScreen { @@ -21,12 +22,12 @@ namespace YD_XinWei.Commons.Dto.LargeScreen /// /// 各项目数据 /// - public ItemDataDto ItemData { get; set; } = new ItemDataDto(); + public List ItemDatalist { get; set; } = new List(); /// /// 班级运动榜 /// - public ClassSportsRankingDto ClassSportsRankList { get; set; } = new ClassSportsRankingDto(); + public List ClassSportsRankList { get; set; } = new List(); /// /// 各项目实时数据 @@ -71,9 +72,9 @@ namespace YD_XinWei.Commons.Dto.LargeScreen public class ItemDataDto { /// - /// 项目id + /// 项目枚举 /// - public int ProjectId { get; set; } + public int CategoryValue { get; set; } /// /// 项目优良率 @@ -114,7 +115,7 @@ namespace YD_XinWei.Commons.Dto.LargeScreen /// /// 成绩 /// - public string Score { get; set; } + public float Value { get; set; } } /// @@ -166,7 +167,7 @@ namespace YD_XinWei.Commons.Dto.LargeScreen /// /// 年级班级名称 /// - public int GradeAndClassName { get; set; } + public string GradeAndClassName { get; set; } /// /// 项目名称 @@ -176,12 +177,12 @@ namespace YD_XinWei.Commons.Dto.LargeScreen /// /// 成绩 /// - public int Result { get; set; } + public float Value { get; set; } /// /// 得分 /// - public int Score { get; set; } + public float Score { get; set; } /// /// 等级 @@ -192,6 +193,6 @@ namespace YD_XinWei.Commons.Dto.LargeScreen /// 创建时间 /// - public string CreateTime { get; set; } + public string ScoreTime { get; set; } } } diff --git a/Server/YD_XinWei.Commons/Dto/LargeScreen/SportsProjectListDto.cs b/Server/YD_XinWei.Commons/Dto/LargeScreen/SportsProjectListDto.cs new file mode 100644 index 0000000..92d7a40 --- /dev/null +++ b/Server/YD_XinWei.Commons/Dto/LargeScreen/SportsProjectListDto.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace YD_XinWei.Commons.Dto.LargeScreen +{ + /// + /// 体育项目列表 + /// + public class SportsProjectListDto + { + /// + /// ProjectId + /// + public int ProjectId { get; set; } + + /// + ///名称 + /// + public string ProjectName { get; set; } + + /// + /// 类别 + /// + public int CategoryValue { get; set; } + } +} diff --git a/Server/YD_XinWei.Commons/Dto/LargeScreen/SportsTestDataDto.cs b/Server/YD_XinWei.Commons/Dto/LargeScreen/SportsTestDataDto.cs new file mode 100644 index 0000000..3a8837f --- /dev/null +++ b/Server/YD_XinWei.Commons/Dto/LargeScreen/SportsTestDataDto.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace YD_XinWei.Commons.Dto.LargeScreen +{ + public class SportsTestDataDto + { + /// + ///学校编号 + /// + public string? SchoolCode { get; set; } + + /// + ///老师Id + /// + public int TeacherId { get; set; } + + /// + ///年级Id + /// + public int GradeId { get; set; } + + /// + ///年级名称 + /// + /// + public string? GradeName { get; set; } + + /// + ///班级Id + /// + /// + public int ClassId { get; set; } + + /// + ///班级名称 + /// + /// + public string? ClassName { get; set; } + + + /// + ///学生学号 + /// + public string StudentNo { get; set; } + + /// + ///学生名称 + /// + public string StudentName { get; set; } + + /// + ///性别 + /// + public int Sex { get; set; } + + /// + ///类别枚举值 + /// + public int CategoryValue { get; set; } + + /// + ///测试结果 + /// + public float Value { get; set; } + + /// + ///得分 + /// + public float Score { get; set; } + + /// + /// 等级 + /// + public string? Rank { get; set; } + + /// + ///测试时间 + /// + public DateTime ScoreTime { get; set; } + + /// + /// 身高[单位:厘米] + /// + public float? Height { get; set; } + + /// + /// 体重[单位:千克] + /// + public float? Weight { get; set; } + } +} diff --git a/Server/YD_XinWei.Commons/Dto/LargeScreen/StudentListDto.cs b/Server/YD_XinWei.Commons/Dto/LargeScreen/StudentListDto.cs new file mode 100644 index 0000000..104f604 --- /dev/null +++ b/Server/YD_XinWei.Commons/Dto/LargeScreen/StudentListDto.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace YD_XinWei.Commons.Dto.LargeScreen +{ + /// + /// 学生列表 + /// + public class StudentListDto + { + public string StudentNo { get; set; } + + public string Photo { get; set; } + + public int Sex { get; set; } + } +} diff --git a/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.AssemblyInfo.cs b/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.AssemblyInfo.cs index 96b043f..59d2aeb 100644 --- a/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.AssemblyInfo.cs +++ b/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.AssemblyInfo.cs @@ -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+9db8634ffd224583a038708ca65e7bbd724860fd")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d6f1972ad9eeb1f7748d627b93cfc055c9be74da")] [assembly: System.Reflection.AssemblyProductAttribute("YD_XinWei.Commons")] [assembly: System.Reflection.AssemblyTitleAttribute("YD_XinWei.Commons")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.AssemblyInfoInputs.cache b/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.AssemblyInfoInputs.cache index 6b43653..9b035b3 100644 --- a/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.AssemblyInfoInputs.cache +++ b/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.AssemblyInfoInputs.cache @@ -1 +1 @@ -242218b26af20e234a480d64e61bc7bcf41a4da0f6701959d0541467151cf2ce +f2cd6ca8ff95a7c4607306742b0f6455f67e97940b68e393657f6ff677fbc6f0 diff --git a/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.csproj.FileListAbsolute.txt b/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.csproj.FileListAbsolute.txt index e9092c3..a437640 100644 --- a/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.csproj.FileListAbsolute.txt +++ b/Server/YD_XinWei.Commons/obj/Debug/net6.0/YD_XinWei.Commons.csproj.FileListAbsolute.txt @@ -76,3 +76,15 @@ C:\Users\tangl\Desktop\Code\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\ C:\Users\tangl\Desktop\Code\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\refint\YD_XinWei.Commons.dll C:\Users\tangl\Desktop\Code\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\YD_XinWei.Commons.pdb C:\Users\tangl\Desktop\Code\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\ref\YD_XinWei.Commons.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\bin\Debug\net6.0\YD_XinWei.Commons.deps.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\bin\Debug\net6.0\YD_XinWei.Commons.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\bin\Debug\net6.0\YD_XinWei.Commons.pdb +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\YD_XinWei.Commons.csproj.AssemblyReference.cache +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\YD_XinWei.Commons.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\YD_XinWei.Commons.AssemblyInfoInputs.cache +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\YD_XinWei.Commons.AssemblyInfo.cs +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\YD_XinWei.Commons.csproj.CoreCompileInputs.cache +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\YD_XinWei.Commons.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\refint\YD_XinWei.Commons.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\YD_XinWei.Commons.pdb +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei.Commons\obj\Debug\net6.0\ref\YD_XinWei.Commons.dll diff --git a/Server/YD_XinWei/Controllers/LargeScreenController.cs b/Server/YD_XinWei/Controllers/LargeScreenController.cs new file mode 100644 index 0000000..500632a --- /dev/null +++ b/Server/YD_XinWei/Controllers/LargeScreenController.cs @@ -0,0 +1,48 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using YD_XinWei.Api.Services.Impl; +using YD_XinWei.Api.Services.Interface; +using YD_XinWei.Commons.Dto; +using YD_XinWei.Commons.Dto.LargeScreen; +using YD_XinWei.Commons.Dto.Open; + +namespace YD_XinWei.Api.Controllers +{ + [ApiVersion("1.0")] + [AllowAnonymous] + public class LargeScreenController : ControllerBase + { + private readonly ILargeScreenService _largeScreenService; + public LargeScreenController(ILargeScreenService largeScreenService) + { + _largeScreenService = largeScreenService; + } + + /// + /// 获取项目列表 + /// + /// + [HttpGet] + [Route("/LargeScreen/{apiVersion}/SportsProjectList")] + public async Task> SportsProjectList(int orgId) + { + var res = await _largeScreenService.SportsProjectList(orgId); + + return res; + } + + /// + /// 项目成绩大屏数据 + /// + /// + [HttpGet] + [Route("/LargeScreen/{apiVersion}/ItemResultLargeScreenData")] + public async Task ItemResultLargeScreenData(int orgId) + { + var res = await _largeScreenService.ItemResultLargeScreenData(orgId); + + return res; + } + } +} diff --git a/Server/YD_XinWei/Program.cs b/Server/YD_XinWei/Program.cs index b3c5f7a..bb107ec 100644 --- a/Server/YD_XinWei/Program.cs +++ b/Server/YD_XinWei/Program.cs @@ -19,7 +19,7 @@ namespace YD_XinWei.Api { serverOptions.Limits.MaxRequestBodySize = 10485760; }); - webBuilder.UseKestrel().UseUrls("http://*:9994"); + webBuilder.UseKestrel().UseUrls("http://*:9995"); webBuilder.UseIIS(); webBuilder.UseStartup(); }).UseServiceProviderFactory(new AutofacServiceProviderFactory()); diff --git a/Server/YD_XinWei/Services/Impl/LargeScreenService.cs b/Server/YD_XinWei/Services/Impl/LargeScreenService.cs index 1bdbb05..1f935f6 100644 --- a/Server/YD_XinWei/Services/Impl/LargeScreenService.cs +++ b/Server/YD_XinWei/Services/Impl/LargeScreenService.cs @@ -1,8 +1,11 @@ using AutoMapper; using Microsoft.EntityFrameworkCore; using VOL.Entity.DomainModels.XinWei; +using VOL.Entity.Enum; using YD_XinWei.Api.Context; using YD_XinWei.Api.Services.Interface; +using YD_XinWei.Api.SmartSportsEntitys; +using YD_XinWei.Commons.Dto.Common; using YD_XinWei.Commons.Dto.LargeScreen; using YD_XinWei.Commons.MemoryCaches; @@ -28,6 +31,32 @@ namespace YD_XinWei.Api.Services.Impl _mapper = mapper; _caching = caching; } + + /// + /// 获取项目列表 + /// + /// + /// + public async Task> SportsProjectList(int orgId) + { + var testingProjectKey = $"TestingProject_{orgId}"; + + var res = _caching.Get>(testingProjectKey); + + if (res == null || res.Count == 0) + { + res = await _sportsContext.XW_TestingProject.Where(x => x.OrgId == orgId) + .Select(x => new SportsProjectListDto() + { + ProjectId = x.ProjectId, + ProjectName = x.ProjectName, + CategoryValue = x.CategoryValue + }).ToListAsync(); + } + + return res; + } + /// /// 项目成绩大屏数据 /// @@ -37,34 +66,163 @@ namespace YD_XinWei.Api.Services.Impl { var res = new LargeScreenDto(); - var schoolCode = _caching.Get(orgId.ToString()); + var schoolKeyKey = $"School_{orgId}"; + + var schoolCode = _caching.Get(schoolKeyKey); if (string.IsNullOrWhiteSpace(schoolCode)) { schoolCode = await _sportsContext.School.Where(x => x.Id == orgId).Select(x => x.SchoolCode).FirstAsync(); - _caching.Add(orgId.ToString(), schoolCode); + _caching.Add(schoolKeyKey, schoolCode); } var sportsTestDataKey = $"SportsTestData_{schoolCode}"; + var studentListKey = $"StudentList_{schoolCode}"; - var studentInfo = await _sportsContext.Student.Where(x => x.SchoolCode == schoolCode).Select(x => x.Sex).ToListAsync(); + var studentList = _caching.Get>(studentListKey); - res.BasicInfo.FemaleCount = studentInfo.Count(x => x == 2); - res.BasicInfo.MaleCount = studentInfo.Count(x => x == 1); + if (studentList == null || studentList.Count == 0) + { + studentList = await _sportsContext.Student.Where(x => x.SchoolCode == schoolCode).Select(x => new StudentListDto + { + StudentNo = x.StudentNo, + Sex = x.Sex, + Photo = x.Photo ?? "" + }).ToListAsync(); + _caching.AddObject(studentListKey, studentList, 3600); + } - var sportsTestData = _caching.Get>(sportsTestDataKey); + res.BasicInfo.FemaleCount = studentList.Count(x => x.Sex == 2); + res.BasicInfo.MaleCount = studentList.Count(x => x.Sex == 1); + + var sportsTestData = _caching.Get>(sportsTestDataKey); if (sportsTestData == null || sportsTestData.Count == 0) { - sportsTestData = await _sportsContext.XW_SportsTestData.Where(x => x.OrgId == orgId).ToListAsync(); + sportsTestData = await _sportsContext.SportsTestValue.Where(x => x.SchoolCode == schoolCode && x.DataSource == DataSource.XW) + .Select(x => new SportsTestDataDto() + { + SchoolCode = x.SchoolCode, + CategoryValue = x.CategoryValue, + ClassId = x.ClassId, + ClassName = x.ClassName, + GradeId = x.GradeId, + GradeName = x.GradeName, + TeacherId = x.TeacherId, + StudentNo = x.StudentNo, + StudentName = x.StudentName, + Sex = x.Sex, + ScoreTime = x.ScoreTime, + Height = x.Height, + Weight = x.Weight, + Value = x.Value, + Score = x.Score, + Rank = x.Rank + }).ToListAsync(); _caching.AddObject(sportsTestDataKey, sportsTestData, 3600); } + var bestScoreData = sportsTestData + .GroupBy(x => x.StudentNo) + .Select(g => g.OrderByDescending(x => x.Score).First()) + .ToList(); + + var projectResults = bestScoreData + .GroupBy(x => x.CategoryValue) + .Select(g => new ItemDataDto + { + CategoryValue = g.Key, + // 优良率计算:分数 > 80 的人数 ÷ 总人数 + ExcellentRate = g.Count(x => x.Score > 80) * 100.0 / Math.Max(g.Count(), 1), + + // 男生前十名 + MaleRankList = g.Where(x => x.Sex == 1) + .OrderByDescending(x => x.Value) + .Take(10) + .Select((x, index) => new StudentScoreRankingDto + { + Rank = index + 1, + StudentNo = x.StudentNo, + StudentName = x.StudentName, + Value = x.Value + }).ToList(), + + // 女生前十名 + FemaleRankList = g.Where(x => x.Sex == 2) + .OrderByDescending(x => x.Value) + .Take(10) + .Select((x, index) => new StudentScoreRankingDto + { + Rank = index + 1, + StudentNo = x.StudentNo, + StudentName = x.StudentName, + Value = x.Value + }).ToList() + }) + .ToList(); + + res.ItemDatalist = projectResults; + var classListKey = $"ClassList_{schoolCode}"; + var classList = _caching.Get>(classListKey); + if (classList == null || classList.Count == 0) + { + classList = await _sportsContext.Class.Where(x => x.SchoolCode == schoolCode).ToListAsync(); + _caching.AddObject(classListKey, classList, 3600); + } + var classRankingList = sportsTestData + .GroupBy(x => new { x.ClassId }) + .Select(g => new ClassSportsRankingDto + { + ClassId = g.Key.ClassId, + ClassName = classList.Where(c => c.Id == g.Key.ClassId).Select(x => $"{x.GradeName}-{x.ClassName}").FirstOrDefault() ?? "", + Count = g.Count() + }) + .OrderByDescending(x => x.Count) + .Take(5) + .Select((x, index) => + { + x.Rank = index + 1; + return x; + }) + .ToList(); + + res.ClassSportsRankList = classRankingList; + + var testingProjectKey = $"TestingProject_{orgId}"; + + var testingProjects = _caching.Get>(testingProjectKey) ?? new List(); + var projectNameDict = testingProjects.ToDictionary(t => t.CategoryValue, t => t.ProjectName); + + var studentPhotoDict = studentList.Where(s => !string.IsNullOrEmpty(s.StudentNo)).ToDictionary(s => s.StudentNo, s => s.Photo ?? string.Empty); + + var latestPerStudent = sportsTestData + .GroupBy(x => x.StudentNo) + .Select(g => g.OrderByDescending(x => x.ScoreTime).First()) + .ToList(); + + var realTimeResults = latestPerStudent + .OrderByDescending(x => x.ScoreTime) + .Take(50) + .Select(x => new ItemRealTimeResultDto + { + StudentNo = x.StudentNo, + StudentName = x.StudentName, + Photo = studentPhotoDict.TryGetValue(x.StudentNo, out var photo) ? photo : string.Empty, + GradeAndClassName = $"{x.GradeName}-{x.ClassName}", + ProjectName = projectNameDict.TryGetValue(x.CategoryValue, out var projectName) ? projectName : string.Empty, + Value = x.Value, + Score = x.Score, + Rank = x.Rank ?? "不及格", + ScoreTime = x.ScoreTime.ToString("yyyy-MM-dd HH:mm:ss") + }) + .ToList(); + + res.ItemRealTimeResultList = realTimeResults; return res; } diff --git a/Server/YD_XinWei/Services/Interface/ILargeScreenService.cs b/Server/YD_XinWei/Services/Interface/ILargeScreenService.cs index 36e1052..9792fbf 100644 --- a/Server/YD_XinWei/Services/Interface/ILargeScreenService.cs +++ b/Server/YD_XinWei/Services/Interface/ILargeScreenService.cs @@ -1,4 +1,5 @@ -using YD_XinWei.Commons.Dto.LargeScreen; +using YD_XinWei.Commons.Dto.Common; +using YD_XinWei.Commons.Dto.LargeScreen; using YD_XinWei.Commons.Dto.Open; namespace YD_XinWei.Api.Services.Interface @@ -8,6 +9,14 @@ namespace YD_XinWei.Api.Services.Interface /// public interface ILargeScreenService { + + /// + /// 体育项目 + /// + /// 学校Id + /// + Task> SportsProjectList(int orgId); + /// /// 项目成绩大屏数据 /// diff --git a/Server/YD_XinWei/SmartSportsEntitys/N_SportsTestValue.cs b/Server/YD_XinWei/SmartSportsEntitys/N_SportsTestValue.cs index 9ba382b..78b3d75 100644 --- a/Server/YD_XinWei/SmartSportsEntitys/N_SportsTestValue.cs +++ b/Server/YD_XinWei/SmartSportsEntitys/N_SportsTestValue.cs @@ -39,7 +39,7 @@ namespace YD_XinWei.Api.SmartSportsEntitys [Display(Name = "老师名称")] [Comment("老师名称")] [Column(TypeName = "nvarchar(100)")] - public string TeacherName { get; set; } + public string? TeacherName { get; set; } /// @@ -56,7 +56,7 @@ namespace YD_XinWei.Api.SmartSportsEntitys [Display(Name = "年级名称")] [Comment("年级名称")] [Column(TypeName = "nvarchar(100)")] - public string GradeName { get; set; } + public string? GradeName { get; set; } /// ///班级Id @@ -72,7 +72,7 @@ namespace YD_XinWei.Api.SmartSportsEntitys [Display(Name = "班级名称")] [Comment("班级名称")] [Column(TypeName = "nvarchar(100)")] - public string ClassName { get; set; } + public string? ClassName { get; set; } /// ///学生学号 @@ -112,7 +112,7 @@ namespace YD_XinWei.Api.SmartSportsEntitys [Display(Name = "类别名称")] [Comment("类别名称")] [Column(TypeName = "nvarchar(100)")] - public string CategoryEnum { get; set; } + public string? CategoryEnum { get; set; } /// ///测试结果 @@ -177,7 +177,7 @@ namespace YD_XinWei.Api.SmartSportsEntitys [Display(Name = "等级")] [Comment("等级")] [Column(TypeName = "nvarchar(100)")] - public string Rank { get; set; } + public string? Rank { get; set; } /// /// 班级排名 @@ -234,7 +234,7 @@ namespace YD_XinWei.Api.SmartSportsEntitys [Display(Name = "备注")] [Comment("备注")] [Column(TypeName = "text")] - public string Remarks { get; set; } + public string? Remarks { get; set; } /// /// 当前年份 diff --git a/Server/YD_XinWei/SmartSportsEntitys/S_Class.cs b/Server/YD_XinWei/SmartSportsEntitys/S_Class.cs index da11719..b6a5c88 100644 --- a/Server/YD_XinWei/SmartSportsEntitys/S_Class.cs +++ b/Server/YD_XinWei/SmartSportsEntitys/S_Class.cs @@ -37,7 +37,7 @@ namespace YD_XinWei.Api.SmartSportsEntitys [Display(Name = "年级名称")] [Comment("年级名称")] [Column(TypeName = "nvarchar(100)")] - public string GradeName { get; set; } + public string? GradeName { get; set; } /// ///班级名称 @@ -45,7 +45,7 @@ namespace YD_XinWei.Api.SmartSportsEntitys [Display(Name = "班级名称")] [Comment("班级名称")] [Column(TypeName = "nvarchar(100)")] - public string ClassName { get; set; } + public string? ClassName { get; set; } } } diff --git a/Server/YD_XinWei/Startup.cs b/Server/YD_XinWei/Startup.cs index 052e621..31009ac 100644 --- a/Server/YD_XinWei/Startup.cs +++ b/Server/YD_XinWei/Startup.cs @@ -61,8 +61,9 @@ namespace YD_XinWei.Api services.AddSingleton(); services.AddScoped(); + services.AddScoped(); - services.AddScoped(); + services.AddScoped(); services.AddSession(); services.AddMemoryCache(); services.AddHttpContextAccessor(); diff --git a/Server/YD_XinWei/Utilities/AppSettings.cs b/Server/YD_XinWei/Utilities/AppSettings.cs index c8188d4..d05e684 100644 --- a/Server/YD_XinWei/Utilities/AppSettings.cs +++ b/Server/YD_XinWei/Utilities/AppSettings.cs @@ -21,6 +21,7 @@ ExpMinutes = configuration["ExpMinutes"]; DbConnectionString = configuration["DbConnectionString"]; SmartSportsString = configuration["SmartSportsString"]; + RedisConnectionString = configuration["RedisConnectionString"]; CorsUrls = configuration["CorsUrls"].Split(','); WeChat = configuration.GetSection("WeChat").Get(); } diff --git a/Server/YD_XinWei/obj/Debug/net6.0/ApiEndpoints.json b/Server/YD_XinWei/obj/Debug/net6.0/ApiEndpoints.json index cc74dd3..3afa639 100644 --- a/Server/YD_XinWei/obj/Debug/net6.0/ApiEndpoints.json +++ b/Server/YD_XinWei/obj/Debug/net6.0/ApiEndpoints.json @@ -102,6 +102,68 @@ } ] }, + { + "ContainingType": "YD_XinWei.Api.Controllers.LargeScreenController", + "Method": "ItemResultLargeScreenData", + "RelativePath": "LargeScreen/{apiVersion}/ItemResultLargeScreenData", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "orgId", + "Type": "System.Int32", + "IsRequired": false + }, + { + "Name": "apiVersion", + "Type": "", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "YD_XinWei.Commons.Dto.LargeScreen.LargeScreenDto", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "YD_XinWei.Api.Controllers.LargeScreenController", + "Method": "SportsProjectList", + "RelativePath": "LargeScreen/{apiVersion}/SportsProjectList", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "orgId", + "Type": "System.Int32", + "IsRequired": false + }, + { + "Name": "apiVersion", + "Type": "", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.List\u00601[[YD_XinWei.Commons.Dto.LargeScreen.SportsProjectListDto, YD_XinWei.Commons, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, { "ContainingType": "YD_XinWei.Api.Controllers.XinWeiController", "Method": "GetOrgSportsProjectList", diff --git a/Server/YD_XinWei/obj/Debug/net6.0/EndpointInfo/YD_XinWei.Api.json b/Server/YD_XinWei/obj/Debug/net6.0/EndpointInfo/YD_XinWei.Api.json index debda3c..0b41b5b 100644 --- a/Server/YD_XinWei/obj/Debug/net6.0/EndpointInfo/YD_XinWei.Api.json +++ b/Server/YD_XinWei/obj/Debug/net6.0/EndpointInfo/YD_XinWei.Api.json @@ -6,6 +6,111 @@ "version": "v1" }, "paths": { + "/LargeScreen/{apiVersion}/SportsProjectList": { + "get": { + "tags": [ + "LargeScreen" + ], + "summary": "获取项目列表", + "parameters": [ + { + "name": "orgId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "apiVersion", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SportsProjectListDto" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SportsProjectListDto" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SportsProjectListDto" + } + } + } + } + } + } + } + }, + "/LargeScreen/{apiVersion}/ItemResultLargeScreenData": { + "get": { + "tags": [ + "LargeScreen" + ], + "summary": "项目成绩大屏数据", + "parameters": [ + { + "name": "orgId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "apiVersion", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/LargeScreenDto" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/LargeScreenDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LargeScreenDto" + } + } + } + } + } + } + }, "/basic/{apiVersion}/device/open/getDeviceInfo": { "get": { "tags": [ @@ -1396,6 +1501,55 @@ }, "additionalProperties": false }, + "BasicInfoDto": { + "type": "object", + "properties": { + "maleCount": { + "type": "integer", + "format": "int32" + }, + "femaleCount": { + "type": "integer", + "format": "int32" + }, + "studentCount": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "weekTrainingCount": { + "type": "integer", + "format": "int32" + }, + "increase": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ClassSportsRankingDto": { + "type": "object", + "properties": { + "rank": { + "type": "integer", + "format": "int32" + }, + "classId": { + "type": "integer", + "format": "int32" + }, + "className": { + "type": "string", + "nullable": true + }, + "count": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, "DeviceInfoDto": { "type": "object", "properties": { @@ -1648,6 +1802,106 @@ }, "additionalProperties": false }, + "ItemDataDto": { + "type": "object", + "properties": { + "categoryValue": { + "type": "integer", + "format": "int32" + }, + "excellentRate": { + "type": "number", + "format": "double" + }, + "maleRankList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StudentScoreRankingDto" + }, + "nullable": true + }, + "femaleRankList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StudentScoreRankingDto" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ItemRealTimeResultDto": { + "type": "object", + "properties": { + "studentNo": { + "type": "string", + "nullable": true + }, + "studentName": { + "type": "string", + "nullable": true + }, + "photo": { + "type": "string", + "nullable": true + }, + "gradeAndClassName": { + "type": "string", + "nullable": true + }, + "projectName": { + "type": "string", + "nullable": true + }, + "value": { + "type": "number", + "format": "float" + }, + "score": { + "type": "number", + "format": "float" + }, + "rank": { + "type": "string", + "nullable": true + }, + "scoreTime": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LargeScreenDto": { + "type": "object", + "properties": { + "basicInfo": { + "$ref": "#/components/schemas/BasicInfoDto" + }, + "itemDatalist": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ItemDataDto" + }, + "nullable": true + }, + "classSportsRankList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ClassSportsRankingDto" + }, + "nullable": true + }, + "itemRealTimeResultList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ItemRealTimeResultDto" + }, + "nullable": true + } + }, + "additionalProperties": false + }, "PersonAnalysisVo": { "type": "object", "properties": { @@ -1923,6 +2177,24 @@ }, "additionalProperties": false }, + "SportsProjectListDto": { + "type": "object", + "properties": { + "projectId": { + "type": "integer", + "format": "int32" + }, + "projectName": { + "type": "string", + "nullable": true + }, + "categoryValue": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, "SportsRosterDto": { "type": "object", "properties": { @@ -2134,6 +2406,28 @@ }, "additionalProperties": false }, + "StudentScoreRankingDto": { + "type": "object", + "properties": { + "rank": { + "type": "integer", + "format": "int32" + }, + "studentNo": { + "type": "string", + "nullable": true + }, + "studentName": { + "type": "string", + "nullable": true + }, + "value": { + "type": "number", + "format": "float" + } + }, + "additionalProperties": false + }, "TableDataPersonAnalysisVo": { "type": "object", "properties": { diff --git a/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.AssemblyInfo.cs b/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.AssemblyInfo.cs index 530c888..40b5544 100644 --- a/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.AssemblyInfo.cs +++ b/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.AssemblyInfo.cs @@ -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+9db8634ffd224583a038708ca65e7bbd724860fd")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d6f1972ad9eeb1f7748d627b93cfc055c9be74da")] [assembly: System.Reflection.AssemblyProductAttribute("YD_XinWei.Api")] [assembly: System.Reflection.AssemblyTitleAttribute("YD_XinWei.Api")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.AssemblyInfoInputs.cache b/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.AssemblyInfoInputs.cache index 203b5cc..fdf3b80 100644 --- a/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.AssemblyInfoInputs.cache +++ b/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.AssemblyInfoInputs.cache @@ -1 +1 @@ -b4f63fa29e10d0dac6c934094a7c4f3bdebb2add2cd178a611d5c0347f714af8 +853f3940ff1e4c76230b7f689ccce5dc2964ced3eb1c5e1437954d479bd6dbeb diff --git a/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.csproj.AssemblyReference.cache b/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.csproj.AssemblyReference.cache index 6a4468763f6f99984ddcdd589b9fb50436925718..89f6cc771b5daca15bf74a77fc030167854fc091 100644 GIT binary patch delta 2214 zcmb_eO-~a+7@qM!2m~x@ArOsJL2aVjHW;ELM4K&<7{0WCl5B!YJGK*dXV%#%q4BVP zL9-VVOuQIRg6M_#A2h~9k6cYW@EdT4-7VFfLaWRs+wAN+&-*;@*LM3A{Pi9>Z7=}< zfJJpoTd)zcHLjDAq2-YMgi}kqgSobpTYiYi1BA6aVylQ9Y$z%tFbO?BHbRJ$M<%sTCgqcfng}vLkO6SA1{j{dI=JY?0aG%bQPSdaUuG{jq~aYB2YST~ z!tQ+4=Ezj;R|v-@f^FiZWI-p`+;<0HyZ5+tYuV}f(J?08_$(ki72v7VFi?Se?(KTa z(E!E&X%=+YO~m_WvMV-cdKB|W$c<0c8_Au`N5U}Vc}_sOiSzML7m$&WogAzwG%ZRH z;nTE;3}udC6LY+Z{?L0Qw=G8!#Dv^MmJrJINKB9RA#o9^$UCS|VVGAHl~pZHOH8-Q z-h*w`r|q9yTn<#^r5>_IiF$s^x6Kv<_O}>!cYG)l5|kw|y)paqj7jNu^K?-_PleFa$fT^=G-1Iv5{DOSLx+x%j_-ZTUGF;A z>#Oka4rzI!IE}}0XI=TUq*GRlv1wdj)TWQQqUOsw3r9swztHHfX3IMk@S8_#T)Asg z(h|wf&ra`sxwg}NPdE)*{H#c^Gi$XzFC)42Av;#Dd!Nyf^ho9=gq_OF#Joxw%37g( W0QQ0f0WA1`MBMH6fe%+s&in>X#(<>& delta 24 gcmaF4o^kseMh-Sc1qKEN#^lL`lJc8xatinX09jlHumAu6 diff --git a/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.csproj.FileListAbsolute.txt b/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.csproj.FileListAbsolute.txt index fbbf010..38b6761 100644 --- a/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.csproj.FileListAbsolute.txt +++ b/Server/YD_XinWei/obj/Debug/net6.0/YD_XinWei.Api.csproj.FileListAbsolute.txt @@ -625,3 +625,93 @@ C:\Users\tangl\Desktop\Code\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWe C:\Users\tangl\Desktop\Code\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.genruntimeconfig.cache C:\Users\tangl\Desktop\Code\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\ref\YD_XinWei.Api.dll C:\Users\tangl\Desktop\Code\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets.upToDateCheck.txt +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\appsettings.Development.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\appsettings.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\YD_XinWei.Api.staticwebassets.endpoints.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\YD_XinWei.Api.exe +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\YD_XinWei.Api.deps.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\YD_XinWei.Api.runtimeconfig.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\YD_XinWei.Api.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\YD_XinWei.Api.pdb +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\YD_XinWei.Api.xml +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Aliyun.OSS.Core.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Autofac.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Autofac.Extensions.DependencyInjection.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\AutoMapper.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\AutoMapper.Collection.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\CSRedisCore.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Humanizer.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.AspNetCore.Authentication.JwtBearer.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.AspNetCore.JsonPatch.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.AspNetCore.Mvc.Versioning.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.Bcl.AsyncInterfaces.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.Bcl.TimeProvider.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.Data.SqlClient.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.EntityFrameworkCore.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.EntityFrameworkCore.Abstractions.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.EntityFrameworkCore.Design.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.EntityFrameworkCore.Relational.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.EntityFrameworkCore.SqlServer.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.Identity.Client.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.IdentityModel.Abstractions.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.IdentityModel.JsonWebTokens.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.IdentityModel.Logging.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.IdentityModel.Protocols.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.IdentityModel.Tokens.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.OpenApi.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Microsoft.Win32.SystemEvents.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Newtonsoft.Json.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Newtonsoft.Json.Bson.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Swashbuckle.AspNetCore.Swagger.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Swashbuckle.AspNetCore.SwaggerGen.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\Swashbuckle.AspNetCore.SwaggerUI.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\System.Configuration.ConfigurationManager.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\System.Diagnostics.DiagnosticSource.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\System.Drawing.Common.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\System.IdentityModel.Tokens.Jwt.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\System.Runtime.Caching.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\System.Security.Cryptography.ProtectedData.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\System.Security.Permissions.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\System.Windows.Extensions.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\unix\lib\netcoreapp3.1\Microsoft.Data.SqlClient.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win\lib\netcoreapp3.1\Microsoft.Data.SqlClient.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win-arm\native\Microsoft.Data.SqlClient.SNI.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win-arm64\native\Microsoft.Data.SqlClient.SNI.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win-x64\native\Microsoft.Data.SqlClient.SNI.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win-x86\native\Microsoft.Data.SqlClient.SNI.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win\lib\netcoreapp3.0\Microsoft.Win32.SystemEvents.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\unix\lib\netcoreapp3.0\System.Drawing.Common.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win\lib\netcoreapp3.0\System.Drawing.Common.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win\lib\netstandard2.0\System.Runtime.Caching.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win\lib\netstandard2.0\System.Security.Cryptography.ProtectedData.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\runtimes\win\lib\netcoreapp3.0\System.Windows.Extensions.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\YD_XinWei.Commons.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\bin\Debug\net6.0\YD_XinWei.Commons.pdb +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.csproj.AssemblyReference.cache +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.AssemblyInfoInputs.cache +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.AssemblyInfo.cs +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.csproj.CoreCompileInputs.cache +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.MvcApplicationPartsAssemblyInfo.cs +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.MvcApplicationPartsAssemblyInfo.cache +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\scopedcss\bundle\YD_XinWei.Api.styles.css +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets.build.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets.development.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets.build.endpoints.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets\msbuild.YD_XinWei.Api.Microsoft.AspNetCore.StaticWebAssets.props +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets\msbuild.YD_XinWei.Api.Microsoft.AspNetCore.StaticWebAssetEndpoints.props +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets\msbuild.build.YD_XinWei.Api.props +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets\msbuild.buildMultiTargeting.YD_XinWei.Api.props +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets\msbuild.buildTransitive.YD_XinWei.Api.props +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets.pack.json +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\staticwebassets.upToDateCheck.txt +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWe.7845F25F.Up2Date +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\refint\YD_XinWei.Api.dll +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.xml +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.pdb +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\YD_XinWei.Api.genruntimeconfig.cache +C:\Users\tangl\Desktop\Git\YD_XinWei\Server\YD_XinWei\obj\Debug\net6.0\ref\YD_XinWei.Api.dll diff --git a/Server/YD_XinWei/obj/Debug/net6.0/apphost.exe b/Server/YD_XinWei/obj/Debug/net6.0/apphost.exe index 404569020242880eab452aaa7d05a0a21b9753bb..a48f2bef15074e9bd49248c8fbb80d0949e32df7 100644 GIT binary patch delta 99 zcmWm4$qj%o5JS;VZgdm21Zvz1Bv!9@*GCbu6J8?SMwOVZW%|RW5LrC j$oh6A%8JZ0GE1FWFI^Z&Y7&-7Ns_4jzsrR8Sj}lZ+cFYv delta 99 zcmWNI(G7qg3`9@<+y+GiX5hmaz~CBU;uwx$;(ESZ@7naW{TVxT53jL#^K$Y^+O^Ub j9XOFeldNX!k%bpkSb#c3HKxiga#K*_-zt1(HkbJUn86V}