public ActionResult ModifyPreOrder(long?orderId, string express, int?deleteTag) { var result = new Result <PreSaleOrder>(); if (orderId.HasValue) { //var preSaleOrder = new PreSaleOrder() {OrderId = orderId.Value, Status = 2}; var preSaleOrder = PreSaleOrderService.GetPreSaleOrder(orderId.Value); preSaleOrder.Status = 2; if (deleteTag.HasValue) { preSaleOrder.DeleteTag = deleteTag.Value; } if (!string.IsNullOrEmpty(express)) { preSaleOrder.ExpressDelivery = express; } var flag = PreSaleOrderService.ModifyPreOrder(preSaleOrder); if (flag) { SMSService.SendSMSPreOrderSendProduct(preSaleOrder.Phone, preSaleOrder.OrderId.ToString()); } result.Data = PreSaleOrderService.GetPreSaleOrder(orderId.Value); result.Status = new Status() { Code = flag?"1":"0", Message = flag?"成功": "失败" }; } return(Content(JsonHelper.ToJson(result), "application/javascript")); }
/// <summary> /// 预售订单列表 /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public ActionResult GetPreSaleOrderlist(DateTime?startTime, DateTime?endTime, long?orderId, string mobile, int?status, int pageIndex = 1, int pageSize = 30) { var predicate = PredicateBuilder.True <PreSaleOrder>(); predicate = predicate.And(p => p.DeleteTag == 0 && p.Status != 0); if (startTime.HasValue && endTime.HasValue) { predicate = predicate.And(p => p.CreateTime >= startTime.Value && p.CreateTime <= endTime.Value); } if (orderId.HasValue) { predicate = predicate.And(p => p.OrderId == orderId.Value); } if (!string.IsNullOrEmpty(mobile)) { predicate = predicate.And(p => p.Phone == mobile); } if (status.HasValue) { predicate = predicate.And(p => p.Status == status.Value); } var data = PreSaleOrderService.GetPreSaleOrderCollection(predicate, p => p.OrderId, "desc", pageIndex, pageSize); return(Content(JsonHelper.ToJson(new { items = data, TotalCount = data.TotalCount, PageIndex = data.PageIndex, PageSize = data.PageSize, PageCount = data.PageCount }), "application/javascript")); }
/// <summary> /// 预售订单列表 /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public ActionResult PreSaleOrderList(int pageIndex = 1, int pageSize = 10) { //前台订单列表只显示支付成功的订单 var result = PreSaleOrderService.GetPreSaleOrderList(p => p.UserId == this.UserInfo.UserId && (p.Status == 1 || p.Status == 2), pageIndex, pageSize); return(View(result)); }
public ActionResult GetExportOrderList(DateTime?startTime, DateTime?endTime, long?orderId, string mobile, int?status) { IWorkbook workbook = new XSSFWorkbook(); ISheet sheet = workbook.CreateSheet("预售订单列表"); var predicate = PredicateBuilder.True <PreSaleOrder>(); predicate = predicate.And(p => p.DeleteTag == 0 && p.Status != 0); if (startTime.HasValue && endTime.HasValue) { predicate = predicate.And(p => p.CreateTime >= startTime.Value && p.CreateTime <= endTime.Value); } if (orderId.HasValue) { predicate = predicate.And(p => p.OrderId == orderId.Value); } if (!string.IsNullOrEmpty(mobile)) { predicate = predicate.And(p => p.Phone == mobile); } if (status.HasValue) { predicate = predicate.And(p => p.Status == status.Value); } var preSaleOrders = PreSaleOrderService.GetPreSaleOrderCollection(predicate, p => p.OrderId, "desc", 1, int.MaxValue); var columnLength = 10; var rowLength = preSaleOrders.Count; //头部 IRow headRow = sheet.CreateRow(0); headRow.CreateCell(0).SetCellValue("预售订单编号"); headRow.CreateCell(1).SetCellValue("手机号"); headRow.CreateCell(2).SetCellValue("产品名称"); headRow.CreateCell(3).SetCellValue("购买数量"); headRow.CreateCell(4).SetCellValue("总价"); headRow.CreateCell(5).SetCellValue("收货地址"); headRow.CreateCell(6).SetCellValue("运单单号"); headRow.CreateCell(7).SetCellValue("订单状态"); headRow.CreateCell(8).SetCellValue("收货人"); headRow.CreateCell(9).SetCellValue("下单时间"); IRow row; ICell cell; for (int i = 0; i < rowLength; i++) { var order = preSaleOrders[i]; row = sheet.CreateRow(i + 1); for (int j = 0; j < columnLength; j++) { cell = row.CreateCell(j); string cellValue = string.Empty; switch (j) { case 0: cellValue = order.OrderId.ToString(); sheet.SetColumnWidth(j, 256 * 20); break; case 1: cellValue = order.Phone; sheet.SetColumnWidth(j, 256 * 15); break; case 2: cellValue = order.PreSaleProduct.Name; sheet.SetColumnWidth(j, 256 * 10); break; case 3: cellValue = order.Count.ToString(); sheet.SetColumnWidth(j, 256 * 20); break; case 4: cellValue = order.TotalMoney.ToString(); sheet.SetColumnWidth(j, 256 * 15); break; case 5: cellValue = order.Area.FullName + order.Address; sheet.SetColumnWidth(j, 256 * 20); break; case 6: cellValue = order.ExpressDelivery; break; case 7: cellValue = order.StatusDesc; break; case 8: cellValue = order.Receiver; break; case 9: cellValue = order.CreateTime.ToString(); break; } cell.SetCellValue(cellValue); } } var fileName = string.Format("预售订单-{0}.xlsx", DateTime.Now.ToString("yyyyMMddhhmmss")); MemoryStream stream = new MemoryStream(); workbook.Write(stream); return(File(stream.ToArray(), "application/vnd.ms-excel", fileName)); }
public ActionResult SubmitPreSaleOrder(PreSaleOrderViewModel preSaleOrderViewModel) { var jsonResult = new JsonResult(); if (!string.IsNullOrEmpty(preSaleOrderViewModel.InviteCode)) { preSaleOrderViewModel.InviteCode = preSaleOrderViewModel.InviteCode.Replace(" ", ""); } var preSaleOrder = new PreSaleOrder { OrderId = preSaleOrderViewModel.OrderId,//OrderService.GetNewOrderId(), UserId = this.UserInfo.UserId, ProductId = preSaleOrderViewModel.PreSaleProduct.ProductId, Price = preSaleOrderViewModel.PreSaleProduct.Price, Count = preSaleOrderViewModel.Count, ProvinceId = preSaleOrderViewModel.ProvinceId, CityId = preSaleOrderViewModel.CityId, Code = preSaleOrderViewModel.AreaId, Address = preSaleOrderViewModel.Address, Status = 0, CreateTime = DateTime.Now, Receiver = preSaleOrderViewModel.UserName, Phone = preSaleOrderViewModel.Phone, TotalMoney = preSaleOrderViewModel.Count * preSaleOrderViewModel.PreSaleProduct.Price, ExpressDelivery = string.Empty, InviteCode = preSaleOrderViewModel.InviteCode }; var result = PreSaleOrderService.SubmitPreSaleOrder(preSaleOrder); if (result > 0) { #region 微信支付所需数据计算 var timeStamp = TenPayV3Util.GetTimestamp(); var nonceStr = TenPayV3Util.GetNoncestr(); var openId = this.UserInfo.WxOpenId; var pre_id = WeixinPay.WeixinPayApi.Unifiedorder(preSaleOrderViewModel.PreSaleProduct.Name, preSaleOrder.OrderId, preSaleOrder.Price * preSaleOrder.Count, Request.UserHostAddress, openId); if (pre_id == "ERROR" || pre_id == "FAIL") { return(Content("ERROR")); } var package = "prepay_id=" + pre_id; var req = new RequestHandler(null); req.SetParameter("appId", AppId); req.SetParameter("timeStamp", timeStamp); req.SetParameter("nonceStr", nonceStr); req.SetParameter("package", package); req.SetParameter("signType", "MD5"); var paySign = req.CreateMd5Sign("key", PayKey); #endregion preSaleOrderViewModel.NonceStr = nonceStr; preSaleOrderViewModel.TimeStamp = timeStamp; preSaleOrderViewModel.Package = package; preSaleOrderViewModel.AppId = AppId; preSaleOrderViewModel.PaySign = paySign; } else { preSaleOrderViewModel.OrderId = 0; } jsonResult.Data = preSaleOrderViewModel; return(jsonResult); }
public ContentResult WexinPayNotify() { ResponseHandler resHandler = new ResponseHandler(null); string return_code = resHandler.GetParameter("return_code"); string return_msg = resHandler.GetParameter("return_msg"); resHandler.SetKey(PayKey); string res = null; //TODO:这里需要验证签名 ////验证请求是否从微信发过来(安全) //logger.Info("IsTenpaySign:" + resHandler.IsTenpaySign()); if (resHandler.IsTenpaySign()) { try { //订单处理 if (return_code.ToLower() == "SUCCESS".ToLower()) { string out_trade_no = resHandler.GetParameter("out_trade_no"); long orderId = 0; if (!string.IsNullOrEmpty(out_trade_no)) { orderId = Convert.ToInt64(out_trade_no); } logger.Info("orderId:" + orderId + "|out_trade_no=" + out_trade_no); //判断老订单和预售订单 var flag = OrderService.CheckOrderExist(orderId); if (flag) { OrderService.UpdateOrderPay(new OrderPayModel() { OrdeId = orderId, //long.Parse(resHandler.GetParameter("out_trade_no")), Status = OrderStatus.Paid.GetHashCode() }); } else { PreSaleOrderService.ModifyPreOrder(new PreSaleOrder() { OrderId = orderId, Status = 1 }); var preOrder = PreSaleOrderService.GetPreSaleOrder(orderId); var mobile = preOrder.Phone; SMSService.SendSMSPreOrderCreated(mobile, "12月19日"); } } res = "SUCCESS"; } catch (Exception e) { logger.Error("微信支付回调错误:" + e); res = "FAIL"; } string xml = string.Format(@"<xml><return_code><![CDATA[{0}]]></return_code><return_msg><![CDATA[{1}]]></return_msg></xml>", res, return_msg); return(Content(xml, "text/xml")); } else { return(Content("")); } }