370 lines
13 KiB
C#
370 lines
13 KiB
C#
using New_College.IServices;
|
|
using New_College.Model;
|
|
using New_College.Model.Models;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System;
|
|
using System.Linq.Expressions;
|
|
using System.Threading.Tasks;
|
|
using New_College.Model.ViewModels;
|
|
using System.Linq;
|
|
using Org.BouncyCastle.Asn1.Ocsp;
|
|
using New_College.IRepository.UnitOfWork;
|
|
using System.Collections.Generic;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace New_College.Api.Controllers
|
|
{
|
|
[Route("api/[controller]/[action]")]
|
|
[ApiController]
|
|
[Authorize]
|
|
public class D_PlanMajorDescController : ControllerBase
|
|
{
|
|
/// <summary>
|
|
/// 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下
|
|
/// </summary>
|
|
private readonly ID_PlanMajorDescServices _d_PlanMajorDescServices;
|
|
private readonly ID_PlanMajorDescProServices _d_PlanMajorDescProServices;
|
|
private readonly IU_VolunteerTableServices _VolunteerTableServices;
|
|
private readonly IU_VolunteerTableDetailServices _VolunteerTableDetailServices;
|
|
private readonly IUnitOfWork _unitOfWork;
|
|
public D_PlanMajorDescController(ID_PlanMajorDescServices D_PlanMajorDescServices, ID_PlanMajorDescProServices d_PlanMajorDescProServices,
|
|
IU_VolunteerTableServices volunteerTableServices, IU_VolunteerTableDetailServices volunteerTableDetailServices, IUnitOfWork unitOfWork)
|
|
{
|
|
_d_PlanMajorDescServices = D_PlanMajorDescServices;
|
|
_d_PlanMajorDescProServices = d_PlanMajorDescProServices;
|
|
_VolunteerTableServices = volunteerTableServices;
|
|
_VolunteerTableDetailServices = volunteerTableDetailServices;
|
|
_unitOfWork = unitOfWork;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 查询扩缩招院校招生计划详情
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<MajorPlanProView>> GetMajorPlanPro([FromQuery] MajorPlanProViewQuery request)
|
|
{
|
|
if (request.Year <= 0)
|
|
{
|
|
return new MessageModel<MajorPlanProView>()
|
|
{
|
|
msg = "Year字段必传参数",
|
|
};
|
|
}
|
|
|
|
if (string.IsNullOrEmpty(request.Location))
|
|
{
|
|
return new MessageModel<MajorPlanProView>()
|
|
{
|
|
msg = "Location字段必传参数",
|
|
};
|
|
}
|
|
if (request.UId <= 0)
|
|
{
|
|
return new MessageModel<MajorPlanProView>()
|
|
{
|
|
msg = "UId字段必传参数",
|
|
|
|
};
|
|
|
|
}
|
|
var query = await _d_PlanMajorDescProServices.GetMajorPlanPro(request);
|
|
return new MessageModel<MajorPlanProView>()
|
|
{
|
|
response = query,
|
|
success = query != null && query.itemViews != null ? true : false,
|
|
msg = query != null && query.itemViews != null ? "获取成功" : "获取失败"
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// 查询扩缩招院校列表
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public async Task<MessageModel<PageModel<UniversityPlanProView>>> GetUniversityPlanPro([FromBody] UniversityProViewQuery request)
|
|
{
|
|
var result = new PageModel<UniversityPlanProView>();
|
|
if (string.IsNullOrWhiteSpace(request.Location))
|
|
{
|
|
return new MessageModel<PageModel<UniversityPlanProView>>()
|
|
{
|
|
msg = "Location字段必传参数",
|
|
|
|
};
|
|
}
|
|
|
|
if (request.Year <= 0)
|
|
{
|
|
return new MessageModel<PageModel<UniversityPlanProView>>()
|
|
{
|
|
msg = "Year字段必传参数",
|
|
};
|
|
}
|
|
var pagemodel = await _d_PlanMajorDescProServices.GetUniversityPlanPro(request);
|
|
|
|
return new MessageModel<PageModel<UniversityPlanProView>>()
|
|
{
|
|
response = pagemodel,
|
|
success = pagemodel.data.Any() ? true : false,
|
|
msg = pagemodel.data.Any() ? "获取成功" : "获取失败"
|
|
};
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 一键填报
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<PageModel<OneSubmitGoResponse>>> OneSubmitGo([FromQuery] OneSubmitGoRequest request)
|
|
{
|
|
|
|
if (string.IsNullOrWhiteSpace(request.Location))
|
|
{
|
|
return new MessageModel<PageModel<OneSubmitGoResponse>>()
|
|
{
|
|
msg = "Location字段必传参数",
|
|
|
|
};
|
|
}
|
|
if (request.Year <= 0)
|
|
{
|
|
return new MessageModel<PageModel<OneSubmitGoResponse>>()
|
|
{
|
|
msg = "Year字段必传参数",
|
|
|
|
};
|
|
}
|
|
|
|
if (string.IsNullOrWhiteSpace(request.SubjectClaim))
|
|
{
|
|
return new MessageModel<PageModel<OneSubmitGoResponse>>()
|
|
{
|
|
msg = "SubjectClaim字段必传参数",
|
|
|
|
};
|
|
}
|
|
|
|
if (string.IsNullOrWhiteSpace(request.BatchName))
|
|
{
|
|
return new MessageModel<PageModel<OneSubmitGoResponse>>()
|
|
{
|
|
msg = "BatchName字段必传参数",
|
|
|
|
};
|
|
}
|
|
|
|
var response = await _d_PlanMajorDescServices.GetPlanMajorList(request);
|
|
if (response.data == null || !response.data.Any() || response.dataCount <= 0)
|
|
{
|
|
return new MessageModel<PageModel<OneSubmitGoResponse>>()
|
|
{
|
|
msg = "获取失败",
|
|
success = false,
|
|
response = response
|
|
};
|
|
}
|
|
|
|
return new MessageModel<PageModel<OneSubmitGoResponse>>()
|
|
{
|
|
msg = "获取成功",
|
|
success = true,
|
|
response = response
|
|
};
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 移动端
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<int>> MAIGo([FromQuery] OneSubmitGoRequest request)
|
|
{
|
|
request.Scoure = "m";
|
|
var query = await OneSubmitGo(request);
|
|
if (!query.success)
|
|
{
|
|
return new MessageModel<int>()
|
|
{
|
|
success = false,
|
|
response = -1,
|
|
msg = query.msg
|
|
};
|
|
}
|
|
var vollunterrrequest = new VolunteerTableDtoView();
|
|
vollunterrrequest.Type = "一键填报";
|
|
vollunterrrequest.CustomerId = request.CustomerId;
|
|
vollunterrrequest.BatchName = request.BatchName;
|
|
vollunterrrequest.CreateTime = DateTime.Now;
|
|
vollunterrrequest.Score = request.Score;
|
|
vollunterrrequest.SubjectClaim = request.SubjectClaim;
|
|
var vollitem = new List<VolunteerTableDetailView>();
|
|
int sort = 0;
|
|
query.response.data.ForEach(c =>
|
|
{
|
|
sort++;
|
|
vollitem.Add(new VolunteerTableDetailView()
|
|
{
|
|
UniversityCode = c.UniversityCode,
|
|
UniversityId = c.UniversityId,
|
|
UniversityName = c.UniversityName,
|
|
Sort = sort,
|
|
PlanMajorIds = c.PlanId.ToString(),
|
|
VolunteerRemark = JsonConvert.SerializeObject(new VolteerItem()
|
|
{
|
|
planId = c.PlanId,
|
|
tage = c.Percentage,
|
|
type = c.Type,
|
|
})
|
|
});
|
|
});
|
|
vollunterrrequest.volunteerTableDetailViews = vollitem;
|
|
int ordersort = 0;
|
|
var vol = (await _VolunteerTableServices.Query(c => c.CustomerId == request.CustomerId));
|
|
if (vol.Any())
|
|
{
|
|
vollunterrrequest.VolunteerTableName = "我的志愿表" + (vol.OrderByDescending(c => c.CreateTime).FirstOrDefault().OrderSort + 1);
|
|
ordersort = (vol.OrderByDescending(c => c.CreateTime).FirstOrDefault().OrderSort + 1);
|
|
}
|
|
else
|
|
{
|
|
vollunterrrequest.VolunteerTableName = "我的志愿表01";
|
|
ordersort = 1;
|
|
}
|
|
if (vollunterrrequest.volunteerTableDetailViews != null && vollunterrrequest.volunteerTableDetailViews.Any() && vollunterrrequest.volunteerTableDetailViews.Count() > 0)
|
|
{
|
|
_unitOfWork.BeginTran();
|
|
var id = await _VolunteerTableServices.Add(new U_VolunteerTable()
|
|
{
|
|
CreateTime = DateTime.Now,
|
|
CustomerId = request.CustomerId,
|
|
ModifyTime = DateTime.Now,
|
|
OrderSort = ordersort,
|
|
IsDelete = false,
|
|
SubjectClaim = request.SubjectClaim,
|
|
Type = vollunterrrequest.Type,
|
|
Score = request.Score,
|
|
BatchName = request.BatchName,
|
|
VolunteerTableName = vollunterrrequest.VolunteerTableName,
|
|
});
|
|
|
|
int itemIds = 0;
|
|
if (id > 0)
|
|
{
|
|
var itemlist = vollunterrrequest.volunteerTableDetailViews.Select(c => new U_VolunteerTableDetail()
|
|
{
|
|
CreateTime = DateTime.Now,
|
|
IsDelete = false,
|
|
ModifyTime = DateTime.Now,
|
|
OrderSort = c.Sort,
|
|
PlanMajorIds = c.PlanMajorIds,
|
|
UniversityCode = c.UniversityCode,
|
|
UniversityId = c.UniversityId,
|
|
UniversityName = c.UniversityName,
|
|
VolunteerTableId = id,
|
|
VolunteerRemark = c.VolunteerRemark
|
|
}).ToList();
|
|
itemIds = await _VolunteerTableDetailServices.Add(itemlist);
|
|
}
|
|
if (id > 0 && itemIds == vollunterrrequest.volunteerTableDetailViews.Count() && itemIds > 0)
|
|
{
|
|
_unitOfWork.BeginTran();
|
|
}
|
|
else
|
|
{
|
|
_unitOfWork.RollbackTran();
|
|
}
|
|
return new MessageModel<int>()
|
|
{
|
|
success = id > 0,
|
|
response = id,
|
|
msg = "ok"
|
|
};
|
|
}
|
|
return new MessageModel<int>()
|
|
{
|
|
success = false,
|
|
response = -1,
|
|
msg = "无数据"
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// AI智能填报
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<MessageModel<AIGOPageModel<AIGOResponse>>> AIGo([FromQuery] OneSubmitGoRequest request)
|
|
{
|
|
|
|
if (string.IsNullOrWhiteSpace(request.Location))
|
|
{
|
|
return new MessageModel<AIGOPageModel<AIGOResponse>>()
|
|
{
|
|
msg = "Location字段必传参数",
|
|
|
|
};
|
|
}
|
|
if (request.Year <= 0)
|
|
{
|
|
return new MessageModel<AIGOPageModel<AIGOResponse>>()
|
|
{
|
|
msg = "Year字段必传参数",
|
|
|
|
};
|
|
}
|
|
|
|
if (string.IsNullOrWhiteSpace(request.SubjectClaim))
|
|
{
|
|
return new MessageModel<AIGOPageModel<AIGOResponse>>()
|
|
{
|
|
msg = "SubjectClaim字段必传参数",
|
|
|
|
};
|
|
}
|
|
|
|
if (string.IsNullOrWhiteSpace(request.BatchName))
|
|
{
|
|
return new MessageModel<AIGOPageModel<AIGOResponse>>()
|
|
{
|
|
msg = "BatchName字段必传参数",
|
|
|
|
};
|
|
}
|
|
|
|
|
|
var response = await _d_PlanMajorDescServices.GetAIGoList(request);
|
|
if (response.data == null || !response.data.Any() || response.dataCount <= 0)
|
|
{
|
|
return new MessageModel<AIGOPageModel<AIGOResponse>>()
|
|
{
|
|
msg = "获取失败",
|
|
success = false,
|
|
response = response
|
|
};
|
|
}
|
|
|
|
return new MessageModel<AIGOPageModel<AIGOResponse>>()
|
|
{
|
|
msg = "获取成功",
|
|
success = true,
|
|
response = response
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
} |