using Edu.Common.API; using Edu.Common.Enum.Course; using Edu.Common.Plugin; using Edu.Model.ViewModel.Course; using Edu.Model.ViewModel.EduTask; using Edu.Module.Course; using Edu.Module.EduTask; using Edu.WebApi.Filter; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Edu.WebApi.Controllers.EduTask { /// <summary> /// 改变流程相关申请 /// </summary> [Route("api/[controller]/[action]")] [ApiExceptionFilter] [ApiController] [EnableCors("AllowCors")] public class StopStudentClassController : BaseController { /// <summary> /// 调课处理类对象 /// </summary> private readonly StopStudentClassModule stopStudentClassModule = AOP.AOPHelper.CreateAOPObject<StopStudentClassModule>(); /// <summary> /// 班级处理类对象 /// </summary> private readonly ClassModule classModule = AOP.AOPHelper.CreateAOPObject<ClassModule>(); /// <summary> /// Vip课程申请处理类 /// </summary> private readonly CourseVipModule courseVipModule = AOP.AOPHelper.CreateAOPObject<CourseVipModule>(); /// <summary> /// 新增修改班级调课 /// </summary> /// <returns></returns> [HttpPost] public ApiResult SetStudentStopClass() { var model = new RB_Student_StopClass_ViewModel() { Id = base.ParmJObj.GetInt("Id"), ClassId = base.ParmJObj.GetInt("ClassId"), CourseId = base.ParmJObj.GetInt("CourseId"), OrderGuestId = base.ParmJObj.GetInt("OrderGuestId"), Remarks = base.ParmJObj.GetStringValue("Remarks"), OldStudentStatus = base.ParmJObj.GetInt("OldStudentStatus") }; var classModel = classModule.GetClassModule(model.ClassId); string receiptFile = string.Empty; try { string takeEffectTime = base.ParmJObj.GetStringValue("TakeEffectTime"); if (string.IsNullOrWhiteSpace(takeEffectTime)) { return ApiResult.Failed("请选择生效日期"); } model.TakeEffectTime = Convert.ToDateTime(takeEffectTime); List<string> receiptFileList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(base.ParmJObj.GetStringValue("ReceiptFileList")); if (receiptFileList == null || !receiptFileList.Any()) { return ApiResult.Failed("附件必须上传"); } else { receiptFile = JsonHelper.Serialize(receiptFileList); } } catch (Exception ex) { Common.Plugin.LogHelper.Write(ex, "SetStudentStopClass"); } if (model.Id == 0) { model.CreateBy = base.UserInfo.Id; model.CreateTime = DateTime.Now; model.Group_Id = base.UserInfo.Group_Id; model.School_Id = classModel.School_Id; } model.UpdateBy = base.UserInfo.Id; model.UpdateTime = DateTime.Now; model.IsAuditThrough = 0; bool flag = stopStudentClassModule.SetStudentStopClassModule(model, receiptFile); return flag ? ApiResult.Success() : ApiResult.Failed(); } /// <summary> /// 新增修改Vip课程申请 /// </summary> /// <returns></returns> [HttpPost] public ApiResult SetVipCourseApply() { var model = new RB_Course_Vip_Extend() { Id = base.ParmJObj.GetInt("Id"), CateId = base.ParmJObj.GetInt("CateId"), CourseName = base.ParmJObj.GetStringValue("CourseName"), HourType=base.ParmJObj.GetInt("HourType"), TotalHour = base.ParmJObj.GetDecimal("TotalHour"), CourseTimeId = base.ParmJObj.GetInt("CourseTimeId"), CoursePrice = base.ParmJObj.GetDecimal("CoursePrice"), Remarks=base.ParmJObj.GetStringValue("Remarks"), StuId=base.ParmJObj.GetInt("StuId"), }; model.Group_Id = base.UserInfo.Group_Id; model.School_Id = base.UserInfo.School_Id; model.CreateBy = base.UserInfo.Id; model.CreateTime = DateTime.Now; model.UpdateBy = base.UserInfo.Id; model.UpdateTime = DateTime.Now; model.AuditStatus = Common.Enum.User.WFRrocessStatus.NotAudit; int times = courseVipModule.CalcChapterTimesModule(model.CourseTimeId, model.HourType, model.TotalHour, out _, out _, out string message1); if (!string.IsNullOrEmpty(message1)) { return ApiResult.Failed(message: message1); } bool flag = courseVipModule.SetCourseVipModule(model, out string message); return flag ? ApiResult.Success() : ApiResult.Failed(message: message); } } }