public void PayOrder() { decimal amount = 0; string orderNo = ""; StudentOrderBll bll = new StudentOrderBll(); List <Task> ts = new List <Task>(); bll.OrderPay(10002, 10002, new int[2] { 10000, 10002 }, CashPayTypeEnum.微信, out amount, out orderNo); for (int index = 10101; index <= 10150; index++) { //if (index % 2 == 0) //{ // ts.Add(Task.Factory.StartNew<int>(() => // { // return bll.OrderPay(10000, 10000, new int[3] { 10000, 10001, 10002 }, CashPayTypeEnum.微信); // })); //} //else //{ var x = index; ts.Add(Task.Factory.StartNew(() => { bll.OrderPay(x, x, new int[3] { 10000, 10001, 10002 }, CashPayTypeEnum.微信, out amount, out orderNo); })); //} } Task.WaitAll(ts.ToArray()); //bll.OrderPay(10000, 10000, new int[3] { 10000, 10001, 10002 }, CashPayTypeEnum.微信); }
/// <summary> /// 订单详情页-付款页 /// 如果订单超时未支付,再次购买时,不用考虑上个订单是不是从点击广告来的。 /// </summary> /// <param name="id">订单Id</param> /// <returns></returns> public ActionResult Payment(int id = 0) { if (id == 0) { //跳转到订单列表页 return(RedirectToAction("OwnOrderList")); } int studentId = GetCurrentUser().StudentId; StudentOrderBll studentOrderBll = new StudentOrderBll(); DtoSelectCenterOrderResult courseOrderResult = studentOrderBll.GetOrderInfoForPayment(studentId, id); if (courseOrderResult.OrderStatus.Equals((int)StudentOrderStatus.待支付) || courseOrderResult.OrderStatus.Equals((int)StudentOrderStatus.支付中)) { PaymentViewModel model = courseOrderResult.ConvertTo <PaymentViewModel>(); if (string.IsNullOrEmpty(model.CourseImage)) { model.CourseImage = defaultCourseImg; } return(View(model)); } else { return(RedirectToAction("OrderDetail", new { id = courseOrderResult.OrderId })); } }
public void PatOrderCallBack() { decimal amount = 0; string orderNo = ""; StudentOrderBll bll = new StudentOrderBll(); //bll.OrderPayCallback("1190917134811234", CashPayTypeEnum.微信,2800); List <Task> ts = new List <Task>(); // var x=bll.OrderPay(10101, 10101, new int[3] { 10000, 10001, 10002 }, CashPayTypeEnum.微信,out amount,out orderNo); for (int index = 10101; index <= 10150; index++) { //if (index % 2 == 0) //{ // ts.Add(Task.Factory.StartNew<int>(() => // { // return bll.OrderPay(10000, 10000, new int[3] { 10000, 10001, 10002 }, CashPayTypeEnum.微信); // })); //} //else //{ var x = index; ts.Add(Task.Factory.StartNew <decimal>(() => { return(0); //return bll.OrderPayCallback(x, CashPayTypeEnum.微信,2700); })); //} } Task.WaitAll(ts.ToArray()); //StudentOrderBll bll = new StudentOrderBll(); //bll.OrderPayCallback(10003, CashPayTypeEnum.微信); }
/// <summary> /// 获取支付二维码 /// </summary> /// <param name="orderId">订单Id</param> /// <param name="voucherIds">支付使用的优惠券Id</param> /// <param name="paytype">支付渠道(支付宝、微信)</param> /// <returns></returns> public JsonResult GetWechatPayQR(int orderId = 0, int[] voucherIds = null, int paytype = 1) { int studentId = 0; string ip = ""; //当前登录用户 LoginInfo studentInfo = GetCurrentUser(); if (studentInfo != null) { studentId = studentInfo.StudentId; ip = studentInfo.LastLoginIP; } StudentOrderBll studentOrderBll = new StudentOrderBll(); DtoPreOrderPay response = studentOrderBll.PreOrderPay(orderId, studentId, voucherIds, ip, paytype); return(Json(new JsonResponse <dynamic> { State = response.State, ErrorCode = 0, ErrorMsg = response.ErrorMsg, Data = new { QR = response.Base64Img, IsFreeOrder = response.IsFreeOrder } }, JsonRequestBehavior.AllowGet)); }
private void SaveLog(Yw_PayLog log) { if (log != null) { StudentOrderBll orderBll = new StudentOrderBll(); orderBll.PayLog(log); } }
public void OrderQueryTest() { StudentOrderBll bll = new StudentOrderBll(); int orderId = 10227; int studentId = 10001; bll.OrderQuery(orderId, CashPayTypeEnum.微信, studentId); }
public void CancelOrderTest() { StudentOrderBll bll = new StudentOrderBll(); bll.CancelOrder(10208); //string no=bll.GenerateOrderNo(10000, 10001); //Yw_StudentOrder order = bll.GetStudentOrder("1190917134810000"); }
/// <summary> /// 订单详情页 /// </summary> /// <param name="id">订单Id</param> /// <returns></returns> public ActionResult OrderDetail(int id = 0) { if (id == 0) { //跳转到订单列表页 return(RedirectToAction("OwnOrderList")); } int studentId = GetCurrentUser().StudentId; StudentOrderBll studentOrderBll = new StudentOrderBll(); DtoSelectCenterOrderResult courseOrderResult = studentOrderBll.GetOrderInfoForDetail(studentId, id); OrderDetailViewModel model = courseOrderResult.ConvertTo <OrderDetailViewModel>(); decimal?baseVoucherAmount = model.OrderVoucherPayList?.FirstOrDefault(v => v.PayType != (int)StudentOrderPaymnentTypeEnum.优惠券_校区券_支付)?.Amount; model.BaseVoucherAmount = baseVoucherAmount.HasValue ? baseVoucherAmount.Value : 0; decimal?schoolVoucherAmount = model.OrderVoucherPayList?.FirstOrDefault(v => v.PayType == (int)StudentOrderPaymnentTypeEnum.优惠券_校区券_支付)?.Amount; model.SchoolVoucherAmount = schoolVoucherAmount.HasValue ? schoolVoucherAmount.Value : 0; //防止用户未点击支付按钮,订单表没计算应付金额 if (model.PayAmount == 0) { model.PayAmount = model.OrderAmount - model.BaseVoucherAmount - model.SchoolVoucherAmount; model.PayAmount = model.PayAmount > 0 ? model.PayAmount : 0; } if (model.OrderStatus == (int)StudentOrderStatus.待支付 || model.OrderStatus == (int)StudentOrderStatus.支付中 || model.OrderStatus == (int)StudentOrderStatus.已支付) { model.IsHaveThisCourse = true; } else { //查询用户是否已购买此课程 var oriOrder = studentOrderBll.GetFinishOrder(studentId, model.CourseId); if (oriOrder != null && oriOrder.Yod_Id > 0) { model.IsHaveThisCourse = true; } else { model.IsHaveThisCourse = false; } } StudentInfoBll studentInfoBll = new StudentInfoBll(); DtoStudentInfo student = studentInfoBll.GetStudentInfo(studentId); Regex regex = new Regex(@"(\d{3})\d{4}(\d{4})"); model.StudentAccount = regex.Replace(student.Bst_Phone, "$1****$2"); model.SchoolName = student.SchoolName; if (string.IsNullOrEmpty(model.CourseImage)) { model.CourseImage = defaultCourseImg; } return(View(model)); }
public void OrderPayTest() { StudentOrderBll bll = new StudentOrderBll(); decimal amount = 0; string orderNo = ""; bll.OrderPay(10225, 10013, new int[1] { 10020 }, CashPayTypeEnum.微信, out amount, out orderNo); }
public JsonResult OrderQuery(int orderId, CashPayTypeEnum payType) { //当前登录用户 LoginInfo studentInfo = GetCurrentUser(); StudentOrderBll studentOrderBll = new StudentOrderBll(); bool result = studentOrderBll.OrderQuery(orderId, payType, studentInfo.StudentId); return(Json(new JsonResponse <bool> { State = true, ErrorCode = 0, ErrorMsg = "", Data = result }, JsonRequestBehavior.AllowGet)); }
public WechatPayNotifyResponse PayNotify(string xmlContent) { WechatPayNotifyResponse response = new WechatPayNotifyResponse(); Yw_PayLog log = new Yw_PayLog(); try { BeginLog(log, 0, "", PayLogStepEnum.微信支付回调, xmlContent); Dictionary <string, string> notify = ParseXml(xmlContent); response.IsSuccess = false; response.ReturnCode = notify.ContainsKey("return_code") ? notify["return_code"] : ""; response.ReturnMsg = notify.ContainsKey("return_msg") ? notify["return_msg"] : ""; response.AppId = notify.ContainsKey("appid") ? notify["appid"] : ""; response.MchId = notify.ContainsKey("mch_id") ? notify["mch_id"] : ""; response.ResultCode = notify.ContainsKey("result_code") ? notify["result_code"] : ""; response.ErrCode = notify.ContainsKey("err_code") ? notify["err_code"] : ""; response.ErrCodeDes = notify.ContainsKey("err_code_des") ? notify["err_code_des"] : ""; response.TradeType = notify.ContainsKey("trade_type") ? notify["trade_type"] : ""; response.OpenId = notify.ContainsKey("openid") ? notify["openid"] : ""; response.TotalFee = int.Parse(notify["total_fee"]); response.TransactionId = notify.ContainsKey("transaction_id") ? notify["transaction_id"] : ""; response.OutTradeNo = notify.ContainsKey("out_trade_no") ? notify["out_trade_no"] : ""; BeginLog(log, 0, response.OutTradeNo, PayLogStepEnum.微信支付回调, xmlContent); if (CheckSign(notify)) { if (response.ReturnCode == "SUCCESS" && response.ResultCode == "SUCCESS") { StudentOrderBll bll = new StudentOrderBll(); bll.OrderPayCallback(response.OutTradeNo, response.TransactionId, CashPayTypeEnum.微信, (decimal)(response.TotalFee * 1.0 / 100)); response.IsSuccess = true; EndLog(log, "Success", 1); SaveLog(log); } return(response); } throw new AbhsException(ErrorCodeEnum.WechatPayNotifyError, AbhsErrorMsg.ConstWechatPayNotifyError, 0); } catch (Exception ex) { EndLog(log, "Fail," + ex.Message + "|" + ex.StackTrace, 0); SaveLog(log); throw; } }
/// <summary> /// 学生下单(课程详情页点击立即购买) /// </summary> /// <param name="id">课程Id</param> /// <returns></returns> public ActionResult MakeOrder(int id = 0, int aid = 0) { //生成订单,如果生成成功,跳转到订单页 int studentId = GetCurrentUser().StudentId; StudentOrderBll studentOrderBll = new StudentOrderBll(); int orderId = studentOrderBll.MakeOrder(studentId, id); try { System.Threading.Tasks.Task.Factory.StartNew(() => { AdvertisingBll advertisingBll = new AdvertisingBll(); advertisingBll.SendOrderMessage(aid); }); } catch (Exception) { } return(RedirectToAction("Payment", new { id = orderId })); }
public ActionResult GetStudentOrder(int pageIndex, int status = 1) { StudentOrderBll studentOrderBll = new StudentOrderBll(); var device = ""; device = clsCommon.CheckAgent(); PagingObject paging = new PagingObject(); paging.PageIndex = pageIndex; paging.PageSize = 7; //if (device.Contains("iPad")) //{ // paging.PageSize = 6; //} //else //{ // paging.PageSize = 7; //} var studentOrder = studentOrderBll.GetStudentOrderByStudentId(paging, GetCurrentUser().StudentId); var viewModels = studentOrder.ConvertTo <List <StudentOrderViewModel> >(); return(Json(new { Data = viewModels, PageSize = paging.PageSize, TotalRecord = paging.TotalCount }, JsonRequestBehavior.AllowGet)); }
public ContentResult WechatPayNotify() { //接收从微信后台POST过来的数据 System.IO.Stream s = Request.InputStream; int count = 0; byte[] buffer = new byte[1024]; StringBuilder builder = new StringBuilder(); while ((count = s.Read(buffer, 0, 1024)) > 0) { builder.Append(Encoding.UTF8.GetString(buffer, 0, count)); } s.Flush(); s.Close(); s.Dispose(); LogHelper.WriteLog("微信支付通知数据 : " + builder.ToString()); StudentOrderBll studentOrderBll = new StudentOrderBll(); string result = studentOrderBll.WechatOrderPayNotify(builder.ToString()); LogHelper.WriteLog("微信支付通知处理结果 : " + result); return(Content(result)); }
public void MakeOrderTest() { StudentOrderBll bll = new StudentOrderBll(); bll.MakeOrder(10013, 10018); }
public void OrderPayCallbackTest() { StudentOrderBll bll = new StudentOrderBll(); bll.OrderPayCallback("611003114584610026211", "1004400740201409030005092168", CashPayTypeEnum.微信, 500); }
public override void Run(DateTime now) { StudentOrderBll orderBll = new StudentOrderBll(); orderBll.CancelOrderAuto(); }
public void CancelOrderAutoTest() { StudentOrderBll bll = new StudentOrderBll(); bll.CancelOrderAuto(); }