437 lines
15 KiB
C#
437 lines
15 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data.Entity.Core.Metadata.Edm;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
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;
|
|
|
|
|
|
namespace New_College.Api.Controllers.Front
|
|
{
|
|
[Route("api/front/[controller]/[action]")]
|
|
[ApiController]
|
|
public class LibraryController : ControllerBase
|
|
{
|
|
private readonly 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>
|
|
/// 获取院校库
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public async Task<MessageModel<PageModel<UniversityResult>>> GetUniversitys([FromQuery] UniversityQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetUniversitys(query);
|
|
if (result.data == null || result.data.Count <= 0)
|
|
{
|
|
return new MessageModel<PageModel<UniversityResult>>()
|
|
{
|
|
success = false,
|
|
msg = "获取失败",
|
|
};
|
|
}
|
|
else
|
|
{
|
|
return new MessageModel<PageModel<UniversityResult>>()
|
|
{
|
|
success = true,
|
|
msg = "获取成功",
|
|
response = result
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 专业库 一级二级列表
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<uniMajorInfoResult>>> uniGetMajorInfo([FromQuery] MajorcategoryQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.uniGetMajorInfo(query);
|
|
return new MessageModel<List<uniMajorInfoResult>>()
|
|
{
|
|
success = result.Count <= 0 ? false : true,
|
|
msg = result.Count <= 0 ? "获取失败" : "获取成功",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 根据一级专业Id获取二三级专业数据
|
|
/// </summary>
|
|
/// <param name="tradeId"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<TreeMajorInfoResult>>> GetTreeMajors([FromQuery] int tradeId)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetTreeMajors(tradeId);
|
|
return new MessageModel<List<TreeMajorInfoResult>>()
|
|
{
|
|
success = result.Count <= 0 ? false : true,
|
|
msg = result.Count <= 0 ? "获取失败" : "获取成功",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取推荐职业
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<OccupationResult>>> GetRecommendOccupation()
|
|
{
|
|
var result = await iD_LongIdMapServices.GetRecommendOccupation();
|
|
return new MessageModel<List<OccupationResult>>()
|
|
{
|
|
success = result.Count <= 0 ? false : true,
|
|
msg = result.Count <= 0 ? "获取失败" : "获取成功",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 职业库 一级二级列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<uniMajorInfoResult>>> uniGetOccupationInfo()
|
|
{
|
|
var result = await iD_LongIdMapServices.uniGetOccupationInfo();
|
|
return new MessageModel<List<uniMajorInfoResult>>()
|
|
{
|
|
success = result.Count <= 0 ? false : true,
|
|
msg = result.Count <= 0 ? "获取失败" : "获取成功",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取职业第三级
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<IdNameResult>>> GetOccupationThree([FromQuery] IdQuery query)
|
|
{
|
|
return await iD_LongIdMapServices.GetOccupationThree(query);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 院校详情
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<UniversityDetailResponse>> GetUniversityDetails([FromQuery] IdQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetUniversityDetails(query);
|
|
return new MessageModel<UniversityDetailResponse>()
|
|
{
|
|
success = result.Status == 1 ? true : false,
|
|
msg = result.Status == 1 ? "获取成功" : "获取失败",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取专业介绍
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<MajorDetail>> GetMajorDetail([FromQuery] MajorQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetMajorDetail(query);
|
|
return new MessageModel<MajorDetail>()
|
|
{
|
|
success = result.id > 0 ? true : false,
|
|
msg = result.id > 0 ? "获取成功" : "获取失败",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 相关院校
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<PageModel<UniversityResult>>> GetRelevantSchool([FromQuery] MajorSchoolQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetRelevantSchool(query);
|
|
return new MessageModel<PageModel<UniversityResult>>()
|
|
{
|
|
success = (result.data == null || result.data.Count <= 0) == true ? false : true,
|
|
msg = (result.data == null || result.data.Count <= 0) == true ? "获取失败" : "获取成功",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取专业就业前景
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<CareerProspects>> GetCareerProspects([FromQuery] MajorCareerQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetCareerProspects(query);
|
|
return new MessageModel<CareerProspects>()
|
|
{
|
|
success = true,
|
|
msg = "获取成功",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取第三级
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<uniMajorInfo>>> uniGetMajorThree([FromQuery] ManageMajorQuery query)
|
|
{
|
|
return await iD_LongIdMapServices.uniGetMajorThree(query);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据标签推荐专业
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<uniMajorInfo>>> GetMajorThreeByTag([FromQuery] MajorThreeByTagQuery query)
|
|
{
|
|
return await iD_LongIdMapServices.GetMajorThreeByTag(query);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取职业详情-职业介绍
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<OccupationDetailResult>> GetRecommendIntroduce([FromQuery] IdQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetRecommendIntroduce(query);
|
|
return new MessageModel<OccupationDetailResult>()
|
|
{
|
|
success = result.Status == 1 ? true : false,
|
|
msg = result.Status == 1 ? "获取成功" : "获取失败",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 院校相关专业专用
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<uniMajorInfoResult>>> GetUniversityMajor([FromQuery] IdQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetUniversityMajor(query);
|
|
return new MessageModel<List<uniMajorInfoResult>>()
|
|
{
|
|
success = true,
|
|
msg = "获取成功",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查学校省份的 年份批次
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<BatchYear>> GetBatchYearBySchoolId([FromQuery] PlanYearQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetBatchYearBySchoolId(query);
|
|
return new MessageModel<BatchYear>()
|
|
{
|
|
success = result != null,
|
|
msg = result != null ? "获取成功" : "获取失败",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取招生计划 院校详情
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<NewPlanDescList>>> GetPlanBySchollId([FromQuery] PlanQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetPlanBySchollId(query);
|
|
if (result == null || result.Count() <= 0)
|
|
{
|
|
return new MessageModel<List<NewPlanDescList>>()
|
|
{
|
|
success = false,
|
|
msg = "获取失败"
|
|
};
|
|
}
|
|
else
|
|
{
|
|
return new MessageModel<List<NewPlanDescList>>()
|
|
{
|
|
success = true,
|
|
msg = "获取成功",
|
|
response = result
|
|
};
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取院校排名
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<UniversityRankList>>> GetUniversityRank([FromQuery] UniversityRankQuery query)
|
|
{
|
|
var result = await iD_LongIdMapServices.GetUniversityRank(query);
|
|
return new MessageModel<List<UniversityRankList>>()
|
|
{
|
|
success = result.Count > 0,
|
|
msg = result.Count > 0 ? "获取成功" : "获取失败",
|
|
response = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 专业搜索
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<PageModel<IdNameResult>>> uniGetSearchMajor([FromQuery] NameBaseQuery query)
|
|
{
|
|
return await iD_LongIdMapServices.uniGetSearchMajor(query);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取招生简章列表
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<List<RequestEnrollmentinproductionResult>>> GetRequestEnrollmentinproductionResult([FromQuery] UniversityIdQuery query)
|
|
{
|
|
return await iD_LongIdMapServices.GetRequestEnrollmentinproductionResult(query);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 获取招生简介详情
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<RequestEnrollmentinproductionDetailResult>> GetRequestEnrollmentinproductionDetailResult([FromQuery] StringIdQuery query)
|
|
{
|
|
return await iD_LongIdMapServices.GetRequestEnrollmentinproductionDetailResult(query);
|
|
}
|
|
}
|
|
}
|