From 1299126dd88520ce6ad96a69428531872809812c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com>
Date: Tue, 21 Nov 2023 11:32:25 +0800
Subject: [PATCH] =?UTF-8?q?feat:PC=E7=AB=AF=E5=BF=97=E6=84=BF=E8=A1=A8?=
=?UTF-8?q?=E6=A8=A1=E5=9D=97=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Front/PcVolunteerController.cs | 316 ++++++++++++++++++
.../Controllers/Front/VolunteerController.cs | 5 +-
New_College.Api/New_College.Model.xml | 170 ++++++++++
New_College.Api/New_College.xml | 40 +++
New_College.Api/appsettings.json | 2 +-
New_College.Model/Models/U_VolunteerTable.cs | 23 +-
.../ViewModels/VolunteerTableDtoView.cs | 204 +++++++++++
7 files changed, 756 insertions(+), 4 deletions(-)
create mode 100644 New_College.Api/Controllers/Front/PcVolunteerController.cs
create mode 100644 New_College.Model/ViewModels/VolunteerTableDtoView.cs
diff --git a/New_College.Api/Controllers/Front/PcVolunteerController.cs b/New_College.Api/Controllers/Front/PcVolunteerController.cs
new file mode 100644
index 0000000..8b95b88
--- /dev/null
+++ b/New_College.Api/Controllers/Front/PcVolunteerController.cs
@@ -0,0 +1,316 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using New_College.Model;
+using New_College.Model.ViewModels;
+using New_College.IServices;
+using New_College.Model.Models;
+using New_College.Services;
+using System.Linq.Expressions;
+using New_College.IRepository.UnitOfWork;
+using New_College.Repository.UnitOfWork;
+using SqlSugar;
+namespace New_College.Api.Controllers.Front
+{
+
+
+ ///
+ /// PC志愿表管理
+ ///
+ [Route("api/front/[controller]/[action]")]
+ [ApiController]
+ public class PcVolunteerController : ControllerBase
+ {
+ private readonly IU_VolunteerTableServices _VolunteerTableServices;
+ private readonly IU_VolunteerTableDetailServices _VolunteerTableDetailServices;
+ private readonly IUnitOfWork _unitOfWork;
+ private readonly ID_PlanMajorDescServices _planMajorDescServices;
+ public PcVolunteerController(IU_VolunteerTableServices volunteerTableServices, IU_VolunteerTableDetailServices volunteerTableDetailServices, IUnitOfWork unitOfWork, ID_PlanMajorDescServices planMajorDescServices)
+ {
+ _VolunteerTableServices = volunteerTableServices;
+ _VolunteerTableDetailServices = volunteerTableDetailServices;
+ _unitOfWork = unitOfWork;
+ _planMajorDescServices = planMajorDescServices;
+ }
+
+
+ ///
+ /// Pc端查询我的志愿列表
+ ///
+ ///
+ ///
+ [HttpGet]
+ public async Task>> Get([FromQuery] VolunteerTableRequestView view)
+ {
+ if (view.CustomerId <= 0)
+ {
+ return new MessageModel>()
+ {
+ msg = "CustomerId 为必传参数"
+ };
+ }
+
+ var response = new PageModel();
+ Expression> exp = Expressionable.Create()
+ .And(c => c.IsDelete == false)
+ .And(c => c.CustomerId == view.CustomerId)
+ .ToExpression();
+ var pagemodel = await _VolunteerTableServices.QueryPage(exp, view.PageIndex, view.PageSize);
+ response.data = pagemodel.data.Select(c => new VolunteerTableDtoView()
+ {
+ CustomerId = c.CustomerId,
+ Score = c.Score,
+ SubjectClaim = c.SubjectClaim,
+ Type = c.Type,
+ VId = c.Id,
+ VolunteerTableName = c.VolunteerTableName
+ }).ToList();
+ response.pageCount = pagemodel.pageCount;
+ response.page = pagemodel.page;
+ response.PageSize = view.PageSize;
+ return new MessageModel>()
+ {
+ msg = "获取成功",
+ success = true,
+ response = response
+ };
+
+ }
+
+
+ ///
+ /// Pc查询单个志愿表详情信息
+ ///
+ /// 志愿表Id
+ ///
+ [HttpGet("{id}")]
+ public async Task> Get(int id = 0)
+ {
+
+ if (id <= 0)
+ {
+ return new MessageModel()
+ {
+ msg = "id 为必传参数"
+ };
+ }
+
+ var view = new VolunteerTableDetailDtoView();
+ var query = await _VolunteerTableServices.QueryById(id);
+ var items = await _VolunteerTableDetailServices.Query(c => c.VolunteerTableId == id);
+ var PlanMajorIds = new List();
+ foreach (var item in items)
+ {
+ var ids = item.PlanMajorIds.Split(",", StringSplitOptions.RemoveEmptyEntries).Select(c => int.Parse(c)).ToList();
+ PlanMajorIds.AddRange(ids);
+ }
+ var planmajordesc = await _planMajorDescServices.Query(c => SqlFunc.ContainsArray(PlanMajorIds, c.Id));//
+
+ view.VolunteerTableName = query.VolunteerTableName;
+ view.SubjectClaim = query.SubjectClaim;
+ view.CustomerId = query.CustomerId;
+ view.Score = query.Score;
+ view.Type = query.Type;
+ view.tableDetailItemsViews = items.Select(c => new VolunteerTableDetailItemsView()
+ {
+ UniversityId = c.UniversityId,
+ UniversityName = c.UniversityName,
+ UniversityCode = c.UniversityCode,
+ _211 = planmajordesc.Where(e => e.UId == c.UniversityId).FirstOrDefault()._211,
+ _985 = planmajordesc.Where(e => e.UId == c.UniversityId).FirstOrDefault()._985,
+ _SYL = planmajordesc.Where(e => e.UId == c.UniversityId).FirstOrDefault()._SYL,
+ planMajorItems = planmajordesc.Select(s => new VolunteerTablePlanMajorItem()
+ {
+ fee = s.Free,
+ Major = s.Major,
+ MajorCode = s.MajorCode,
+ MajorGroup = s.MajorGroup,
+ MajorRemark = s.Remark,
+ planCount = s.PlanCount,
+ PlanId = s.Id,
+ SubjectClam = s.SelectSubject,
+ // PlanItems= s.PlanItems
+ }).ToList()
+ }).ToList();
+
+ return new MessageModel()
+ {
+ msg = "获取成功",
+ success = true,
+ response = view
+
+ };
+ }
+
+
+
+
+ ///
+ /// PC志愿表新增
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> Post([FromBody] VolunteerTableDtoView request)
+ {
+ var data = new MessageModel();
+ int ordersort = 0;
+ if (string.IsNullOrWhiteSpace(request.VolunteerTableName))
+ {
+ var vol = (await _VolunteerTableServices.Query(c => c.CustomerId == request.CustomerId));
+ if (vol.Any())
+ {
+ request.VolunteerTableName = "我的志愿表" + vol.FirstOrDefault().Id + 1;
+ ordersort = vol.FirstOrDefault().Id + 1;
+ }
+ else
+ {
+ request.VolunteerTableName = "我的志愿表01";
+ ordersort = 1;
+ }
+ }
+ _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 = request.Type,
+ Score = request.Score,
+ VolunteerTableName = request.VolunteerTableName,
+ });
+
+ int itemIds = 0;
+ if (id > 0)
+ {
+ var itemlist = request.volunteerTableDetailViews.Select(c => new U_VolunteerTableDetail()
+ {
+ CreateTime = DateTime.Now,
+ IsDelete = false,
+ ModifyTime = DateTime.Now,
+ OrderSort = 0,
+ PlanMajorIds = c.PlanMajorIds,
+ UniversityCode = c.UniversityCode,
+ UniversityId = c.UniversityId,
+ UniversityName = c.UniversityName,
+ VolunteerTableId = id,
+ }).ToList();
+ itemIds = await _VolunteerTableDetailServices.Add(itemlist);
+ }
+ if (id > 0 && itemIds == request.volunteerTableDetailViews.Count() && itemIds > 0)
+ {
+ _unitOfWork.BeginTran();
+ }
+ else
+ {
+ _unitOfWork.RollbackTran();
+ }
+ data.success = id > 0;
+
+ if (data.success)
+ {
+ data.response = id.ObjToString();
+ data.msg = "添加成功";
+ }
+ return data;
+ }
+
+
+ ///
+ /// Pc修改志愿表
+ ///
+ ///
+ ///
+ [HttpPut]
+ public async Task> Put([FromBody] VolunteerTableDtoView request)
+ {
+ var data = new MessageModel();
+ if (request.VId > 0)
+ {
+ _unitOfWork.BeginTran();
+ data.success = await _VolunteerTableServices.Update(request);
+ //删掉之前的志愿表,更新新的匹配进来
+ var itemids = (await _VolunteerTableDetailServices.Query(c => c.VolunteerTableId == request.VId)).Select(c => (object)c.Id).ToArray();
+ var status = await _VolunteerTableDetailServices.DeleteByIds(itemids);
+ var itemlist = request.volunteerTableDetailViews.Select(c => new U_VolunteerTableDetail()
+ {
+ CreateTime = DateTime.Now,
+ IsDelete = false,
+ ModifyTime = DateTime.Now,
+ OrderSort = 0,
+ PlanMajorIds = c.PlanMajorIds,
+ UniversityCode = c.UniversityCode,
+ UniversityId = c.UniversityId,
+ UniversityName = c.UniversityName,
+ VolunteerTableId = request.VId,
+ }).ToList();
+ var itemIds = await _VolunteerTableDetailServices.Add(itemlist);
+ if (status && itemIds > 0 && data.success)
+ {
+ _unitOfWork.CommitTran();
+ data.msg = "更新成功";
+ data.response = request?.VId.ObjToString();
+ }
+ else
+ {
+ _unitOfWork.RollbackTran();
+ }
+ }
+ return data;
+ }
+
+
+ ///
+ /// Pc删除志愿表
+ ///
+ ///
+ ///
+ [HttpDelete("{id}")]
+ public async Task> Delete(int id = 0)
+ {
+ var data = new MessageModel();
+ if (id > 0)
+ {
+ var detail = await _VolunteerTableServices.QueryById(id);
+ detail.IsDelete = true;
+ if (detail != null)
+ {
+ _unitOfWork.BeginTran();
+ data.success = await _VolunteerTableServices.Update(detail);
+ var itemids = (await _VolunteerTableDetailServices.Query(c => c.VolunteerTableId == id)).Select(c => (object)c.Id).ToArray();
+ var status = await _VolunteerTableDetailServices.DeleteByIds(itemids);
+ if (status && data.success)
+ {
+ _unitOfWork.CommitTran();
+ }
+ else
+ {
+ _unitOfWork.RollbackTran();
+ return new MessageModel()
+ {
+ msg = "删除失败"
+ };
+ };
+ }
+ if (data.success)
+ {
+ data.msg = "删除成功";
+ data.response = detail?.Id.ObjToString();
+ }
+ }
+ return data;
+ }
+
+
+
+
+
+
+ }
+}
diff --git a/New_College.Api/Controllers/Front/VolunteerController.cs b/New_College.Api/Controllers/Front/VolunteerController.cs
index e63eebd..9ba7739 100644
--- a/New_College.Api/Controllers/Front/VolunteerController.cs
+++ b/New_College.Api/Controllers/Front/VolunteerController.cs
@@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc;
using New_College.Model;
using New_College.Model.ViewModels;
using New_College.IServices;
+using New_College.IRepository.UnitOfWork;
namespace New_College.Api.Controllers.Front
{
@@ -16,8 +17,8 @@ namespace New_College.Api.Controllers.Front
{
private readonly IT_EnrollmentPlanedescServices t_EnrollmentPlanedescServices;
private readonly ID_MajorClassServices d_MajorClassServices;
- public VolunteerController(IT_EnrollmentPlanedescServices IT_EnrollmentPlanedescServices
- , ID_MajorClassServices ID_MajorClassServices)
+
+ public VolunteerController(IT_EnrollmentPlanedescServices IT_EnrollmentPlanedescServices, ID_MajorClassServices ID_MajorClassServices)
{
t_EnrollmentPlanedescServices = IT_EnrollmentPlanedescServices;
d_MajorClassServices = ID_MajorClassServices;
diff --git a/New_College.Api/New_College.Model.xml b/New_College.Api/New_College.Model.xml
index 73f84ce..d4500a6 100644
--- a/New_College.Api/New_College.Model.xml
+++ b/New_College.Api/New_College.Model.xml
@@ -2442,6 +2442,21 @@
志愿表名称
+
+
+ 志愿填报类型(智能填报|一键填报)
+
+
+
+
+ 选科科目
+
+
+
+
+ 填报志愿选择成绩
+
+
志愿表详情
@@ -6380,6 +6395,161 @@
+
+
+ 用户ID
+
+
+
+
+ 志愿表名称
+
+
+
+
+ 志愿填报类型(智能填报|一键填报)
+
+
+
+
+ 选科科目
+
+
+
+
+ 填报志愿选择成绩
+
+
+
+
+ 志愿表详情列表
+
+
+
+
+ 院校Id
+
+
+
+
+ 院校名称
+
+
+
+
+ 院校编码
+
+
+
+
+ 双一流
+
+
+
+
+
+
+
+
+
+ 计划数
+
+
+
+
+ 学费
+
+
+
+
+ 专业代码
+
+
+
+
+ 专业组
+
+
+
+
+ 专业名称
+
+
+
+
+ 专业备注
+
+
+
+
+ 选科组合
+
+
+
+
+ 招生计划历年分数情况
+
+
+
+
+ 招生计划Id
+
+
+
+
+ 志愿表ID-新增不传
+
+
+
+
+ 用户ID
+
+
+
+
+ 志愿表名称
+
+
+
+
+ 志愿填报类型(智能填报|一键填报)
+
+
+
+
+ 选科科目
+
+
+
+
+ 填报志愿选择成绩
+
+
+
+
+
+
+
+
+
+ 院校Id
+
+
+
+
+ 院校名称
+
+
+
+
+ 院校编码
+
+
+
+
+ 招生计划Id列表逗号隔开
+
+
院校Id
diff --git a/New_College.Api/New_College.xml b/New_College.Api/New_College.xml
index 2fd051b..85e0c34 100644
--- a/New_College.Api/New_College.xml
+++ b/New_College.Api/New_College.xml
@@ -517,6 +517,46 @@
+
+
+ PC志愿表管理
+
+
+
+
+ Pc端查询我的志愿列表
+
+
+
+
+
+
+ Pc查询单个志愿表详情信息
+
+ 志愿表Id
+
+
+
+
+ PC志愿表新增
+
+
+
+
+
+
+ Pc修改志愿表
+
+
+
+
+
+
+ Pc删除志愿表
+
+
+
+
获取省市区
diff --git a/New_College.Api/appsettings.json b/New_College.Api/appsettings.json
index 37c2ef4..5a5fb8d 100644
--- a/New_College.Api/appsettings.json
+++ b/New_College.Api/appsettings.json
@@ -26,7 +26,7 @@
"Name": "New_College"
}
},
- "urls": "http://*:8083", // IIS 部署,注释掉
+ "urls": "http://*:8082", // IIS 部署,注释掉
"AllowedHosts": "*",
"AppSettings": {
"RedisCachingAOP": {
diff --git a/New_College.Model/Models/U_VolunteerTable.cs b/New_College.Model/Models/U_VolunteerTable.cs
index d877ff1..54a970e 100644
--- a/New_College.Model/Models/U_VolunteerTable.cs
+++ b/New_College.Model/Models/U_VolunteerTable.cs
@@ -1,4 +1,5 @@
-using System;
+using SqlSugar;
+using System;
using System.Collections.Generic;
using System.Text;
@@ -18,5 +19,25 @@ namespace New_College.Model.Models
/// 志愿表名称
///
public string VolunteerTableName { get; set; }
+
+
+ ///
+ /// 志愿填报类型(智能填报|一键填报)
+ ///
+ [SugarColumn(IsNullable = true)]
+ public string Type { get; set; }
+
+ ///
+ /// 选科科目
+ ///
+ [SugarColumn(IsNullable = true)]
+ public string SubjectClaim { get; set; }
+
+ ///
+ ///填报志愿选择成绩
+ ///
+ public float Score { get; set; }
+
+
}
}
diff --git a/New_College.Model/ViewModels/VolunteerTableDtoView.cs b/New_College.Model/ViewModels/VolunteerTableDtoView.cs
new file mode 100644
index 0000000..45b2c23
--- /dev/null
+++ b/New_College.Model/ViewModels/VolunteerTableDtoView.cs
@@ -0,0 +1,204 @@
+using New_College.Model.Models;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace New_College.Model.ViewModels
+{
+
+
+ public class VolunteerTableDetailDtoView
+ {
+
+ ///
+ /// 用户ID
+ ///
+ public int CustomerId { get; set; }
+
+ ///
+ /// 志愿表名称
+ ///
+ public string VolunteerTableName { get; set; }
+
+
+ ///
+ /// 志愿填报类型(智能填报|一键填报)
+ ///
+ public string Type { get; set; }
+
+ ///
+ /// 选科科目
+ ///
+ public string SubjectClaim { get; set; }
+
+ ///
+ ///填报志愿选择成绩
+ ///
+ public float Score { get; set; }
+
+ ///
+ /// 志愿表详情列表
+ ///
+ public List tableDetailItemsViews { get; set; }
+
+ }
+
+ public class VolunteerTableDetailItemsView
+ {
+ ///
+ /// 院校Id
+ ///
+ public int UniversityId { get; set; }
+
+ ///
+ /// 院校名称
+ ///
+ public string UniversityName { get; set; }
+
+ ///
+ /// 院校编码
+ ///
+ public string UniversityCode { get; set; }
+
+
+ public string _985 { get; set; }
+
+
+ public string _211 { get; set; }
+
+ ///
+ /// 双一流
+ ///
+ public string _SYL { get; set; }
+
+ ///
+ ///
+ ///
+ public List planMajorItems { get; set; }
+ }
+
+
+ public class VolunteerTablePlanMajorItem
+ {
+ ///
+ /// 计划数
+ ///
+ public int planCount { get; set; }
+
+ ///
+ /// 学费
+ ///
+ public string fee { get; set; }
+
+
+ ///
+ /// 专业代码
+ ///
+ public string MajorCode { get; set; }
+ ///
+ /// 专业组
+ ///
+ public string MajorGroup { get; set; }
+ ///
+ /// 专业名称
+ ///
+ public string Major { get; set; }
+
+ ///
+ /// 专业备注
+ ///
+ public string MajorRemark { get; set; }
+
+ ///
+ /// 选科组合
+ ///
+ public string SubjectClam { get; set; }
+
+ ///
+ ///招生计划历年分数情况
+ ///
+ public List PlanItems { get; set; }
+
+ ///
+ /// 招生计划Id
+ ///
+ public int PlanId { get; set; }
+
+ }
+
+ public class VolunteerTableRequestView : BasePageRequest
+ {
+ public int CustomerId { get; set; }
+
+ }
+
+ public class VolunteerTableDtoView
+ {
+ ///
+ /// 志愿表ID-新增不传
+ ///
+ public int VId { get; set; }
+ ///
+ /// 用户ID
+ ///
+ public int CustomerId { get; set; }
+
+ ///
+ /// 志愿表名称
+ ///
+ public string VolunteerTableName { get; set; }
+
+
+ ///
+ /// 志愿填报类型(智能填报|一键填报)
+ ///
+ public string Type { get; set; }
+
+ ///
+ /// 选科科目
+ ///
+ public string SubjectClaim { get; set; }
+
+ ///
+ ///填报志愿选择成绩
+ ///
+ public float Score { get; set; }
+
+ ///
+ ///
+ ///
+ public List volunteerTableDetailViews { get; set; }
+
+ }
+
+
+
+
+ public class VolunteerTableDetailView
+ {
+ ///
+ /// 院校Id
+ ///
+ public int UniversityId { get; set; }
+
+ ///
+ /// 院校名称
+ ///
+ public string UniversityName { get; set; }
+
+ ///
+ /// 院校编码
+ ///
+ public string UniversityCode { get; set; }
+
+ ///
+ /// 招生计划Id列表逗号隔开
+ ///
+ public string PlanMajorIds { get; set; }
+ }
+
+
+}