From 865829931ad22efb82623f8e4d9a9321ed00457c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Wed, 20 Sep 2023 18:12:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=AF=A5=E8=A1=A8=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Front/FrontSelectionController.cs | 24 +++++++++---------- New_College.Services/D_LongIdMapServices.cs | 14 ----------- 2 files changed, 11 insertions(+), 27 deletions(-) diff --git a/New_College.Api/Controllers/Front/FrontSelectionController.cs b/New_College.Api/Controllers/Front/FrontSelectionController.cs index 517ef3e..b69bf06 100644 --- a/New_College.Api/Controllers/Front/FrontSelectionController.cs +++ b/New_College.Api/Controllers/Front/FrontSelectionController.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Linq.Expressions; using System.Threading.Tasks; using LinqKit; using Microsoft.AspNetCore.Authorization; @@ -10,6 +11,9 @@ using New_College.IServices; using New_College.Model; using New_College.Model.Models; using New_College.Model.Request; +using New_College.Model.ViewModels; +using Newtonsoft.Json; +using SqlSugar; namespace New_College.Api.Controllers.Front { @@ -40,20 +44,14 @@ namespace New_College.Api.Controllers.Front { try { - var query = new List(); + var universityitems = JsonConvert.DeserializeObject>(request.UniversityName); + var majorsitems = JsonConvert.DeserializeObject>(request.MajorName); + Expression> exp = Expressionable.Create() //创建表达式 + .AndIF(!string.IsNullOrEmpty(request.UniversityName), w => universityitems.Contains(w.UniversityName)) + .AndIF(!string.IsNullOrEmpty(request.MajorName), w => majorsitems.Contains(w.MajorName)) + .ToExpression();//注意 这一句 不能少 - - var subjectlist = new PageModel(); - if (request.UniversityName != null) - { - query = Newtonsoft.Json.JsonConvert.DeserializeObject>(request.UniversityName); - subjectlist = await _selectionServices.QueryPage(w => query.Contains(w.UniversityName), request.PageIndex, request.PageSize); - } - if (request.MajorName != null) - { - query = Newtonsoft.Json.JsonConvert.DeserializeObject>(request.MajorName); - subjectlist = await _selectionServices.QueryPage(w => query.Contains(w.MajorName), request.PageIndex, request.PageSize); - } + var subjectlist = await _selectionServices.QueryPage(exp, request.PageIndex, request.PageSize); return new MessageModel>() { msg = "success", diff --git a/New_College.Services/D_LongIdMapServices.cs b/New_College.Services/D_LongIdMapServices.cs index 0a43ee3..16e543e 100644 --- a/New_College.Services/D_LongIdMapServices.cs +++ b/New_College.Services/D_LongIdMapServices.cs @@ -396,20 +396,6 @@ namespace New_College.Services if (majorinfo.Count <= 0) return new PageModel() { }; var universityids = majorinfo.Select(x => x.Universityid).ToList(); - //var wheres = PredicateBuilder.New(); - //wheres = wheres.And(x => x.IsDelete == false && universityids.Contains(x.Id)); - - //if (query.SubjectLevel > 0) - // wheres = wheres.And(x => x.Subject_Level == query.SubjectLevel); - //if (query.Type >= 0) - // wheres = wheres.And(x => x.Type == query.Type); - //if (query.Nhef >= 0) - // wheres = wheres.And(x => x.Nhef == query.Nhef); - //if (query.Sff >= 0) - // wheres = wheres.And(x => x.Sff == query.Sff); - //if (query.Syl >= 0) - // wheres = wheres.And(x => x.Syl == query.Syl); - //wheres = wheres.And(x => x.Nature == query.Nature); Expression> exp = Expressionable.Create() //创建表达式 .AndIF(!string.IsNullOrEmpty(query.AreaName) && query.AreaName != "全国", x => x.Area_Name.Contains(query.AreaName))