NewGaoKaoApi/New_College.Api/Controllers/Front/LibraryController.cs

456 lines
16 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([FromBody] 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>
/// PC版本院校排名
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<List<UniversityPcRankList>>> GetPcUniversityRank([FromQuery] UniversityRankQuery query)
{
var result = await iD_LongIdMapServices.GetPcUniversityRank(query);
return new MessageModel<List<UniversityPcRankList>>()
{
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);
}
}
}