From c84f1adbce1b1430a145d6c9976eb6c9eb391f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Fri, 13 Dec 2024 16:32:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E5=88=86=E4=B8=80=E6=AE=B5=E5=BE=85?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Front/LibraryController.cs | 66 +++++++++++-------- .../SeVolunteerInitializationController.cs | 4 +- .../ViewModels/Query/ScoreLineQueryDto.cs | 1 + .../ViewModels/ScoreLineResponseDto.cs | 25 ++++++- 4 files changed, 64 insertions(+), 32 deletions(-) diff --git a/New_College.Api/Controllers/Front/LibraryController.cs b/New_College.Api/Controllers/Front/LibraryController.cs index b621b6b..397ac75 100644 --- a/New_College.Api/Controllers/Front/LibraryController.cs +++ b/New_College.Api/Controllers/Front/LibraryController.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using MySqlX.XDevAPI.Common; using New_College.Common.HttpRestSharp; +using New_College.IRepository; using New_College.IServices; using New_College.Model; using New_College.Model.Models; @@ -23,10 +24,12 @@ namespace New_College.Api.Controllers.Front { private readonly ID_LongIdMapServices iD_LongIdMapServices; private readonly ID_ScoreLineServices _ScoreLineServices; - public LibraryController(ID_LongIdMapServices ID_LongIdMapServices, ID_ScoreLineServices d_ScoreLineServices) + private readonly ISysRegionRepository _regionRepository; + public LibraryController(ID_LongIdMapServices ID_LongIdMapServices, ID_ScoreLineServices d_ScoreLineServices, ISysRegionRepository sysRegionRepository) { iD_LongIdMapServices = ID_LongIdMapServices; this._ScoreLineServices = d_ScoreLineServices; + _regionRepository = sysRegionRepository; } @@ -66,22 +69,6 @@ namespace New_College.Api.Controllers.Front }; } var query = await _ScoreLineServices.Query(c => SqlFunc.Between(c.SumCount, lines.Min(), lines.Max()) && c.Province == queryDto.Pronvice); - //var newscore = queryDto.Score - 1; - //var tmpquery = await _ScoreLineServices.Query(c => c.Score == newscore.ToString() && c.Province == queryDto.Pronvice); - //query.ForEach(a => - //{ - // // var newsuminfo = tmpquery.FirstOrDefault(a => a.Years == a.Years); - - // response.Add(new SameScoreLineDataDto() - // { - // Count = a.Count, - // Score = a.Score, - // SumCount = a.SumCount, - // Years = a.Years, - // Type = a.Type, - // ScoreRegion = newsuminfo.SumCount + "~" + a.SumCount - // }); - //}); response = query.GroupBy(g => new SameScoreLineDataDto { Years = g.Years, Type = g.Type }).Select(c => new SameScoreLineDataDto() { Score = query.Where(e => e.Years == c.Key.Years && e.Type == c.Key.Type).Max(e => e.Score), @@ -109,20 +96,43 @@ namespace New_College.Api.Controllers.Front public async Task>> GetScoreLine([FromQuery] ScoreLineQueryDto queryDto) { var response = new List(); - var query = await _ScoreLineServices.Query(c => c.Years == queryDto.Years && c.Province == queryDto.Pronvice); - for (int i = 0; i < query.Count(); i++) + + var provinceInfo = await _regionRepository.Query(p => p.Level == 1); + queryDto.Pronvice = provinceInfo.FirstOrDefault(e => e.RegionName.Contains(queryDto.Pronvice)).RegionCode; + var url = $"https://api.v3.ycymedu.com/api/ScoreSection/scoreSection?year={queryDto.Years}&locationCode={queryDto.Pronvice}&type={queryDto.Type}"; + var query = HttpHelper.GetApi(url, ""); + if (query.code == 200) { - response.Add(new ScoreLineResponseDto() + for (int i = 0; i < query.result.Count(); i++) { - Count = query[i].Count, - Province = query[i].Province, - Score = query[i].Score, - SumCount = i == 0 ? query[i].SumCount : query[i].SumCount - query[i - 1].SumCount, - Type = query[i].Type, - ScoreRegion = i == 0 ? "1~" + query[i].SumCount : query[i - 1].SumCount + 1 + "~ " + query[i].SumCount, - Years = query[i].Years, - }); + response.Add(new ScoreLineResponseDto() + { + Count = query.result[i].currentCount, + Province = queryDto.Pronvice, + Score = query.result[i].score.ToString(), + SumCount = i == 0 ? query.result[i].cumulativeCount : query.result[i].cumulativeCount - query.result[i - 1].cumulativeCount, + Type = queryDto.Type == 0 ? "综合" : queryDto.Type == 1 ? "历史" : "物理", + ScoreRegion = i == 0 ? "1~" + query.result[i].cumulativeCount : query.result[i - 1].cumulativeCount + 1 + "~" + query.result[i].cumulativeCount, + Years = queryDto.Years, + }); + + } + } + //var query = await _ScoreLineServices.Query(c => c.Years == queryDto.Years && c.Province == queryDto.Pronvice); + //for (int i = 0; i < query.Count(); i++) + //{ + // response.Add(new ScoreLineResponseDto() + // { + // Count = query[i].Count, + // Province = query[i].Province, + // Score = query[i].Score, + // SumCount = i == 0 ? query[i].SumCount : query[i].SumCount - query[i - 1].SumCount, + // Type = query[i].Type, + // ScoreRegion = i == 0 ? "1~" + query[i].SumCount : query[i - 1].SumCount + 1 + "~ " + query[i].SumCount, + // Years = query[i].Years, + // }); + //} return new MessageModel>() { diff --git a/New_College.Api/Controllers/Front/SeVolunteerInitializationController.cs b/New_College.Api/Controllers/Front/SeVolunteerInitializationController.cs index c0ac147..a3bb978 100644 --- a/New_College.Api/Controllers/Front/SeVolunteerInitializationController.cs +++ b/New_College.Api/Controllers/Front/SeVolunteerInitializationController.cs @@ -54,8 +54,8 @@ namespace New_College.Api.Controllers }).ToList(); DateTime dt = DateTime.Now; - DateTime fixedDate = new DateTime(dt.Year, 6, 10); // 创建当前年份的9月10日 - int nowyear = dt > fixedDate ? dt.Year : dt.Year-1; // 比较当前日期与固定日期 + DateTime fixedDate = new DateTime(dt.Year, 9, 10); // 创建当前年份的9月10日 + int nowyear = dt > fixedDate ? dt.Year + 1 : dt.Year; // 比较当前日期与固定日期 sevolunterlist.ForEach(a => { diff --git a/New_College.Model/ViewModels/Query/ScoreLineQueryDto.cs b/New_College.Model/ViewModels/Query/ScoreLineQueryDto.cs index f259155..7b4f654 100644 --- a/New_College.Model/ViewModels/Query/ScoreLineQueryDto.cs +++ b/New_College.Model/ViewModels/Query/ScoreLineQueryDto.cs @@ -23,6 +23,7 @@ namespace New_College.Model.ViewModels /// public int Score { get; set; } + public int? Type { get; set; } } diff --git a/New_College.Model/ViewModels/ScoreLineResponseDto.cs b/New_College.Model/ViewModels/ScoreLineResponseDto.cs index 90a3896..dbea57b 100644 --- a/New_College.Model/ViewModels/ScoreLineResponseDto.cs +++ b/New_College.Model/ViewModels/ScoreLineResponseDto.cs @@ -8,7 +8,7 @@ namespace New_College.Model.ViewModels public class SameScoreLineDataDto { - + /// /// 年份 /// @@ -69,7 +69,7 @@ namespace New_College.Model.ViewModels /// /// 分数区间 /// - public string ScoreRegion { get; set;} + public string ScoreRegion { get; set; } /// /// 本段人数 @@ -128,4 +128,25 @@ namespace New_College.Model.ViewModels } + + public class ScoreLineobject + { + public int code { get; set; } + public string type { get; set; } + public string message { get; set; } + public List result { get; set; } + public object extras { get; set; } + public string time { get; set; } + } + + public class ScoreLineResult + { + public string _id { get; set; } + public int type { get; set; } + public int score { get; set; } + public int currentCount { get; set; } + public int cumulativeCount { get; set; } + } + + }