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; } + + } + +}