Ejemplo n.º 1
0
        public JsonResult GetById([FromForm] int courseId)
        {
            DataResult dr = new DataResult();

            try
            {
                CourseBLL    courseBLL    = new CourseBLL();
                CourseEntity courseEntity = courseBLL.GetById(courseId);
                courseEntity.videoUrl = "";

                TeacherBLL teacherBLL = new TeacherBLL();
                courseEntity.teacherEntity = teacherBLL.GetById(courseEntity.teacherId);

                CourseOrderBLL courseOrderBLL = new CourseOrderBLL();
                courseEntity.countSold = courseOrderBLL.GetCountByCourseId(courseEntity.courseId);

                dr.code = "200";
                dr.data = courseEntity;
            }
            catch (Exception ex)
            {
                dr.code = "999";
                dr.msg  = ex.Message;
            }

            return(Json(dr));
        }
Ejemplo n.º 2
0
        public JsonResult PageList([FromForm] string token, [FromForm] int courseTypeId = -1, [FromForm] int pageNumber = 1, [FromForm] int pageSize = 10)
        {
            DataResult dr = new DataResult();

            try
            {
                CourseBLL courseBLL = new CourseBLL();

                int totalItemCount = courseBLL.Count(courseTypeId);
                List <CourseEntity> courseEntities = courseBLL.List(courseTypeId, pageNumber: pageNumber, pageSize: pageSize, totalCount: totalItemCount);

                if (courseEntities.Count > 0)
                {
                    CourseOrderBLL courseOrderBLL = new CourseOrderBLL();
                    courseEntities.ForEach(it =>
                    {
                        it.countSold = courseOrderBLL.GetCountByCourseId(it.courseId);
                    });
                }

                PageData pageData = new PageData(courseEntities, pageNumber, pageSize, totalItemCount);

                dr.code = "200";
                dr.data = pageData;
            }
            catch (Exception ex)
            {
                dr.code = "999";
                dr.msg  = ex.Message;
            }

            return(Json(dr));
        }
Ejemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <returns></returns>
        private bool Notify_PaySucceed(object sender, PaySucceedEventArgs e)
        {
            if (e.GatewayType == typeof(PaySharp.Wechatpay.WechatpayGateway))
            {
                var alipayNotifyResponse = (NotifyResponse)e.NotifyResponse;

                //校验订单信息
                string payNO      = alipayNotifyResponse.TradeNo;                //微信订单号
                string orderNO    = alipayNotifyResponse.OutTradeNo;             //商户订单号
                string orderTotal = alipayNotifyResponse.TotalAmount.ToString(); //订单金额
                string payDate    = alipayNotifyResponse.TimeEnd;                //支付完成时间

                CourseOrderBLL    courseOrderBLL    = new CourseOrderBLL();
                CourseOrderEntity courseOrderEntity = courseOrderBLL.GetByOrderNO(orderNO);

                //校验订单是否存在
                if (courseOrderEntity == null)
                {
                    return(false);
                }

                if (courseOrderEntity.orderTotal * 100 == Convert.ToDecimal(orderTotal))
                {
                    //2.更新订单的相关状态
                    if (courseOrderEntity.state == 1)
                    {
                        courseOrderEntity.payNo      = payNO;
                        courseOrderEntity.payDate    = DateTime.ParseExact(payDate, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
                        courseOrderEntity.state      = 2;
                        courseOrderEntity.modifyDate = DateTime.Now;
                        courseOrderEntity.realTotal  = Convert.ToDecimal(orderTotal) / 100;
                        courseOrderEntity.payChannel = "微信支付-APP";
                        int rows = courseOrderBLL.ActionDal.ActionDBAccess.Updateable(courseOrderEntity).ExecuteCommand();

                        //3.返回一个xml格式的结果给微信服务器
                        if (rows > 0)
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            //处理成功返回true
            return(false);
        }
Ejemplo n.º 4
0
        public JsonResult List([FromForm] string token)
        {
            DataResult dr = new DataResult();

            try
            {
                CourseRecommendBLL           courseRecommendBLL      = new CourseRecommendBLL();
                CourseBLL                    courseBLL               = new CourseBLL();
                CourseOrderBLL               courseOrderBLL          = new CourseOrderBLL();
                List <CourseRecommendEntity> courseRecommendEntities = courseRecommendBLL.ActionDal.ActionDBAccess.Queryable <CourseRecommendEntity>().ToList();

                courseRecommendEntities.ForEach(it =>
                {
                    List <int> vs = courseRecommendBLL.ActionDal.ActionDBAccess.Queryable <CourseRecommendCorrelationEntity>()
                                    .Where(itt => itt.courseRecommendId == it.courseRecommendId)
                                    .Select(itt => itt.courseId)
                                    .ToList();
                    if (vs.Count > 0)
                    {
                        it.courseEntities = courseBLL.ListByIdInts(vs);
                    }

                    if (it.courseEntities.Count > 0)
                    {
                        it.courseEntities.ForEach(i =>
                        {
                            i.countSold = courseOrderBLL.GetCountByCourseId(i.courseId);
                        });
                    }
                });

                dr.code = "200";
                dr.data = courseRecommendEntities;
            }
            catch (Exception ex)
            {
                dr.code = "999";
                dr.msg  = ex.Message;
            }

            return(Json(dr));
        }
Ejemplo n.º 5
0
        public JsonResult GetDetailById([FromForm] string token, [FromForm] int courseId)
        {
            DataResult dr = new DataResult();

            try
            {
                UserEntity        userEntity        = this.GetUserByToken(token);
                CourseOrderBLL    courseOrderBLL    = new CourseOrderBLL();
                CourseOrderEntity courseOrderEntity = courseOrderBLL.GetByCourseAndUserId(courseId, userEntity.userId);

                if (courseOrderEntity == null)
                {
                    dr.code = "201";
                    dr.msg  = "未购买该课程";
                    return(Json(dr));
                }

                CourseBLL    courseBLL    = new CourseBLL();
                CourseEntity courseEntity = courseBLL.GetById(courseId);

                CourseSectionBLL courseSectionBLL = new CourseSectionBLL();
                courseEntity.courseSectionEntities = courseSectionBLL.ListByCourseId(courseId);

                TeacherBLL teacherBLL = new TeacherBLL();
                courseEntity.teacherEntity = teacherBLL.GetById(courseEntity.teacherId);

                courseEntity.countSold = courseOrderBLL.GetCountByCourseId(courseEntity.courseId);

                dr.code = "200";
                dr.data = courseEntity;
            }
            catch (Exception ex)
            {
                dr.code = "999";
                dr.msg  = ex.Message;
            }

            return(Json(dr));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 处理结果通知
        /// </summary>
        /// <param name="strXml"></param>
        /// <returns></returns>
        public static string CourseNotify(string strXml)
        {
            string strResult = string.Empty;

            //判断是否请求成功
            if (PayHelper.GetXmlValue(strXml, "return_code") == "SUCCESS")
            {
                //判断是否支付成功
                if (PayHelper.GetXmlValue(strXml, "result_code") == "SUCCESS")
                {
                    //获得签名
                    string getSign = PayHelper.GetXmlValue(strXml, "sign");

                    //进行签名
                    string sign = PayHelper.GetSignInfo(PayHelper.GetFromXml(strXml));
                    if (sign == getSign)
                    {
                        //校验订单信息
                        string payNO      = PayHelper.GetXmlValue(strXml, "transaction_id"); //微信订单号
                        string orderNO    = PayHelper.GetXmlValue(strXml, "out_trade_no");   //商户订单号
                        string orderTotal = PayHelper.GetXmlValue(strXml, "total_fee");      //订单金额
                        string payDate    = PayHelper.GetXmlValue(strXml, "time_end");       //支付完成时间

                        CourseOrderBLL    courseOrderBLL    = new CourseOrderBLL();
                        CourseOrderEntity courseOrderEntity = courseOrderBLL.GetByOrderNO(orderNO);
                        //校验订单是否存在
                        if (courseOrderEntity.orderTotal * 100 == Convert.ToDecimal(orderTotal))
                        {
                            //2.更新订单的相关状态
                            if (courseOrderEntity.state == 1)
                            {
                                courseOrderEntity.payNo      = payNO;
                                courseOrderEntity.payDate    = DateTime.ParseExact(payDate, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
                                courseOrderEntity.state      = 2;
                                courseOrderEntity.modifyDate = DateTime.Now;
                                courseOrderEntity.realTotal  = Convert.ToDecimal(orderTotal) / 100;
                                courseOrderEntity.payChannel = "微信支付-APP";
                                int rows = courseOrderBLL.ActionDal.ActionDBAccess.Updateable(courseOrderEntity).ExecuteCommand();

                                //3.返回一个xml格式的结果给微信服务器
                                if (rows > 0)
                                {
                                    strResult = PayHelper.GetReturnXml("SUCCESS", "OK");
                                }
                                else
                                {
                                    strResult = PayHelper.GetReturnXml("FAIL", "订单状态更新失败");
                                }
                            }
                            else
                            {
                                strResult = PayHelper.GetReturnXml("SUCCESS", "OK");
                            }
                        }
                        else
                        {
                            strResult = PayHelper.GetReturnXml("FAIL", "支付结果中微信订单号数据库不存在!");
                        }
                    }
                    else
                    {
                        strResult = PayHelper.GetReturnXml("FAIL", "签名不一致!");
                    }
                }
                else
                {
                    strResult = PayHelper.GetReturnXml("FAIL", "支付通知失败!");
                }
            }
            else
            {
                strResult = PayHelper.GetReturnXml("FAIL", "支付通知失败!");
            }

            return(strResult);
        }
Ejemplo n.º 7
0
 /// <summary>
 ///
 /// </summary>
 public CourseOrderController(IGateways gateways)
 {
     courseOrderBLL = new CourseOrderBLL();
     _gateway       = gateways.Get <WechatpayGateway>();
 }