From 336ef63273987fd333fb1819168f6033d4edc38b Mon Sep 17 00:00:00 2001 From: "HK\\Administrator" <461671400@qq.com> Date: Wed, 24 Nov 2021 15:19:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Edu.Common/Enum/Course/CourseRateEnum.cs | 10 +- Edu.Common/Enum/Customer/TaskTypeEnum.cs | 37 ++++++ Edu.Model/Entity/Course/RB_Course_Subject.cs | 66 +++++++++++ .../Course/RB_Course_Subject_ViewModel.cs | 33 ++++++ Edu.Module.Course/CourseCategoryModule.cs | 93 ++++++++++++++- .../Course/RB_Course_SubjectRepository.cs | 80 +++++++++++++ .../Controllers/Course/CourseController.cs | 109 ++++++++++++++++-- 7 files changed, 408 insertions(+), 20 deletions(-) create mode 100644 Edu.Common/Enum/Customer/TaskTypeEnum.cs create mode 100644 Edu.Model/Entity/Course/RB_Course_Subject.cs create mode 100644 Edu.Model/ViewModel/Course/RB_Course_Subject_ViewModel.cs create mode 100644 Edu.Repository/Course/RB_Course_SubjectRepository.cs diff --git a/Edu.Common/Enum/Course/CourseRateEnum.cs b/Edu.Common/Enum/Course/CourseRateEnum.cs index f9ca82fd..e9cecd96 100644 --- a/Edu.Common/Enum/Course/CourseRateEnum.cs +++ b/Edu.Common/Enum/Course/CourseRateEnum.cs @@ -84,22 +84,18 @@ namespace Edu.Common.Enum.Course [EnumField("韩è¯")] Korean =2, - /// <summary> - /// 新媒体 - /// </summary> - //[EnumField("新媒体")] - //NewMedia =3, + /// <summary> /// 新媒体è¿è¥ /// </summary> [EnumField("新媒体è¿è¥")] - NewMediaOperation = 4, + NewMediaOperation = 3, /// <summary> /// 智能工业 /// </summary> [EnumField("智能工业")] - Robot = 5 + Robot = 4 } } diff --git a/Edu.Common/Enum/Customer/TaskTypeEnum.cs b/Edu.Common/Enum/Customer/TaskTypeEnum.cs new file mode 100644 index 00000000..e141c77e --- /dev/null +++ b/Edu.Common/Enum/Customer/TaskTypeEnum.cs @@ -0,0 +1,37 @@ +using Edu.Common.Plugin; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Edu.Common.Enum.Customer +{ + /// <summary> + /// 任务类型 + /// </summary> + public enum TaskTypeEnum + { + /// <summary> + /// 全局通用 + /// </summary> + [EnumField("全局通用")] + GlobalUse =1, + + /// <summary> + /// 科目 + /// </summary> + [EnumField("科目")] + CourseSuject =2, + + /// <summary> + /// 课程系列 + /// </summary> + [EnumField("课程系列")] + CourseCate =3, + + /// <summary> + /// 课程 + /// </summary> + [EnumField("课程")] + Course = 4, + } +} diff --git a/Edu.Model/Entity/Course/RB_Course_Subject.cs b/Edu.Model/Entity/Course/RB_Course_Subject.cs new file mode 100644 index 00000000..6030ca08 --- /dev/null +++ b/Edu.Model/Entity/Course/RB_Course_Subject.cs @@ -0,0 +1,66 @@ +using Edu.Common.Enum; +using System; +using System.Collections.Generic; +using System.Text; +using VT.FW.DB; + +namespace Edu.Model.Entity.Course +{ + /// <summary> + /// 课程科目实体类 + /// </summary> + [Serializable] + [DB(ConnectionName = "DefaultConnection")] + public class RB_Course_Subject + { + /// <summary> + /// ä¸»é”®ç¼–å· + /// </summary> + public int Id { get; set; } + + /// <summary> + /// 科目å称 + /// </summary> + public string SubjectName { get; set; } + + /// <summary> + /// ç§‘ç›®å›¾æ ‡ + /// </summary> + public string SubjectIcon { get; set; } + + /// <summary> + /// 创建人 + /// </summary> + public int CreateBy { get; set; } + + /// <summary> + /// 创建时间 + /// </summary> + public DateTime CreateTime { get; set; } + + /// <summary> + /// 修改人 + /// </summary> + public int UpdateBy { get; set; } + + /// <summary> + /// 更新时间 + /// </summary> + public DateTime UpdateTime { get; set; } + + /// <summary> + /// å¦æ ¡Id + /// </summary> + public int School_Id { get; set; } + + /// <summary> + /// é›†å›¢ç¼–å· + /// </summary> + public int Group_Id { get; set; } + + /// <summary> + /// çŠ¶æ€ + /// </summary> + public DateStateEnum Status { get; set; } + } +} diff --git a/Edu.Model/ViewModel/Course/RB_Course_Subject_ViewModel.cs b/Edu.Model/ViewModel/Course/RB_Course_Subject_ViewModel.cs new file mode 100644 index 00000000..20278e65 --- /dev/null +++ b/Edu.Model/ViewModel/Course/RB_Course_Subject_ViewModel.cs @@ -0,0 +1,33 @@ +using Edu.Model.Entity.Course; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Edu.Model.ViewModel.Course +{ + /// <summary> + /// 课程科目扩展实体类 + /// </summary> + public class RB_Course_Subject_ViewModel: RB_Course_Subject + { + /// <summary> + /// 创建人 + /// </summary> + public string CreateByName { get; set; } + + /// <summary> + /// 修改人 + /// </summary> + public string UpdateByName { get; set; } + + /// <summary> + /// 创建时间 + /// </summary> + public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } } + + /// <summary> + /// 修改时间 + /// </summary> + public string UpdateTimeStr { get { return Common.ConvertHelper.FormatTime(this.UpdateTime); } } + } +} diff --git a/Edu.Module.Course/CourseCategoryModule.cs b/Edu.Module.Course/CourseCategoryModule.cs index c96cc63c..6df5474f 100644 --- a/Edu.Module.Course/CourseCategoryModule.cs +++ b/Edu.Module.Course/CourseCategoryModule.cs @@ -12,11 +12,17 @@ namespace Edu.Module.Course /// </summary> public class CourseCategoryModule { + /// <summary> + /// 科目仓储层对象 + /// </summary> + private readonly RB_Course_SubjectRepository course_SubjectRepository = new RB_Course_SubjectRepository(); + /// <summary> /// 课程分类仓储对象 /// </summary> private readonly RB_Course_CategoryRepository categoryRepository = new RB_Course_CategoryRepository(); + #region 课程分类 /// <summary> /// 获å–课程分类列表 /// </summary> @@ -97,7 +103,7 @@ namespace Edu.Module.Course CateId = fItem.CateId, CateName = fItem.CateName, ParentId = fItem.ParentId, - CourseSubject=fItem.CourseSubject, + CourseSubject = fItem.CourseSubject, ChildList = new List<CourseCategoryTree_ViewModel>() }; tModel.ChildList = GetCategoryTreeList(fItem.CateId, list); @@ -123,7 +129,7 @@ namespace Edu.Module.Course CateId = item.CateId, CateName = item.CateName, ParentId = item.ParentId, - CourseSubject=item.CourseSubject, + CourseSubject = item.CourseSubject, ChildList = new List<CourseCategoryTree_ViewModel>(), }; model.ChildList = GetCategoryTreeList(item.CateId, sourceList); @@ -176,5 +182,88 @@ namespace Edu.Module.Course bool flag = categoryRepository.Update(fileds, new WhereHelper(nameof(RB_Course_Category_ViewModel.CateId), CateId)); return flag; } + + #endregion + + #region ç§‘ç›®ç®¡ç† + + /// <summary> + /// 获å–科目分页列表 + /// </summary> + /// <param name="pageIndex"></param> + /// <param name="pageSize"></param> + /// <param name="rowsCount"></param> + /// <param name="query"></param> + /// <returns></returns> + public List<RB_Course_Subject_ViewModel> GetCourseSubjectPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Course_Subject_ViewModel query) + { + var list = course_SubjectRepository.GetCourseSubjectPageRepository(pageIndex, pageSize, out rowsCount, query); + return list; + } + + /// <summary> + /// 获å–科目列表 + /// </summary> + /// <param name="query"></param> + /// <returns></returns> + public List<RB_Course_Subject_ViewModel> GetCourseSubjectListModule(RB_Course_Subject_ViewModel query) + { + return course_SubjectRepository.GetCourseSubjectListRepository(query); + } + + /// <summary> + /// 新增修改科目 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + public bool SetCourseSubjectModule(RB_Course_Subject_ViewModel model) + { + bool flag = false; + if (model.Id > 0) + { + Dictionary<string, object> fileds = new Dictionary<string, object>() + { + { nameof(RB_Course_Subject_ViewModel.SubjectName),model.SubjectName}, + { nameof(RB_Course_Subject_ViewModel.SubjectIcon),model.SubjectIcon}, + { nameof(RB_Course_Subject_ViewModel.UpdateBy),model.UpdateBy}, + { nameof(RB_Course_Subject_ViewModel.UpdateTime),model.UpdateTime}, + }; + flag = course_SubjectRepository.Update(fileds, new WhereHelper(nameof(RB_Course_Subject_ViewModel.Id), model.Id)); + } + else + { + var newId = course_SubjectRepository.Insert(model); + model.Id = newId; + flag = newId > 0; + } + return flag; + } + + /// <summary> + /// æ ¹æ®ç¼–å·èŽ·å–科目详情 + /// </summary> + /// <param name="Id"></param> + /// <returns></returns> + public RB_Course_Subject_ViewModel GetCourseSubjectModule(object Id) + { + var extModel = course_SubjectRepository.GetEntity<RB_Course_Subject_ViewModel>(Id); + return extModel; + } + + /// <summary> + /// æ ¹æ®ç¼–å·åˆ 除科目 + /// </summary> + /// <param name="Id"></param> + /// <returns></returns> + public bool RemoveCourseSubjectModule(object Id) + { + Dictionary<string, object> fileds = new Dictionary<string, object>() + { + { nameof(RB_Course_Subject_ViewModel.Status),(int)DateStateEnum.Delete}, + }; + var flag = course_SubjectRepository.Update(fileds, new WhereHelper(nameof(RB_Course_Subject_ViewModel.Id), Id)); + return flag; + } + #endregion } } \ No newline at end of file diff --git a/Edu.Repository/Course/RB_Course_SubjectRepository.cs b/Edu.Repository/Course/RB_Course_SubjectRepository.cs new file mode 100644 index 00000000..5b076863 --- /dev/null +++ b/Edu.Repository/Course/RB_Course_SubjectRepository.cs @@ -0,0 +1,80 @@ +using Edu.Common.Enum; +using Edu.Model.Entity.Course; +using Edu.Model.ViewModel.Course; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using VT.FW.DB.Dapper; + +namespace Edu.Repository.Course +{ + /// <summary> + /// 课程科目仓储层对象 + /// </summary> + public class RB_Course_SubjectRepository : BaseRepository<RB_Course_Subject> + { + /// <summary> + /// 获å–科目分页列表 + /// </summary> + /// <param name="pageIndex"></param> + /// <param name="pageSize"></param> + /// <param name="rowsCount"></param> + /// <param name="query"></param> + /// <returns></returns> + public List<RB_Course_Subject_ViewModel> GetCourseSubjectPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Course_Subject_ViewModel query) + { + var parameters = new DynamicParameters(); + StringBuilder builder = new StringBuilder(); + builder.AppendFormat(@" +SELECT A.* +FROM RB_Course_Subject AS A +WHERE 1=1 +"); + builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Subject_ViewModel.Status), (int)DateStateEnum.Normal); + if (query != null) + { + if (query.Group_Id > 0) + { + builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Subject_ViewModel.Group_Id), query.Group_Id); + } + if (!string.IsNullOrEmpty(query.SubjectName)) + { + builder.AppendFormat(" AND A.{0} LIKE @SubjectName ", nameof(RB_Course_Subject_ViewModel.SubjectName)); + parameters.Add("SubjectName", "%" + query.SubjectName.Trim() + "%"); + } + } + return GetPage<RB_Course_Subject_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList(); + } + + /// <summary> + /// 获å–科目列表 + /// </summary> + /// <param name="query"></param> + /// <returns></returns> + public List<RB_Course_Subject_ViewModel> GetCourseSubjectListRepository(RB_Course_Subject_ViewModel query) + { + var parameters = new DynamicParameters(); + StringBuilder builder = new StringBuilder(); + builder.AppendFormat(@" +SELECT A.* +FROM RB_Course_Subject AS A +WHERE 1=1 +"); + builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Subject_ViewModel.Status), (int)DateStateEnum.Normal); + if (query != null) + { + if (query.Group_Id > 0) + { + builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Subject_ViewModel.Group_Id), query.Group_Id); + } + if (!string.IsNullOrEmpty(query.SubjectName)) + { + builder.AppendFormat(" AND A.{0} LIKE @SubjectName ", nameof(RB_Course_Subject_ViewModel.SubjectName)); + parameters.Add("SubjectName", "%" + query.SubjectName.Trim() + "%"); + } + } + return Get<RB_Course_Subject_ViewModel>(builder.ToString(), parameters).ToList(); + } + } +} diff --git a/Edu.WebApi/Controllers/Course/CourseController.cs b/Edu.WebApi/Controllers/Course/CourseController.cs index bcc55c14..392e20b4 100644 --- a/Edu.WebApi/Controllers/Course/CourseController.cs +++ b/Edu.WebApi/Controllers/Course/CourseController.cs @@ -33,6 +33,104 @@ namespace Edu.WebApi.Controllers.Course /// </summary> private readonly CourseModule courseModule = AOP.AOPHelper.CreateAOPObject<CourseModule>(); + #region ç§‘ç›®ç®¡ç† + /// <summary> + /// 获å–课程科目分页列表 + /// </summary> + /// <returns></returns> + [HttpPost] + public ApiResult GetCourseSubjectPage() + { + var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); + var query = new RB_Course_Subject_ViewModel() + { + SubjectName=base.ParmJObj.GetStringValue("SubjectName"), + }; + query.Group_Id = base.UserInfo.Group_Id; + query.School_Id = base.UserInfo.School_Id; + var list = categoryModule.GetCourseSubjectPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); + foreach (var item in list) + { + if (item.CreateBy > 0) + { + item.CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? ""; + } + if (item.UpdateBy > 0) + { + item.UpdateByName = UserReidsCache.GetUserLoginInfo(item.UpdateBy)?.AccountName ?? ""; + } + } + pageModel.Count = rowsCount; + pageModel.PageData = list; + return ApiResult.Success(data: pageModel); + } + + /// <summary> + /// 获å–课程科目列表 + /// </summary> + /// <returns></returns> + [HttpPost] + public ApiResult GetCourseSubjectList() + { + var query = new RB_Course_Subject_ViewModel() + { + SubjectName = base.ParmJObj.GetStringValue("SubjectName"), + }; + query.Group_Id = base.UserInfo.Group_Id; + var list = categoryModule.GetCourseSubjectListModule(query); + return ApiResult.Success(data: list); + } + + + /// <summary> + /// æ·»åŠ ä¿®æ”¹è¯¾ç¨‹ç§‘ç›® + /// </summary> + /// <returns></returns> + [HttpPost] + public ApiResult SetCourseSubject() + { + var extModel = new RB_Course_Subject_ViewModel() + { + Id = base.ParmJObj.GetInt("Id"), + SubjectName = base.ParmJObj.GetStringValue("SubjectName"), + SubjectIcon = base.ParmJObj.GetStringValue("SubjectIcon"), + }; + extModel.CreateTime = DateTime.Now; + extModel.CreateBy = UserInfo.Id; + extModel.UpdateBy = UserInfo.Id; + extModel.UpdateTime = DateTime.Now; + extModel.Group_Id = this.UserInfo.Group_Id; + extModel.School_Id = this.UserInfo.School_Id; + bool flag = categoryModule.SetCourseSubjectModule(extModel); + return flag ? ApiResult.Success() : ApiResult.Failed(); + } + + /// <summary> + /// 获å–课程科目详情 + /// </summary> + /// <returns></returns> + [HttpPost] + public ApiResult GetCourseSubject() + { + var Id = base.ParmJObj.GetInt("Id", 0); + var extModel = categoryModule.GetCourseSubjectModule(Id); + return ApiResult.Success(data: extModel); + } + + /// <summary> + /// åˆ é™¤è¯¾ç¨‹ç§‘ç›® + /// </summary> + /// <returns></returns> + [HttpPost] + public ApiResult RemoveCourseSubject() + { + var Id = base.ParmJObj.GetInt("Id", 0); + var flag = categoryModule.RemoveCourseSubjectModule(Id); + return flag ? ApiResult.Success() : ApiResult.Failed(); + } + + #endregion + #region è¯¾ç¨‹åˆ†ç±»ç®¡ç† /// <summary> /// 获å–课程分类分页列表 @@ -576,17 +674,6 @@ namespace Edu.WebApi.Controllers.Course return ApiResult.Success(data: list); } - /// <summary> - /// 获å–课程科目列表 - /// </summary> - /// <returns></returns> - [HttpPost] - public ApiResult GetCourseSubjectList() - { - var list = Common.Plugin.EnumHelper.EnumToList(typeof(CourseSubjectEnum)).OrderBy(qitem => qitem.Id); - return ApiResult.Success(data: list); - } - /// <summary> /// åˆ é™¤è¯¾ç¨‹ç« èŠ‚ /// </summary> -- 2.18.1