From 0f40aa822f26bec253ccdf140525fb398fa16524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Wed, 5 Jun 2024 15:49:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E9=80=89?= =?UTF-8?q?=E7=A7=91=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Front/FrontSelectionController.cs | 40 +++++++++++++++++++ .../Request/SelectionServiceRequest.cs | 14 ++++++- .../ViewModels/SelectionResponseDto.cs | 24 +++++++++++ 3 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 New_College.Model/ViewModels/SelectionResponseDto.cs diff --git a/New_College.Api/Controllers/Front/FrontSelectionController.cs b/New_College.Api/Controllers/Front/FrontSelectionController.cs index 674d13d..0d4a3c7 100644 --- a/New_College.Api/Controllers/Front/FrontSelectionController.cs +++ b/New_College.Api/Controllers/Front/FrontSelectionController.cs @@ -109,5 +109,45 @@ namespace New_College.Api.Controllers.Front + /// + /// 获取选科数据结果 + /// + /// + /// + [HttpGet] + public async Task>> GetSelect([FromQuery] SelectionRequest request) + { + var response = new List(); + Expression> exp = Expressionable.Create() //创建表达式 + .AndIF(request.UniversityName != null && request.UniversityName.Count() > 0, w => SqlFunc.ContainsArray(request.UniversityName, w.UniversityName)) + .AndIF(request.MajorName != null && request.MajorName.Count() > 0, w => SqlFunc.ContainsArray(request.MajorName, w.MajorName)) + .AndIF(!string.IsNullOrWhiteSpace(request.LocationCode), w => w.Province == request.LocationCode) + .And(w => w.AcademicYear == DateTime.Now.Year.ToString()) + .ToExpression();//注意 这一句 不能少 + var subjectlist = await _selectionServices.Query(exp); + response = subjectlist.Select(c => new SelectionResponseDto() + { + MajorName = c.MajorName + }).ToList(); + response.ForEach(a => + { + a.selects = subjectlist.Where(e => e.MajorName == a.MajorName).Select(c => new SelectResponseDto() + { + Selection = c.Selection, + UniversityName = c.UniversityName + }).ToList(); + }); + return new MessageModel>() + { + response = response, + success = true, + msg = "ok" + }; + } + + + + + } } diff --git a/New_College.Model/Request/SelectionServiceRequest.cs b/New_College.Model/Request/SelectionServiceRequest.cs index 9cd7489..e8b2300 100644 --- a/New_College.Model/Request/SelectionServiceRequest.cs +++ b/New_College.Model/Request/SelectionServiceRequest.cs @@ -5,7 +5,7 @@ using System.Text; namespace New_College.Model.Request { - public class SelectionServiceRequest: BasePageRequest + public class SelectionServiceRequest : BasePageRequest { public string UniversityName { get; set; } @@ -16,4 +16,16 @@ namespace New_College.Model.Request public int Years { get; set; } } + + + public class SelectionRequest + { + + /// + /// 这里 + /// + public string LocationCode { get; set; } + public List UniversityName { get; set; } + public List MajorName { get; set; } + } } diff --git a/New_College.Model/ViewModels/SelectionResponseDto.cs b/New_College.Model/ViewModels/SelectionResponseDto.cs new file mode 100644 index 0000000..2d14dc5 --- /dev/null +++ b/New_College.Model/ViewModels/SelectionResponseDto.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace New_College.Model +{ + public class SelectionResponseDto + { + + public string MajorName { get; set; } + public List selects { get; set; } + + } + + public class SelectResponseDto + { + public string UniversityName { get; set; } + public string Selection { get; set; } + + } + +}