using Edu.Common.API; using Edu.Common.Plugin; using Edu.Model.ViewModel.Course; using Edu.Module.Course; using Edu.WebApi.Filter; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Edu.WebApi.Controllers.Course { [Route("api/[controller]/[action]")] [ApiExceptionFilter] [ApiController] [EnableCors("AllowCors")] public class CourseWordsController : BaseController { /// /// 课程单词处理类对象 /// private readonly CourseWordsModule courseWordsModule = new CourseWordsModule(); /// /// 导入Excel单词 /// /// public ApiResult ImportExcelWords(string filePath, int CourseId, int Uid) { var userInfo = base.GetUserInfo(Uid); var dataList = Common.Data.CourseWordsHelper.GetXlsWordsData(filePath); List result = new List(); if (dataList != null && dataList.Count > 0) { foreach (var item in dataList) { var model = new RB_Course_Words_Extend() { Id = 0, CourseId = CourseId, ChapterId = item.ChapterId, WordType = item.WordType, WordContent = item.WordContent, WordTone = item.WordTone, WordWrite = item.WordWrite, ChineseMean = item.ChineseMean, Status = Common.Enum.DateStateEnum.Normal, Group_Id = userInfo.Group_Id, CreateBy = userInfo.Id, CreateTime = DateTime.Now, UpdateBy = userInfo.Id, UpdateTime = DateTime.Now }; if (!string.IsNullOrEmpty(model.WordContent)) { result.Add(model); } } } bool flag = false; if (result != null && result.Count > 0) { flag = courseWordsModule.BatchInsertCourseWordsModule(result); } return flag ? ApiResult.Success() : ApiResult.Failed(); } /// /// 获取课程单词列表 /// /// [HttpPost] public ApiResult GetCourseWordsPage() { var pageModel = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); var query = new RB_Course_Words_Extend() { CourseId = base.ParmJObj.GetInt("CourseId"), ChapterId = base.ParmJObj.GetInt("ChapterId"), }; query.Group_Id = base.UserInfo.Group_Id; var list = courseWordsModule.GetCourseWordsPageModule(pageModel.PageIndex,pageModel.PageSize,out long rowsCount, query); pageModel.Count = rowsCount; pageModel.PageData = list; return ApiResult.Success(data: pageModel); } /// /// 获取课程单词列表 /// /// [HttpPost] public ApiResult GetCourseWordsList() { var query = new RB_Course_Words_Extend() { CourseId = base.ParmJObj.GetInt("CourseId"), ChapterId = base.ParmJObj.GetInt("ChapterId"), }; query.Group_Id = base.UserInfo.Group_Id; var list = courseWordsModule.GetCourseWordsListModule(query); return ApiResult.Success(data: list); } /// /// 添加修改课程单词 /// /// [HttpPost] public ApiResult SetCourseWords() { var extModel = new RB_Course_Words_Extend() { Id = base.ParmJObj.GetInt("Id"), CourseId = base.ParmJObj.GetInt("CourseId"), ChapterId = base.ParmJObj.GetInt("ChapterId"), WordType = base.ParmJObj.GetStringValue("WordType"), WordContent = base.ParmJObj.GetStringValue("WordContent"), WordTone = base.ParmJObj.GetStringValue("WordTone"), WordWrite = base.ParmJObj.GetStringValue("WordWrite"), ChineseMean = base.ParmJObj.GetStringValue("ChineseMean"), FileUrl = base.ParmJObj.GetStringValue("FileUrl"), }; extModel.CreateTime = DateTime.Now; extModel.CreateBy = UserInfo.Id; extModel.UpdateBy = UserInfo.Id; extModel.UpdateTime = DateTime.Now; extModel.Group_Id = this.UserInfo.Group_Id; bool flag = courseWordsModule.SetCourseWordsModule(extModel); return flag ? ApiResult.Success() : ApiResult.Failed(); } /// /// 根据编号获取单词详情 /// /// [HttpPost] public ApiResult GetCourseWords() { var Id = base.ParmJObj.GetInt("Id", 0); var extModel = courseWordsModule.GetCourseWordsModule(Id); return ApiResult.Success(data: extModel); } /// /// 根据编号删除单词 /// /// [HttpPost] public ApiResult RemoveCourseWords() { var Id = base.ParmJObj.GetInt("Id", 0); var flag = courseWordsModule.RemoveCourseWordsModule(Id); return flag ? ApiResult.Success() : ApiResult.Failed(); } } }