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)); }
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)); }
/// <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); }
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)); }
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)); }
/// <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); }
/// <summary> /// /// </summary> public CourseOrderController(IGateways gateways) { courseOrderBLL = new CourseOrderBLL(); _gateway = gateways.Get <WechatpayGateway>(); }