feat:增加一份一段查询接口

develop
old易 2023-11-07 17:02:20 +08:00
parent caaac20138
commit ef7ef0d056
8 changed files with 302 additions and 6 deletions

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Data.Entity.Core.Metadata.Edm;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
@ -7,6 +8,7 @@ using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using New_College.IServices;
using New_College.Model;
using New_College.Model.Models;
using New_College.Model.ViewModels;
@ -17,9 +19,91 @@ namespace New_College.Api.Controllers.Front
public class LibraryController : ControllerBase
{
private readonly ID_LongIdMapServices iD_LongIdMapServices;
public LibraryController(ID_LongIdMapServices ID_LongIdMapServices)
private readonly ID_ScoreLineServices _ScoreLineServices;
public LibraryController(ID_LongIdMapServices ID_LongIdMapServices, ID_ScoreLineServices d_ScoreLineServices)
{
iD_LongIdMapServices = ID_LongIdMapServices;
this._ScoreLineServices = d_ScoreLineServices;
}
/// <summary>
/// 同分年份数据
/// </summary>
/// <param name="queryDto"></param>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<List<SameScoreLineDataDto>>> GetSameScoreLine([FromQuery] ScoreLineQueryDto queryDto)
{
var response = new List<SameScoreLineDataDto>();
if (queryDto.Score <= 50)
{
return new MessageModel<List<SameScoreLineDataDto>>()
{
msg = "请输入分数",
success = false
};
}
var query = await _ScoreLineServices.Query(c => c.Score == queryDto.Score.ToString() && c.Province == queryDto.Pronvice);
var newscore = queryDto.Score - 1;
var tmpquery = await _ScoreLineServices.Query(c => c.Score == newscore.ToString() && c.Province == queryDto.Pronvice);
query.ForEach(a =>
{
var newsuminfo = tmpquery.FirstOrDefault(a => a.Years == a.Years);
response.Add(new SameScoreLineDataDto()
{
Count = a.Count,
Score = a.Score,
SumCount = a.SumCount,
Years = a.Years,
Type = a.Type,
ScoreRegion = newsuminfo.SumCount + "~" + a.SumCount
});
});
return new MessageModel<List<SameScoreLineDataDto>>()
{
msg = "ok",
response = response.OrderByDescending(c=>c.Years).ToList(),
success = true
};
}
/// <summary>
/// 获取省份学年位次信息列表(目前只有山东省)
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<List<ScoreLineResponseDto>>> GetScoreLine([FromQuery] ScoreLineQueryDto queryDto)
{
var response = new List<ScoreLineResponseDto>();
var query = await _ScoreLineServices.Query(c => c.Years == queryDto.Years && c.Province == queryDto.Pronvice);
for (int i = 0; i < query.Count(); i++)
{
response.Add(new ScoreLineResponseDto()
{
Count = query[i].Count,
Province = query[i].Province,
Score = query[i].Score,
SumCount = query[i].SumCount,
Type = query[i].Type,
ScoreRegion = i == 0 ? "1~" + query[i].SumCount : query[i - 1].SumCount + 1 + "~ " + query[i].SumCount,
Years = query[i].Years,
});
}
return new MessageModel<List<ScoreLineResponseDto>>()
{
response = response,
status = 200,
success = true,
msg = "ok"
};
}
/// <summary>

View File

@ -264,8 +264,8 @@ namespace New_College.Api.Controllers.Front
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
[HttpPost]
public async Task<MessageModel<List<IdNameResult>>> GetBatchByYearArea([FromBody] YearAreaQuery query)
[HttpGet]
public async Task<MessageModel<List<IdNameResult>>> GetBatchByYearArea([FromQuery] YearAreaQuery query)
{
return await t_EnrollmentPlanedescServices.GetBatchByYearArea(query);
}

View File

@ -3890,6 +3890,21 @@
年份
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineQueryDto.Years">
<summary>
年份
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineQueryDto.Pronvice">
<summary>
省份
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineQueryDto.Score">
<summary>
分数
</summary>
</member>
<member name="P:New_College.Model.ViewModels.SubjectSelectQuery.CustomerId">
<summary>
用户Id
@ -5935,6 +5950,71 @@
</summary>
</member>
<member name="P:New_College.Model.ViewModels.SameScoreLineDataDto.Years">
<summary>
年份
</summary>
</member>
<member name="P:New_College.Model.ViewModels.SameScoreLineDataDto.Type">
<summary>
科类
</summary>
</member>
<member name="P:New_College.Model.ViewModels.SameScoreLineDataDto.Score">
<summary>
分数
</summary>
</member>
<member name="P:New_College.Model.ViewModels.SameScoreLineDataDto.ScoreRegion">
<summary>
分数区间
</summary>
</member>
<member name="P:New_College.Model.ViewModels.SameScoreLineDataDto.Count">
<summary>
本段人数
</summary>
</member>
<member name="P:New_College.Model.ViewModels.SameScoreLineDataDto.SumCount">
<summary>
累计人数
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineResponseDto.Province">
<summary>
省份
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineResponseDto.Years">
<summary>
年份
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineResponseDto.Type">
<summary>
科类
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineResponseDto.Score">
<summary>
分数
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineResponseDto.ScoreRegion">
<summary>
分数区间
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineResponseDto.Count">
<summary>
本段人数
</summary>
</member>
<member name="P:New_College.Model.ViewModels.ScoreLineResponseDto.SumCount">
<summary>
累计人数
</summary>
</member>
<member name="T:New_College.Model.ViewModels.ServerViewModel">
<summary>
服务器VM

View File

@ -251,6 +251,19 @@
<param name="request"></param>
<returns></returns>
</member>
<member name="M:New_College.Api.Controllers.Front.LibraryController.GetSameScoreLine(New_College.Model.ViewModels.ScoreLineQueryDto)">
<summary>
同分年份数据
</summary>
<param name="queryDto"></param>
<returns></returns>
</member>
<member name="M:New_College.Api.Controllers.Front.LibraryController.GetScoreLine(New_College.Model.ViewModels.ScoreLineQueryDto)">
<summary>
获取省份学年位次信息列表(目前只有山东省)
</summary>
<returns></returns>
</member>
<member name="M:New_College.Api.Controllers.Front.LibraryController.GetUniversitys(New_College.Model.ViewModels.UniversityQuery)">
<summary>
获取院校库

View File

@ -27,7 +27,7 @@ namespace New_College.Model.Models
/// <summary>
/// 分数
/// </summary>
public double Score { get; set; }
public string Score { get; set; }
/// <summary>
/// 本段人数

View File

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace New_College.Model.ViewModels
{
public class ScoreLineQueryDto
{
/// <summary>
///年份
/// </summary>
public string Years { get; set; }
/// <summary>
/// 省份
/// </summary>
public string Pronvice { get; set; }
/// <summary>
/// 分数
/// </summary>
public int Score { get; set; }
}
}

View File

@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace New_College.Model.ViewModels
{
public class SameScoreLineDataDto
{
/// <summary>
/// 年份
/// </summary>
public string Years { get; set; }
/// <summary>
/// 科类
/// </summary>
public string Type { get; set; }
/// <summary>
/// 分数
/// </summary>
public string Score { get; set; }
/// <summary>
/// 分数区间
/// </summary>
public string ScoreRegion { get; set; }
/// <summary>
/// 本段人数
/// </summary>
public int Count { get; set; }
/// <summary>
/// 累计人数
/// </summary>
public int SumCount { get; set; }
}
public class ScoreLineResponseDto
{
/// <summary>
/// 省份
/// </summary>
public string Province { get; set; }
/// <summary>
/// 年份
/// </summary>
public string Years { get; set; }
/// <summary>
/// 科类
/// </summary>
public string Type { get; set; }
/// <summary>
/// 分数
/// </summary>
public string Score { get; set; }
/// <summary>
/// 分数区间
/// </summary>
public string ScoreRegion { get; set;}
/// <summary>
/// 本段人数
/// </summary>
public int Count { get; set; }
/// <summary>
/// 累计人数
/// </summary>
public int SumCount { get; set; }
}
}

View File

@ -873,7 +873,7 @@ namespace New_College.Services
return new MessageModel<UniversityProbabilityResult>() { success = false, msg = "院校信息不存在" };
UniversityProbabilityResult model = new UniversityProbabilityResult() { };
var scoreline = await _ScoreLineRepository.Query(c => c.Years == query.Year.ToString() && c.Province == query.AreaName && c.Score == query.Score);
var scoreline = await _ScoreLineRepository.Query(c => c.Years == query.Year.ToString() && c.Province == query.AreaName && c.Score == query.Score.ToString());
model.YearBatchScores = universityinfoline.Select(c => new YearBatchScore()
@ -887,7 +887,7 @@ namespace New_College.Services
double tmpscore = 0;
if (scoreline.Any())
{
tmpscore = scoreline.FirstOrDefault().Score;
tmpscore =double.Parse(scoreline.FirstOrDefault().Score);
// model.Probability = tmpscore >= model.EstimateScore ? "" : "";
}