예제 #1
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;
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
        /// <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);
            }

        }