/// <summary> /// 修改订单 /// </summary> /// <param name="openId"></param> /// <param name="transaction_id"></param> /// <param name="tbl_Order"></param> private void UpdateOrder(Tbl_Order tbl_Order, string transaction_id) { tbl_Order.OrderStatus = (int)OrderStatusType.Success; tbl_Order.PayTime = DateTime.Now;//付款时间 tbl_Order.PayTradeNo = transaction_id; _orderRepository.Update(tbl_Order); }
/// <summary> /// 创建订单 /// </summary> /// <param name="order"></param> /// <returns></returns> public Tbl_Order AddOrderForNoPay(OrderInfoModel order) { //创建订单号 string orderNo = OrderHelper.GenerateOrderNo(); //订单 Tbl_Order list = new Tbl_Order { OrderNo = orderNo, TicketSource = order.TicketSource, PayType = order.PayType, PayAccount = "", PayTradeNo = "", SellerId = 0, Price = 0, Linkman = order.Linkman, Mobile = order.Mobile, OrderStatus = (int)OrderDataStatus.NoPay, CreateTime = DateTime.Now, ValidityDateStart = order.ValidityDate, ValidityDateEnd = order.ValidityDate, UsedQuantity = 0, Remark = "TVM购票", IDCard = "", CreateUserId = 0, OrderType = 0, OTABusinessName = "", GroupWay = 0 }; return(list); }
/// <summary> /// 创建订单详情 /// </summary> /// <param name="order"></param> /// <param name="tbl_Order"></param> /// <returns></returns> public List <Tbl_OrderDetail> AddOrderDetail(OrderInfo order, Tbl_Order tbl_Order) { List <Tbl_OrderDetail> orderDetails = new List <Tbl_OrderDetail>(); orderDetails.AddRange(addQrCodeTicketOrderDetail(order, tbl_Order)); return(orderDetails); }
/// <summary> /// 创建订单 /// </summary> /// <param name="orderCreateDto"></param> /// <returns></returns> private Tbl_Order AddOrderForRecharge(OrderRechargeDto orderRechargeDto) { //创建订单号 string orderNo = OrderHelper.GenerateOrderNo(); //订单 Tbl_Order tbl_Order = new Tbl_Order { OrderNo = orderNo, OpenId = orderRechargeDto.OpenId, TicketName = "充值", TotalAmount = orderRechargeDto.Amount, PayType = (int)PayType.Wechat, OrderStatus = (int)OrderStatusType.NoPay, ValidityDateStart = DateTime.Now, ValidityDateEnd = DateTime.Now, OrderType = (int)OrderType.Recharge, CreateTime = DateTime.Now, BookCount = 1, Linkman = "", Mobile = "", TicketSource = 1, PayAccount = "", PayTradeNo = "", SellerId = 0, Price = 0, UsedQuantity = 0, Remark = "", IDCard = "", CreateUserId = 0, }; _orderRepository.Add(tbl_Order); return(tbl_Order); }
/// <summary> /// 修改用户余额--余额充值 /// </summary> /// <param name="tbl_Order"></param> public void UpdateForBalanceRecharge(Tbl_Order tbl_Order) { var tbl_WeiXin_User = GetByOpenId(tbl_Order.OpenId); if (tbl_WeiXin_User != null) { tbl_WeiXin_User.Balance += tbl_Order.TotalAmount; _weiXinUserRepository.Update(tbl_WeiXin_User); } }
/// <summary> /// 从统一下单成功返回的数据中获取微信浏览器调起jsapi支付所需的参数 /// 门票支付 /// </summary> /// <returns></returns> public string PayOrderForTicket(Tbl_Order tbl_Order) { return(_paymentGateway.PayOrder(new PayRequest { Body = "[兄弟连] 购买门票支付", OpenId = tbl_Order.OpenId, OutTradeNo = tbl_Order.OrderNo, TotalFee = tbl_Order.TotalAmount })); }
/// <summary> /// 再次支付 /// </summary> /// <param name="orderCreateDto"></param> /// <returns></returns> public OrderCreateViewDto PayAgain(Tbl_Order tbl_Order) { var jsApiParameters = _wxPayService.PayOrderForTicket(tbl_Order); return(new OrderCreateViewDto { OrderNo = tbl_Order.OrderNo, JsApiParameters = jsApiParameters }); }
/// <summary> /// 添加用户积分--微信消费 /// </summary> /// <param name="tbl_Order"></param> public void AddForWechatConsumption(Tbl_Order tbl_Order) { AddIntegral(new IntegralDetailsCreateDto { OpenId = tbl_Order.OpenId, Amount = tbl_Order.TotalAmount, Name = "购买景区门票", Type = IntegralType.Consumption, PayType = PayType.Wechat }); }
/// <summary> /// 添加用户积分--充值 /// </summary> /// <param name="tbl_Order"></param> public void AddForRecharge(Tbl_Order tbl_Order) { AddIntegral(new IntegralDetailsCreateDto { OpenId = tbl_Order.OpenId, Amount = tbl_Order.TotalAmount, Name = "购买景区门票", Type = IntegralType.Recharge, PayType = PayType.Balance }); }
/// <summary> /// 余额支付 返回订单号 /// </summary> /// <param name="orderCreateDto"></param> /// <returns></returns> public string BalancePay(OrderCreateDto orderCreateDto) { var tbl_Order = new Tbl_Order(); //余额支付 using (var unitOfWork = new UnitOfWork()) { tbl_Order = _orderService.BalancePay(orderCreateDto); unitOfWork.Commit(); } return(tbl_Order.OrderNo); }
/// <summary> /// 修改订单--小径平台 /// </summary> /// <param name="tbl_Order"></param> /// <param name="request"></param> public void UpdateOrder(Tbl_Order tbl_Order, XJ_Order request) { var person = request.ContactPerson; tbl_Order.IDType = GetIdCardType(person.CardType); tbl_Order.IDCard = person.CardNo; tbl_Order.Mobile = person.Mobile; tbl_Order.Linkman = person.Name; tbl_Order.ValidityDateStart = request.VisitDate; tbl_Order.ValidityDateEnd = request.VisitDate; _orderRepository.Update(tbl_Order); }
/// <summary> /// 修改订单 /// </summary> /// <param name="tbl_Order"></param> /// <param name="request"></param> public void UpdateOrder(Tbl_Order tbl_Order, OrderUpdateRequest request) { var person = request.Body.OrderInfo.ContactPerson; tbl_Order.IDType = GetIdCardType(person.CardType); tbl_Order.IDCard = person.CardNo; tbl_Order.Mobile = person.Mobile; tbl_Order.Linkman = person.Name; tbl_Order.ValidityDateStart = request.Body.OrderInfo.VisitDate.ToDataTime(); tbl_Order.ValidityDateEnd = request.Body.OrderInfo.VisitDate.ToDataTime(); _orderRepository.Update(tbl_Order); }
/// <summary> /// 创建单个产品订单详情 /// </summary> /// <param name="order"></param> /// <param name="tbl_Order"></param> /// <returns></returns> public Tbl_OrderDetail AddOrderDetail(OrderSingleInfo order, Tbl_Order tbl_Order, Tbl_Ticket tbl_Ticket) { var ticketRule = _ticketRuleRepository.FirstOrDefault(a => a.Id == tbl_Ticket.RuleId); //二维码票: 每种门票 一个订单详情,多个数量 Tbl_OrderDetail tbl_OrderDetail = new Tbl_OrderDetail { Number = Guid.NewGuid(), OrderNo = tbl_Order.OrderNo, EnterpriseId = tbl_Ticket.EnterpriseId, ScenicId = tbl_Ticket.ScenicId, WindowId = 0, SellerId = 0, SellerType = 1, OtaOrderDetailId = 0, OrderSource = (int)OrderSource.OTA, TicketSource = (int)TicketSourceStatus.Ota, TicketCategory = (int)TicketCategoryStatus.QrCodeElectronTicket, UsedQuantity = 0, TicketId = tbl_Ticket.TicketId, TicketName = tbl_Ticket.TicketName, Price = tbl_Ticket.SalePrice, SettlementPrice = tbl_Ticket.SettlementPrice, Quantity = order.Ticket.Quantity, BarCode = "", Stub = "", CertificateNO = "", OrderStatus = (int)OrderDetailsDataStatus.NoPay, CreateTime = DateTime.Now, ValidityDateStart = order.VisitDate.ToDataTime(), ValidityDateEnd = order.VisitDate.ToDataTime(), PrintCount = 0, QRcodeUrl = "", QRcode = "", Mobile = order.ContactPerson.Mobile, IDCard = tbl_Order.IDCard, Linkman = order.ContactPerson.Name, CanModify = ticketRule.CanModify, CanRefund = ticketRule.CanRefund }; UpdateOrderDetailRefundTimeAndModifyTime(order.VisitDate.ToDataTime(), tbl_Ticket, tbl_OrderDetail, ticketRule); //修改订单信息 tbl_Order.EnterpriseId = tbl_OrderDetail.EnterpriseId; tbl_Order.ScenicId = tbl_OrderDetail.ScenicId; tbl_Order.TicketName = tbl_OrderDetail.TicketName; tbl_Order.TotalAmount = tbl_Ticket.SalePrice * order.Ticket.Quantity; tbl_Order.BookCount = order.Ticket.Quantity; return(tbl_OrderDetail); }
/// <summary> /// 添加订单出行通知 /// </summary> /// <param name="tbl_Order"></param> /// <param name="tbl_OrderDetail"></param> /// <param name="business"></param> public void Add(Tbl_Order tbl_Order, Tbl_OTABusiness business) { var tbl_OrderTravelNotice = new Tbl_OrderTravelNotice { SequenceId = DateTime.Now.ToString("yyyyMMdd") + Guid.NewGuid().ToString("N"), ScenicId = tbl_Order.ScenicId, IdentityKey = business.IdentityKey, OrderNo = tbl_Order.OrderNo, OtaOrderId = tbl_Order.OTAOrderNo, RunCount = 0, CreateTime = DateTime.Now }; _orderTravelNoticeRepository.Add(tbl_OrderTravelNotice); }
/// <summary> /// 更新用户余额--余额支付 /// </summary> /// <param name="tbl_WeiXin_User"></param> /// <param name="amount"></param> public void UpdateForBalancePay(Tbl_Order tbl_Order) { var tbl_WeiXin_User = GetByOpenId(tbl_Order.OpenId); tbl_WeiXin_User.Balance -= tbl_Order.TotalAmount; if (tbl_WeiXin_User.SaleMoney.HasValue) { tbl_WeiXin_User.SaleMoney += tbl_Order.TotalAmount; } else { tbl_WeiXin_User.SaleMoney = tbl_Order.TotalAmount; } _weiXinUserRepository.Update(tbl_WeiXin_User); }
/// <summary> /// 二维码支付,生成验票信息,自动激活 /// </summary> /// <param name="order"></param> /// <param name="orderDetails"></param> /// <returns></returns> public List <Tbl_Ticket_Testing> addTicketTestings(Tbl_Order order, List <Tbl_OrderDetail> orderDetails) { List <Tbl_Ticket_Testing> ticketTestings = new List <Tbl_Ticket_Testing>(); foreach (var orderDetail in orderDetails) { orderDetail.OrderStatus = (int)OrderDetailsDataStatus.Success; if (orderDetail.TicketCategory != 1) { //生成凭证号 orderDetail.CertificateNO = OrderHelper.GetCertificateNo(); //二维码订单支付,生成二维码串,自动激活 orderDetail.OrderStatus = (int)OrderDetailsDataStatus.Activate; //生成二维码串 orderDetail.QRcode = OrderHelper.GenerateQRCode(); //生成一张二维码图片,返回图片地址 string imgpath = string.Empty; //OrderHelper.CreateCode_Simple(orderDetail.QRcode, out imgpath); orderDetail.QRcodeUrl = imgpath; //二维码支付,生成验票信息,自动激活 Tbl_Ticket_Testing tbl_Ticket_Testing = new Tbl_Ticket_Testing { OrderDetailNumber = orderDetail.Number, OrderDetailId = orderDetail.OrderDetailId, OrderNo = orderDetail.OrderNo, EnterpriseId = orderDetail.EnterpriseId, ScenicId = orderDetail.ScenicId, TicketCategory = orderDetail.TicketCategory, TicketId = orderDetail.TicketId, TicketName = orderDetail.TicketName, BarCode = orderDetail.BarCode, CertificateNO = orderDetail.CertificateNO, QRcode = orderDetail.QRcode, DataStatus = 1, Quantity = orderDetail.Quantity, IDCard = orderDetail.IDCard }; ticketTestings.Add(tbl_Ticket_Testing); } } return(ticketTestings); }
/// <summary> /// 下单 /// </summary> /// <param name="orderCreateDto"></param> /// <returns></returns> public OrderCreateViewDto Create(OrderCreateDto orderCreateDto) { var tbl_Order = new Tbl_Order(); using (var unitOfWork = new UnitOfWork()) { tbl_Order = _orderService.Create(orderCreateDto); unitOfWork.Commit(); } var jsApiParameters = _wxPayService.PayOrderForTicket(tbl_Order); return(new OrderCreateViewDto { OrderNo = tbl_Order.OrderNo, JsApiParameters = jsApiParameters }); }
/// <summary> /// 添加订单消费通知 /// </summary> /// <param name="tbl_Order"></param> /// <param name="tbl_OrderDetail"></param> /// <param name="business"></param> public void Add(Tbl_Order tbl_Order, Tbl_OrderDetail tbl_OrderDetail, Tbl_OTABusiness business) { var tbl_NoticeOrderConsumed = new Tbl_NoticeOrderConsumed { ScenicId = tbl_Order.ScenicId, IdentityKey = business.IdentityKey, OrderNo = tbl_Order.OrderNo, OtaOrderId = tbl_Order.OTAOrderNo, OrderDetailNumber = tbl_OrderDetail.Number, Count = tbl_OrderDetail.Quantity, IsTaken = false, RunCount = 0, CreateTime = DateTime.Now }; _noticeOrderConsumedRepository.Add(tbl_NoticeOrderConsumed); }
/// <summary> /// 充值 /// </summary> /// <param name="orderCreateDto"></param> public OrderCreateViewDto Recharge(OrderRechargeDto orderRechargeDto) { _weiXinUserService.CheckIsExist(orderRechargeDto.OpenId); var tbl_Order = new Tbl_Order(); using (var unitOfWork = new UnitOfWork()) { tbl_Order = _orderService.Recharge(orderRechargeDto); unitOfWork.Commit(); } var jsApiParameters = _wxPayService.PayOrderForTicket(tbl_Order); return(new OrderCreateViewDto { OrderNo = tbl_Order.OrderNo, JsApiParameters = jsApiParameters }); }
/// <summary> /// 更改订单支付状态和可退款时间和可修改时间 /// </summary> /// <param name="tbl_Order"></param> /// <param name="tbl_OrderDetails"></param> public void UpdateOrder(Tbl_Order tbl_Order, Tbl_OrderDetail tbl_OrderDetail) { //更改订单状态 tbl_Order.PayTime = DateTime.Now; tbl_Order.OrderStatus = (int)OrderDataStatus.Success; //更改可修改时间 tbl_Order.CanModify = tbl_OrderDetail.CanModify; if (tbl_Order.CanModify) { tbl_Order.CanModifyTime = tbl_OrderDetail.CanModifyTime; } //更改可退款时间 tbl_Order.CanRefund = tbl_OrderDetail.CanRefund; if (tbl_Order.CanRefund) { tbl_Order.CanRefundTime = tbl_OrderDetail.CanRefundTime; } }
/// <summary> /// 创建订单余额支付 /// </summary> /// <param name="orderCreateDto"></param> /// <returns></returns> private Tbl_Order AddOrderForBalancePay(OrderCreateDto orderCreateDto, Tbl_Ticket tbl_Ticket) { if (tbl_Ticket == null) { throw new SimplePromptException("门票未找到"); } //创建订单号 string orderNo = OrderHelper.GenerateOrderNo(); //订单 Tbl_Order tbl_Order = new Tbl_Order { OrderNo = orderNo, OpenId = orderCreateDto.OpenId, TicketSource = 1, PayType = (int)PayType.Balance, PayAccount = "", PayTradeNo = "", SellerId = 0, Price = 0, Linkman = orderCreateDto.Linkman, Mobile = orderCreateDto.Mobile, OrderStatus = (int)OrderStatusType.Success, PayTime = DateTime.Now, CreateTime = DateTime.Now, ValidityDateStart = orderCreateDto.TravelTime, ValidityDateEnd = orderCreateDto.TravelTime, BookCount = orderCreateDto.BookCount, UsedQuantity = 0, Remark = "", IDCard = "", CreateUserId = 0, OrderType = (int)OrderType.Ticket, }; var ticketNames = tbl_Ticket.TicketName; if (ticketNames.Length > 50) { ticketNames = ticketNames.Substring(0, 50); } tbl_Order.TicketName = ticketNames; tbl_Order.TotalAmount = tbl_Ticket.SalePrice * tbl_Order.BookCount; _orderRepository.Add(tbl_Order); return(tbl_Order); }
/// <summary> /// 添加日志 /// </summary> /// <param name="order"></param> public void Add(Tbl_Order order) { var model = new Tbl_SaleLog { EnterpriseId = order.EnterpriseId, ScenicId = order.ScenicId, LogContent = ActionStatus.SaleTicket.GetDescriptionByName(), OrderNo = order.OrderNo, TicketName = order.TicketName, Quantity = order.BookCount, TotalAmount = order.TotalAmount, ActivationCode = "", CreateTime = DateTime.Now, DataStatus = 0, CreateUserId = 0 }; _saleLogRepository.Add(model); }
/// <summary> /// 添加订单消费通知 /// </summary> /// <param name="tbl_Order"></param> /// <param name="tbl_OrderDetail"></param> /// <param name="business"></param> public void Add(Tbl_Order tbl_Order, Tbl_OrderDetail tbl_OrderDetail, Tbl_OTABusiness business) { var tbl_NoticeOrderConsumed = new Tbl_NoticeOrderConsumed { SequenceId = DateTime.Now.ToString("yyyyMMdd") + Guid.NewGuid().ToString("N"), ScenicId = tbl_Order.ScenicId, IdentityKey = business.IdentityKey, OrderNo = tbl_Order.OrderNo, OtaOrderId = tbl_Order.OTAOrderNo, OrderDetailNumber = tbl_OrderDetail.Number, OtaOrderDetailId = tbl_OrderDetail.OtaOrderDetailId, Count = tbl_OrderDetail.Quantity, IsTaken = false, RunCount = 0, CreateTime = DateTime.Now }; _noticeOrderConsumedRepository.Add(tbl_NoticeOrderConsumed); }
/// <summary> /// 添加订单详情 余额支付 /// </summary> /// <param name="order"></param> /// <param name="tbl_Order"></param> /// <returns></returns> public Tbl_OrderDetail AddForBalancePay(Tbl_Order tbl_Order, Tbl_Ticket tbl_Ticket) { if (tbl_Ticket == null) { throw new SimplePromptException("门票未找到"); } Tbl_OrderDetail tbl_OrderDetail = new Tbl_OrderDetail { Number = Guid.NewGuid(), OrderNo = tbl_Order.OrderNo, OrderType = tbl_Order.OrderType, SellerId = 0, SellerType = 1, OtaOrderDetailId = 0, OrderSource = 1, TicketSource = 1, TicketCategory = 1, UsedQuantity = 0, TicketId = tbl_Ticket.TicketId, TicketName = tbl_Ticket.TicketName, Price = tbl_Ticket.SalePrice, Quantity = tbl_Order.BookCount, BarCode = "", Stub = "", CertificateNO = "", OrderStatus = (int)OrderDetailStatusType.Success, CreateTime = DateTime.Now, ValidityDateStart = tbl_Order.ValidityDateStart, ValidityDateEnd = tbl_Order.ValidityDateEnd, QRcodeUrl = "", QRcode = "", Mobile = tbl_Order.Mobile, IDCard = "", Linkman = tbl_Order.Linkman, BuyUserId = tbl_Order.BuyUserId, CanModify = true, CanRefund = true, }; _orderDetailRepository.Add(tbl_OrderDetail); return(tbl_OrderDetail); }
/// <summary> /// 创建订单--小径平台 /// </summary> /// <param name="orderInfo"></param> /// <returns></returns> public Tbl_Order AddOrder(XJ_Order request) { //创建订单号 string orderNo = OrderHelper.GenerateOrderNo(); var order = Get(orderNo); if (order != null) { orderNo = OrderHelper.GenerateOrderNo(); } int idType = GetIdCardType(request.ContactPerson.CardType); //订单 Tbl_Order tbl_Order = new Tbl_Order { OrderNo = orderNo, OTABusinessId = request.OTABusinessId, OTAOrderNo = request.OrderOtaId, TicketSource = (int)TicketSourceStatus.Ota, PayType = (int)PayStatus.NoPayStatus, PayAccount = "", PayTradeNo = "", SellerId = 0, Price = 0, Linkman = request.ContactPerson.Name, Mobile = request.ContactPerson.Mobile, OrderStatus = (int)OrderDataStatus.NoPay, CreateTime = DateTime.Now, ValidityDateStart = request.VisitDate, ValidityDateEnd = request.VisitDate, UsedQuantity = 0, Remark = "", IDType = idType, IDCard = request.ContactPerson.CardNo, CreateUserId = 0 }; return(tbl_Order); }
/// <summary> /// 充值 /// </summary> /// <param name="tbl_Order"></param> /// <returns></returns> public Tbl_OrderDetail AddForRecharge(Tbl_Order tbl_Order) { Tbl_OrderDetail tbl_OrderDetail = new Tbl_OrderDetail { Number = Guid.NewGuid(), OrderNo = tbl_Order.OrderNo, OrderType = tbl_Order.OrderType, SellerId = 0, SellerType = 1, OtaOrderDetailId = 0, OrderSource = 1, TicketSource = 1, TicketCategory = 1, UsedQuantity = 0, TicketId = 0, TicketName = tbl_Order.TicketName, Price = tbl_Order.TotalAmount, Quantity = tbl_Order.BookCount, BarCode = "", Stub = "", CertificateNO = "", OrderStatus = (int)OrderDetailStatusType.NoPay, CreateTime = DateTime.Now, ValidityDateStart = tbl_Order.ValidityDateStart, ValidityDateEnd = tbl_Order.ValidityDateEnd, QRcodeUrl = "", QRcode = "", Mobile = tbl_Order.Mobile, IDCard = "", Linkman = tbl_Order.Linkman, BuyUserId = tbl_Order.BuyUserId, CanModify = true, CanRefund = true, }; _orderDetailRepository.Add(tbl_OrderDetail); return(tbl_OrderDetail); }
/// <summary> /// 添加订单消费通知 /// </summary> /// <param name="tbl_Order"></param> /// <param name="tbl_OrderDetail"></param> /// <param name="business"></param> public void Add(Tbl_Order tbl_Order, List <Tbl_OrderDetail> tbl_OrderDetails, Tbl_OTABusiness business) { var list = new List <Tbl_NoticeOrderConsumed>(); foreach (var row in tbl_OrderDetails) { list.Add(new Tbl_NoticeOrderConsumed { SequenceId = DateTime.Now.ToString("yyyyMMdd") + Guid.NewGuid().ToString("N"), ScenicId = tbl_Order.ScenicId, IdentityKey = business.IdentityKey, OrderNo = tbl_Order.OrderNo, OtaOrderId = tbl_Order.OTAOrderNo, OtaOrderDetailId = row.OtaOrderDetailId, OrderDetailNumber = row.Number, Count = row.Quantity, IsTaken = false, RunCount = 0, CreateTime = DateTime.Now }); } _noticeOrderConsumedRepository.Add(list); }
/// <summary> /// 更改订单支付状态和可退款时间和可修改时间 /// </summary> /// <param name="tbl_Order"></param> /// <param name="tbl_OrderDetails"></param> public void UpdateOrder(Tbl_Order tbl_Order, List <Tbl_OrderDetail> tbl_OrderDetails) { //更改订单状态 tbl_Order.PayTime = DateTime.Now; tbl_Order.OrderStatus = (int)OrderDataStatus.Success; //更改可修改时间 var isCanModify = tbl_OrderDetails.Count(a => a.CanModify == false); tbl_Order.CanModify = isCanModify > 0 ? false : true; if (tbl_Order.CanModify) { var tbl_OrderDetail = tbl_OrderDetails.OrderBy(a => a.CanModifyTime).FirstOrDefault(); tbl_Order.CanModifyTime = tbl_OrderDetail.CanModifyTime; } //更改可退款时间 var isCanRefund = tbl_OrderDetails.Count(a => a.CanRefund == false); tbl_Order.CanRefund = isCanRefund > 0 ? false : true; if (tbl_Order.CanRefund) { var tbl_OrderDetail = tbl_OrderDetails.OrderBy(a => a.CanRefundTime).FirstOrDefault(); tbl_Order.CanRefundTime = tbl_OrderDetail.CanRefundTime; } }
/// <summary> /// 创建订单详情 - 二维码票 /// </summary> /// <param name="order"></param> /// <param name="tbl_Order"></param> /// <returns></returns> private List <Tbl_OrderDetail> addQrCodeTicketOrderDetail(OrderInfo order, Tbl_Order tbl_Order) { List <Tbl_OrderDetail> orderDetails = new List <Tbl_OrderDetail>(); string ticketNames = string.Empty; decimal TotalMoney = 0; int TotalCount = 0; //企业Id int EnterpriseID = 0; int ScenicID = 0; foreach (var te in order.TicketList) { var ticket = _ticketService.GetTicket(order.VisitDate.ToDataTime(), te.ProductId); var ticketRule = _ticketRuleRepository.FirstOrDefault(a => a.Id == ticket.RuleId); //二维码票: 每种门票 一个订单详情,多个数量 Tbl_OrderDetail tbl_OrderDetail = new Tbl_OrderDetail { Number = Guid.NewGuid(), OrderNo = tbl_Order.OrderNo, EnterpriseId = ticket.EnterpriseId, ScenicId = ticket.ScenicId, WindowId = 0, SellerId = 0, SellerType = 1, OtaOrderDetailId = 0, OrderSource = (int)OrderSource.OTA, TicketSource = (int)TicketSourceStatus.Ota, TicketCategory = (int)TicketCategoryStatus.QrCodeElectronTicket, UsedQuantity = 0, TicketId = te.ProductId, TicketName = ticket.TicketName, Price = ticket.SalePrice, SettlementPrice = ticket.SettlementPrice, Quantity = te.Quantity, BarCode = "", Stub = "", CertificateNO = "", OrderStatus = (int)OrderDetailsDataStatus.NoPay, CreateTime = DateTime.Now, ValidityDateStart = order.VisitDate.ToDataTime(), ValidityDateEnd = order.VisitDate.ToDataTime(), PrintCount = 0, QRcodeUrl = "", QRcode = "", Mobile = order.ContactPerson.Mobile, IDCard = tbl_Order.IDCard, Linkman = order.ContactPerson.Name, CanModify = ticketRule.CanModify, CanRefund = ticketRule.CanRefund }; UpdateOrderDetailRefundTimeAndModifyTime(order.VisitDate.ToDataTime(), ticket, tbl_OrderDetail, ticketRule); orderDetails.Add(tbl_OrderDetail); //有效的门票信息 EnterpriseID = ticket.EnterpriseId; ScenicID = ticket.ScenicId; ticketNames += ticket.TicketName + ","; TotalMoney += (ticket.SalePrice * te.Quantity); TotalCount += te.Quantity; } ticketNames = ticketNames.Substring(0, ticketNames.Length - 1); if (ticketNames.Length > 50) { ticketNames = ticketNames.Substring(0, 50); } tbl_Order.EnterpriseId = EnterpriseID; tbl_Order.ScenicId = ScenicID; tbl_Order.TicketName = ticketNames; tbl_Order.TotalAmount = TotalMoney; tbl_Order.BookCount = TotalCount; return(orderDetails); }
/// <summary> /// 创建订单详情 - 二维码票 /// </summary> /// <param name="order"></param> /// <param name="tbl_Order"></param> /// <returns></returns> public List <Tbl_OrderDetail> AddOrderDetailForQrCodeNoPay(OrderInfoModel order, Tbl_Order tbl_Order) { if (order.TicketCategory == 1) { return(new List <Tbl_OrderDetail>()); } List <Tbl_OrderDetail> orderDetails = new List <Tbl_OrderDetail>(); string ticketNames = string.Empty; decimal TotalMoney = 0; int TotalCount = 0; //企业Id int EnterpriseID = 0; int ScenicID = 0; foreach (var te in order.TicketItem) { var ticket = _ticketService.GetTicket(order.ValidityDate, te.TicketId); var ticketRule = _ticketRuleRepository.FirstOrDefault(a => a.Id == ticket.RuleId); //二维码票: 每种门票 一个订单详情,多个数量 Tbl_OrderDetail tbl_OrderDetail = new Tbl_OrderDetail { Number = Guid.NewGuid(), OrderNo = tbl_Order.OrderNo, EnterpriseId = ticket.EnterpriseId, ScenicId = ticket.ScenicId, OrderType = tbl_Order.OrderType, WindowId = 0, SellerId = 0, SellerType = 1, OtaOrderDetailId = 0, OrderSource = (int)OrderSource.My, TicketSource = order.TicketSource, TicketCategory = order.TicketCategory, UsedQuantity = 0, TicketId = te.TicketId, TicketName = ticket.TicketName, Price = ticket.SalePrice, Quantity = te.BookCount, BarCode = "", Stub = "", CertificateNO = "", OrderStatus = (int)OrderDetailsDataStatus.NoPay, CreateTime = DateTime.Now, ValidityDateStart = order.ValidityDate, ValidityDateEnd = order.ValidityDate, PrintCount = 0, QRcodeUrl = "", QRcode = "", Mobile = order.Mobile, IDCard = "", Linkman = order.Linkman, CanModify = ticketRule.CanModify, CanRefund = ticketRule.CanRefund }; UpdateOrderDetailRefundTimeAndModifyTime(order.ValidityDate, ticket, tbl_OrderDetail, ticketRule); orderDetails.Add(tbl_OrderDetail); //有效的门票信息 EnterpriseID = ticket.EnterpriseId; ScenicID = ticket.ScenicId; ticketNames += ticket.TicketName + ","; TotalMoney += (ticket.SalePrice * te.BookCount); TotalCount += te.BookCount; } ticketNames = ticketNames.Substring(0, ticketNames.Length - 1); if (ticketNames.Length > 50) { ticketNames = ticketNames.Substring(0, 50); } tbl_Order.EnterpriseId = EnterpriseID; tbl_Order.ScenicId = ScenicID; tbl_Order.TicketName = ticketNames; tbl_Order.TotalAmount = TotalMoney; tbl_Order.BookCount = TotalCount; return(orderDetails); }