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; } /// /// 同分年份数据 /// /// /// [HttpGet] public async Task>> GetSameScoreLine([FromQuery] ScoreLineQueryDto queryDto) { var response = new List(); if (queryDto.Score <= 50) { return new MessageModel>() { 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>() { msg = "ok", response = response.OrderByDescending(c=>c.Years).ToList(), success = true }; } /// /// 获取省份学年位次信息列表(目前只有山东省) /// /// [HttpGet] public async Task>> GetScoreLine([FromQuery] ScoreLineQueryDto queryDto) { var response = new List(); 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>() { response = response, status = 200, success = true, msg = "ok" }; } /// /// 获取院校库 /// /// /// [HttpPost] public async Task>> GetUniversitys([FromBody] UniversityQuery query) { var result = await iD_LongIdMapServices.GetUniversitys(query); if (result.data == null || result.data.Count <= 0) { return new MessageModel>() { success = false, msg = "获取失败", }; } else { return new MessageModel>() { success = true, msg = "获取成功", response = result }; } } /// /// 专业库 一级二级列表 /// /// /// [HttpGet] public async Task>> uniGetMajorInfo([FromQuery] MajorcategoryQuery query) { var result = await iD_LongIdMapServices.uniGetMajorInfo(query); return new MessageModel>() { success = result.Count <= 0 ? false : true, msg = result.Count <= 0 ? "获取失败" : "获取成功", response = result }; } /// /// 根据一级专业Id获取二三级专业数据 /// /// /// [HttpGet] public async Task>> GetTreeMajors([FromQuery] int tradeId) { var result = await iD_LongIdMapServices.GetTreeMajors(tradeId); return new MessageModel>() { success = result.Count <= 0 ? false : true, msg = result.Count <= 0 ? "获取失败" : "获取成功", response = result }; } /// /// 获取推荐职业 /// /// [HttpGet] public async Task>> GetRecommendOccupation() { var result = await iD_LongIdMapServices.GetRecommendOccupation(); return new MessageModel>() { success = result.Count <= 0 ? false : true, msg = result.Count <= 0 ? "获取失败" : "获取成功", response = result }; } /// /// 职业库 一级二级列表 /// /// [HttpGet] public async Task>> uniGetOccupationInfo() { var result = await iD_LongIdMapServices.uniGetOccupationInfo(); return new MessageModel>() { success = result.Count <= 0 ? false : true, msg = result.Count <= 0 ? "获取失败" : "获取成功", response = result }; } /// /// 获取职业第三级 /// /// /// [HttpGet] public async Task>> GetOccupationThree([FromQuery] IdQuery query) { return await iD_LongIdMapServices.GetOccupationThree(query); } /// /// 院校详情 /// /// /// [HttpGet] public async Task> GetUniversityDetails([FromQuery] IdQuery query) { var result = await iD_LongIdMapServices.GetUniversityDetails(query); return new MessageModel() { success = result.Status == 1 ? true : false, msg = result.Status == 1 ? "获取成功" : "获取失败", response = result }; } /// /// 获取专业介绍 /// /// /// [HttpGet] public async Task> GetMajorDetail([FromQuery] MajorQuery query) { var result = await iD_LongIdMapServices.GetMajorDetail(query); return new MessageModel() { success = result.id > 0 ? true : false, msg = result.id > 0 ? "获取成功" : "获取失败", response = result }; } /// /// 相关院校 /// /// /// [HttpGet] public async Task>> GetRelevantSchool([FromQuery] MajorSchoolQuery query) { var result = await iD_LongIdMapServices.GetRelevantSchool(query); return new MessageModel>() { success = (result.data == null || result.data.Count <= 0) == true ? false : true, msg = (result.data == null || result.data.Count <= 0) == true ? "获取失败" : "获取成功", response = result }; } /// /// 获取专业就业前景 /// /// /// [HttpGet] public async Task> GetCareerProspects([FromQuery] MajorCareerQuery query) { var result = await iD_LongIdMapServices.GetCareerProspects(query); return new MessageModel() { success = true, msg = "获取成功", response = result }; } /// /// 获取第三级 /// /// /// [HttpGet] public async Task>> uniGetMajorThree([FromQuery] ManageMajorQuery query) { return await iD_LongIdMapServices.uniGetMajorThree(query); } /// /// 根据标签推荐专业 /// /// /// [HttpGet] public async Task>> GetMajorThreeByTag([FromQuery] MajorThreeByTagQuery query) { return await iD_LongIdMapServices.GetMajorThreeByTag(query); } /// /// 获取职业详情-职业介绍 /// /// [HttpGet] public async Task> GetRecommendIntroduce([FromQuery] IdQuery query) { var result = await iD_LongIdMapServices.GetRecommendIntroduce(query); return new MessageModel() { success = result.Status == 1 ? true : false, msg = result.Status == 1 ? "获取成功" : "获取失败", response = result }; } /// /// 院校相关专业专用 /// /// /// [HttpGet] public async Task>> GetUniversityMajor([FromQuery] IdQuery query) { var result = await iD_LongIdMapServices.GetUniversityMajor(query); return new MessageModel>() { success = true, msg = "获取成功", response = result }; } /// /// 查学校省份的 年份批次 /// /// /// [HttpGet] public async Task> GetBatchYearBySchoolId([FromQuery] PlanYearQuery query) { var result = await iD_LongIdMapServices.GetBatchYearBySchoolId(query); return new MessageModel() { success = result != null, msg = result != null ? "获取成功" : "获取失败", response = result }; } /// /// 获取招生计划 院校详情 /// /// /// [HttpGet] public async Task>> GetPlanBySchollId([FromQuery] PlanQuery query) { var result = await iD_LongIdMapServices.GetPlanBySchollId(query); if (result == null || result.Count() <= 0) { return new MessageModel>() { success = false, msg = "获取失败" }; } else { return new MessageModel>() { success = true, msg = "获取成功", response = result }; } } /// /// 获取院校排名 /// /// /// [HttpGet] public async Task>> GetUniversityRank([FromQuery] UniversityRankQuery query) { var result = await iD_LongIdMapServices.GetUniversityRank(query); return new MessageModel>() { success = result.Count > 0, msg = result.Count > 0 ? "获取成功" : "获取失败", response = result }; } /// /// 专业搜索 /// /// /// [HttpGet] public async Task>> uniGetSearchMajor([FromQuery] NameBaseQuery query) { return await iD_LongIdMapServices.uniGetSearchMajor(query); } /// /// 获取招生简章列表 /// /// /// [HttpGet] public async Task>> GetRequestEnrollmentinproductionResult([FromQuery] UniversityIdQuery query) { return await iD_LongIdMapServices.GetRequestEnrollmentinproductionResult(query); } /// /// 获取招生简介详情 /// /// /// [HttpGet] public async Task> GetRequestEnrollmentinproductionDetailResult([FromQuery] StringIdQuery query) { return await iD_LongIdMapServices.GetRequestEnrollmentinproductionDetailResult(query); } } }