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.Common.HttpRestSharp;
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 = i == 0 ? query[i].SumCount : query[i].SumCount - query[i - 1].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([FromQuery] MinOccupationRequest request)
{
var result = await iD_LongIdMapServices.uniGetOccupationInfo(request);
return new MessageModel>()
{
success = result.Count <= 0 ? false : true,
msg = result.Count <= 0 ? "获取失败" : "获取成功",
response = result
};
}
///
/// Pc端接口职业库一级二级三级列表
///
///
[HttpGet]
public async Task> PcGetOccupationInfo()
{
////http://192.168.104.104:3000/youzy.dms.basiclib.api.v1.career2.level.tree.get
var result = await iD_LongIdMapServices.pcGetOccupationInfo();
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>> SeachMajor([FromQuery] SeachMajorDtoRequest query)
{
var result = await iD_LongIdMapServices.SeachMajor(query);
return new MessageModel>()
{
msg = "ok",
success = result.Any() ? true : false,
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> GetRecommendIntroduceV2([FromQuery] IdQuery query)
{
var info = HttpHelper.GetApi("http://192.168.104.104:3000/", "youzy.dms.basiclib.api.v1.career2.level.tree.get");
return new MessageModel()
{
msg = "获取成功",
response = info,
status = 200,
success = true,
};
}
///
/// 院校相关专业专用
///
///
///
[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
};
}
///
/// PC版本院校排名
///
///
///
[HttpGet]
public async Task>> GetPcUniversityRank([FromQuery] UniversityRankQuery query)
{
if (string.IsNullOrWhiteSpace(query.Year))
{
query.Year = "2023";
}
var result = await iD_LongIdMapServices.GetPcUniversityRank(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 MessageModel> GetEnrollmentinproductionResult([FromQuery] UniversityGeneralRequest request)
{
return iD_LongIdMapServices.GetEnrollmentinproductionResult(request);
}
///
/// 获取招生简介详情
///
///
///
[HttpGet]
public async Task> GetRequestEnrollmentinproductionDetailResult([FromQuery] StringIdQuery query)
{
return await iD_LongIdMapServices.GetRequestEnrollmentinproductionDetailResult(query);
}
}
}