add develop

develop
old易 2023-11-16 10:57:21 +08:00
parent fa3825cfde
commit 094f15fc44
3 changed files with 22 additions and 24 deletions

View File

@ -111,7 +111,7 @@ namespace New_College.Api.Controllers.Front
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
[HttpGet]
[HttpPost]
public async Task<MessageModel<PageModel<UniversityResult>>> GetUniversitys([FromQuery] UniversityQuery query)
{
var result = await iD_LongIdMapServices.GetUniversitys(query);

View File

@ -16,11 +16,11 @@ namespace New_College.Model.ViewModels
/// <summary>
/// 省市区名称
/// </summary>
public string AreaName { get; set; }
public List<string>? AreaName { get; set; }
/// <summary>
/// 办学性质
/// </summary>
public int Nature { get; set; }
public List<int>? Nature { get; set; }
/// <summary>
/// 用户id
/// </summary>
@ -29,7 +29,7 @@ namespace New_College.Model.ViewModels
/// <summary>
/// 学校类型
/// </summary>
public int Type { get; set; } = -1;
public List<int>? Type { get; set; }
/// <summary>
/// 是否985 0、否1、是

View File

@ -111,29 +111,27 @@ namespace New_College.Services
/// <returns></returns>
public async Task<PageModel<UniversityResult>> GetUniversitys(UniversityQuery query)
{
var wheres = PredicateBuilder.New<D_University>();
wheres = wheres.And(x => x.IsDelete == false);
if (!string.IsNullOrEmpty(query.AreaName) && query.AreaName != "全国")
wheres = wheres.And(x => x.Area_Name.Contains(query.AreaName));
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);
if (!string.IsNullOrWhiteSpace(query.Name))
wheres = wheres.And(u => u.Name.Contains(query.Name));
if (query.Nature > 0)
wheres = wheres.And(x => x.Nature == query.Nature);
var info = await d_UniversityRepository.QueryPage(wheres, query.PageIndex, query.PageSize, "Rank Asc");
Expression<Func<D_University, bool>> expression = Expressionable.Create<D_University>()
.And(x => x.IsDelete == false)
.AndIF(query.AreaName.Any() && !query.AreaName.Contains("全国"), x => SqlFunc.ContainsArray(query.AreaName, x.Area_Name))
.AndIF(query.Nature.Any(), x => SqlFunc.ContainsArray(query.Nature, x.Nature))
.AndIF(query.Type.Any(), x => SqlFunc.ContainsArray(query.Type, x.Type))
.AndIF(query.SubjectLevel > 0, x => x.Subject_Level == query.SubjectLevel)
.AndIF(query.Nhef > 0, x => x.Nhef == query.Nhef)
.AndIF(query.Sff > 0, x => x.Sff == query.Sff)
.AndIF(query.Syl > 0, x => x.Syl == query.Syl)
.AndIF(!string.IsNullOrWhiteSpace(query.Name), u => SqlFunc.Contains(query.Name, u.Name))
.ToExpression();
var info = await d_UniversityRepository.QueryPage(expression, query.PageIndex, query.PageSize, "Rank Asc");
if (info.data.Count <= 0)
return new PageModel<UniversityResult>() { };
var collectionuniversity = await d_UniversityCollectionRepository.Query(x => x.CustomerId == query.CustomerId && x.IsDelete == false);
var collectionuniversity = new List<D_UniversityCollection>();
if (query.CustomerId > 0)
{
collectionuniversity = await d_UniversityCollectionRepository.Query(x => x.CustomerId == query.CustomerId && x.IsDelete == false);
}
List<UniversityResult> list = new List<UniversityResult>() { };
info.data = info.data.OrderBy(s => s.Rank).ToList();
foreach (var c in info.data)