feat:增加排名接口

develop
old易 2023-12-06 17:06:27 +08:00
parent 685d95b376
commit c2d3068992
5 changed files with 116 additions and 1 deletions

View File

@ -0,0 +1,67 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using New_College.IRepository;
using New_College.IServices;
using New_College.Model.ViewModels;
using New_College.Model;
using System.Threading.Tasks;
using AutoMapper.Configuration.Conventions;
using System.Collections.Generic;
using Microsoft.Graph;
using System;
using System.Linq;
namespace New_College.Api.Controllers
{
/// <summary>
/// 学校排名
/// </summary>
[Route("api/front/[controller]/[action]")]
[ApiController]
public class UniversityRankController : ControllerBase
{
private readonly ID_UniversityRankRepository _UniversityRankRepository;
public UniversityRankController(ID_UniversityRankRepository d_UniversityRankRepository)
{
_UniversityRankRepository = d_UniversityRankRepository;
}
/// <summary>
/// 获取学校各类型排名情况
/// </summary>
/// <param name="single"></param>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<List<SingleUniversityResponseView>>> Single([FromQuery] SingleUniversityRequestView single)
{
if (string.IsNullOrWhiteSpace(single.UniversityName))
{
return new MessageModel<List<SingleUniversityResponseView>> ()
{
msg = "fail",
success = false,
status = 200
};
}
string years = DateTime.Now.Year.ToString();
var query = await _UniversityRankRepository.Query(c => c.Year == years && c.UniversityName == single.UniversityName);
return new MessageModel<List<SingleUniversityResponseView>> ()
{
response = query.Select(c => new SingleUniversityResponseView()
{
Rank = c.Rank.ToString(),
Type = c.UniversityType
}).ToList(),
status = 200,
success = true,
msg = "ok"
};
// return await iD_LongIdMapServices.GetRequestEnrollmentinproductionDetailResult(query);
}
}
}

View File

@ -7135,5 +7135,10 @@
0文理分科 1 3+3 2 3+1+3
</summary>
</member>
<member name="T:New_College.Model.SingleUniversityResponseView">
<summary>
</summary>
</member>
</members>
</doc>

View File

@ -990,6 +990,18 @@
</summary>
<returns></returns>
</member>
<member name="T:New_College.Api.Controllers.UniversityRankController">
<summary>
学校排名
</summary>
</member>
<member name="M:New_College.Api.Controllers.UniversityRankController.Single(New_College.Model.SingleUniversityRequestView)">
<summary>
获取学校各类型排名情况
</summary>
<param name="single"></param>
<returns></returns>
</member>
<member name="M:New_College.Api.Controllers.SysRegionController.#ctor(New_College.IServices.ISysRegionServices,New_College.IRepository.UnitOfWork.IUnitOfWork,AutoMapper.IMapper)">
<summary>
省市区操作类

View File

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace New_College.Model
{
public class SingleUniversityRequestView
{
public string UniversityName { get; set; }
}
/// <summary>
///
/// </summary>
public class SingleUniversityResponseView
{
public int Type { get; set; }
public string Rank { get; set; }
}
}

View File

@ -194,7 +194,7 @@ namespace New_College.Services
.AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, claim[0]) || SqlFunc.Contains(c.SelectSubject, claim[1]) || SqlFunc.Contains(c.SelectSubject, claim[2]))
.AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.Major, request.Major))
.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName.Equals(request.BatchName))
.AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(c.AreaName, request.Province))
.AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province,c.AreaName))
.And(c => c.Years == request.Year)
.AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType)
.AndIF(request.Score > 0, c => SqlFunc.Between(c.LowScore, request.Score - 15, request.Score + 15))