/// <summary> /// 课程管理详情 /// </summary> /// <param name="courseId"></param> /// <returns></returns> public DtoCourseDetails GetDetails(int courseId) { Yw_Course entity = GetCourse(courseId); DtoCourseDetails details = entity.ConvertTo <DtoCourseDetails>( PropertyNamePrefixAction.Remove); details.ResourceGroupName = new ResourceBll().GetResourceGroupName( entity.Ycs_ResourceGroupId); List <int> employeeIds = new List <int>(); employeeIds.Add(entity.Ycs_Owner);//负责人 var teacherIds = entity.Ycs_Employees.Split(',').Select(e => e._ToInt32()); employeeIds.AddRange(teacherIds); IList <Bas_Employee> teachers = new EmployeeBll().GetEmployees(employeeIds); string ownerName = teachers.FirstOrDefault( t => t.Bem_Id == entity.Ycs_Owner)?.Bem_Name; details.OwnerName = ownerName; var teacherNames = teachers.Where(t => t.Bem_Id != entity.Ycs_Owner) .Select(t => t.Bem_Name); details.Teachers = string.Join(",", teacherNames); return(details); }
public void CourseRepository_InsertCourse_ShouldSuccess() { CourseRepository r = new CourseRepository(); var entity = new Yw_Course { Ycs_Creator = 10000, Ycs_Description = "desc", Ycs_CourseType = 0, Ycs_CreateTime = Clock.Now, Ycs_Id = 0, Ycs_CoverImage = "", Ycs_Editor = 10000, Ycs_Employees = "", Ycs_Grade = 3, Ycs_LessonCount = 3, Ycs_Name = "55", Ycs_Owner = 10000, Ycs_PublishTime = Clock.MinValue, Ycs_ResourceGroupId = 5, Ycs_SellCount = 7, Ycs_Status = 7, Ycs_UpdateTime = Clock.Now }; r.InsertCourse(entity); Assert.IsTrue(entity.Ycs_Id > 0); }
/// <summary> /// 学员下订单 /// </summary> public int MakeOrder(int studentId, int courseId) { CourseBll courseBll = new CourseBll(); SchoolBll schoolBll = new SchoolBll(); Yw_Course course = courseBll.GetCourse(courseId); if (course == null || course.Ycs_Status != (int)CourseStatusEnum.已上架) { throw new AbhsException(ErrorCodeEnum.CourseCanNotBuy, AbhsErrorMsg.ConstCourseCanNotBuy); } Bas_School school = schoolBll.GetSchoolByStudent(studentId); if (school == null) { throw new AbhsException(ErrorCodeEnum.StudentNotBindSchool, AbhsErrorMsg.ConstStudentNotBindSchool); } Yw_CoursePrice price = courseBll.GetCoursePrice(courseId, school.Bsl_Level); Yw_StudentOrder order = new Yw_StudentOrder(); order.Yod_CourseId = courseId; order.Yod_OrderNo = GenerateOrderNo(courseId, studentId); order.Yod_OrderTime = DateTime.Now; order.Yod_OrderType = (int)OrderTypeEnum.订单; order.Yod_PayBatchId = 0; order.Yod_ReferOrderId = 0; order.Yod_PayTime = new DateTime(1900, 1, 1); order.Yod_Status = (int)StudentOrderStatus.待支付; order.Yod_StudentId = studentId; order.Yod_UpdateTime = DateTime.Now; order.Yod_Amount = price.Yce_Price; OrderService.Add(order); return order.Yod_Id; }
public DtoSelectCenterOrderResult GetOrderInfoForDetail(int studentId, int orderId) { Yw_StudentOrder order = GetStudentOrder(orderId); if (order.Yod_StudentId.Equals(studentId)) { CourseBll courseBll = new CourseBll(); Yw_Course course = courseBll.GetCourse(order.Yod_CourseId); DtoSelectCenterOrderResult result = new DtoSelectCenterOrderResult(); result.StudentId = order.Yod_StudentId; result.CourseId = course.Ycs_Id; result.CourseName = course.Ycs_Name; result.CourseImage = course.Ycs_CoverImage.ToOssPath(); result.Grade = course.Ycs_Grade; result.CourseType = course.Ycs_CourseType; result.LessonCount = course.Ycs_LessonCount; result.Description = course.Ycs_Description; result.OrderId = order.Yod_Id; result.OrderAmount = order.Yod_Amount; result.PayAmount = order.Yod_PayAmount; result.OrderStatus = order.Yod_Status; result.OrderTime = order.Yod_OrderTime; result.OrderNo = order.Yod_OrderNo; List<DtoStudentOrderPay> orderPayList = Service.GetStudentOrderPay(order.Yod_Id, order.Yod_PayBatchId); result.OrderCashPay = orderPayList.FirstOrDefault(p => p.PayType < 200); result.OrderVoucherPayList = orderPayList.Where(p => p.PayType > 200).ToList(); if (result.OrderCashPay != null) { result.PayType = result.OrderCashPay.PayType - 100; result.PayTime = result.OrderCashPay.PayTime; } return result; } else { throw new AbhsException(ErrorCodeEnum.NoAuthorize, AbhsErrorMsg.ConstNoAuthorizeViewOrder); } }
/// <summary> /// 选课中心订单详情页-支付页 /// </summary> /// <param name="studentId">学生Id</param> /// <param name="orderId">订单Id</param> /// <returns></returns> public DtoSelectCenterOrderResult GetOrderInfoForPayment(int studentId, int orderId) { //获取订单信息 //验证订单是否属于当前登录用户 //根据订单Id查询课程信息(名称、图片、年级、课程类型、课时、描述、教材版本) //课程价格显示订单原始金额 Yw_StudentOrder order = GetStudentOrder(orderId); if (order.Yod_StudentId.Equals(studentId)) { CourseBll courseBll = new CourseBll(); Yw_Course course = courseBll.GetCourse(order.Yod_CourseId); DtoSelectCenterOrderResult result = new DtoSelectCenterOrderResult(); result.StudentId = order.Yod_StudentId; result.CourseId = course.Ycs_Id; result.CourseName = course.Ycs_Name; result.CourseImage = course.Ycs_CoverImage.ToOssPath(); result.Grade = course.Ycs_Grade; result.CourseType = course.Ycs_CourseType; result.LessonCount = course.Ycs_LessonCount; result.Description = course.Ycs_Description; result.OrderId = order.Yod_Id; result.OrderAmount = order.Yod_Amount; result.OrderStatus = order.Yod_Status; result.OrderTime = order.Yod_OrderTime; result.OrderNo = order.Yod_OrderNo; return result; } else { throw new AbhsException(ErrorCodeEnum.NoAuthorize, AbhsErrorMsg.ConstNoAuthorizeViewOrder); } }
/// <summary> /// 课程上下架详情 /// </summary> /// <param name="courseId"></param> /// <returns></returns> public DtoCourseDetails GetDetailOfManagements(int courseId) { Yw_Course entity = GetCourse(courseId); DtoCourseDetails details = entity.ConvertTo <DtoCourseDetails>( PropertyNamePrefixAction.Remove); details.OwnerName = new EmployeeBll().GetEmployeeEntity(entity.Ycs_Owner)?.Bem_Name; var introduction = CourseIntroductionRespository.GetCourseIntroduction(courseId); details.Introduction = introduction?.Yci_Introduction; details.Arrange = introduction?.Yci_Arrange; var prices = CoursePriceRepository.GetEntities(new List <int> { courseId }); foreach (var item in prices) { details.Pricings.Add(new DtoPricing { Price = item.Yce_Price, SchoolLevelId = item.Yce_SchoolLevelId }); } var lessons = new LessonBll().GetLessons(courseId); int approvedStatus = (int)LessonStatusEnum.合格; var indexes = lessons.Where(l => l.Status == approvedStatus).Select(l => l.Index); details.ApprovedLessons = indexes.ToList(); return(details); }
public Domain.Dto.Response.DtoCourse GetCourseInfo(int courseId) { Yw_Course c = CourseRepository.GetCourse(courseId); if (c != null) { //获取人员id List <int> ids = new List <int>(); #region 计算课程中所有的人员id if (c.Ycs_Owner != 0) { ids.Add(c.Ycs_Owner); } if (c.Ycs_Creator != 0) { ids.Add(c.Ycs_Creator); } if (c.Ycs_Editor != 0) { ids.Add(c.Ycs_Editor); } foreach (string id in c.Ycs_Employees.Split(',')) { int i = 0; if (int.TryParse(id, out i)) { ids.Add(i); } } #endregion 计算课程中所有的人员id Dictionary <int, string> names = EmployeeRepository.GetEmployeeNameByIds(ids); #region 计算姓名 string ownerName = names.ContainsKey(c.Ycs_Owner) ? names[c.Ycs_Owner] : ""; string employeesName = string.Join(",", names.Where(s => c.Ycs_Employees.Split(',').Contains(s.Key.ToString())).Select(s => s.Value).ToArray()); string creatorName = names.ContainsKey(c.Ycs_Creator) ? names[c.Ycs_Creator] : ""; string editorName = names.ContainsKey(c.Ycs_Editor) ? names[c.Ycs_Editor] : ""; #endregion 计算姓名 return(new Domain.Dto.Response.DtoCourse { Id = c.Ycs_Id, Name = c.Ycs_Name, CourseType = c.Ycs_CourseType, Grade = c.Ycs_Grade, CoverImage = c.Ycs_CoverImage, LessonCount = c.Ycs_LessonCount, Owner = c.Ycs_Owner, OwnerName = ownerName, Employees = c.Ycs_Employees, EmployeesName = employeesName, ResourceGroupId = c.Ycs_ResourceGroupId, ResourceGroupName = "",//待实现 Description = c.Ycs_Description, SellCount = c.Ycs_SellCount, Status = c.Ycs_Status, PublishTime = c.Ycs_PublishTime, CreateTime = c.Ycs_CreateTime, Creator = c.Ycs_Creator, CreatorName = creatorName, Editor = c.Ycs_Editor, EditorName = editorName }); } else { return(null); } }