/// <summary> /// 取消订单 /// </summary> /// <param name="orderInfo"></param> private PageResult CancelOrder(OrderCancelRequest request, Tbl_OTABusiness business) { string orderId = request.Body.OrderInfo.OrderId; OrderCancelResponse result = new OrderCancelResponse { Head = HeadResult.V1 }; var validResult = _orderService.ValidDataForOrderCancelRequest(request, business.Id); if (!validResult.Status) { result.Head.Code = validResult.Code; result.Head.Describe = validResult.Message; return(PageDataResult.Data(result, business.Saltcode.ToString())); } var tbl_Order = _orderService.Get(orderId); var checkResult = _orderDetailService.CheckOrderDetailIsCanncel(orderId); if (!checkResult.Status) { result.Head.Code = checkResult.Code; result.Head.Describe = checkResult.Message; return(PageDataResult.Data(result, business.Saltcode.ToString())); } try { _orderService.BeginTran(); foreach (var row in checkResult.List) { //添加退款记录 var tbl_RefundDetail = _refundDetailService.Add(row); //更新订单详情的状态:为已退款 _orderDetailService.UpdateOrderDetailForRefund(row); //更新票的日售票数 _ticketService.UpdateTicketBySellCount(row); //添加日志 _saleLogService.Add(tbl_RefundDetail); } //退激活票时,同步删除验票表存在的数据 _ticketTestingService.Delete(tbl_Order.OrderNo); //提交事物 _orderService.CommitTran(); } catch { _orderService.RollbackTran(); result.Head.Code = "114012"; result.Head.Describe = "订单取消失败,系统出错"; return(PageDataResult.Data(result, business.Saltcode.ToString())); } result.Body = new FengjingSDK461.Model.Response.OrderCancelInfo { Message = "成功" }; result.Head.Code = "000000"; result.Head.Describe = "成功"; return(PageDataResult.Data(result, business.Saltcode.ToString())); }
/// <summary> /// 订单详情--退款 /// </summary> private bool RefundOrderDetail(XJ_ProductItem item) { //判断门票是否可以退票和过了退票有效期 var result = _orderDetailService.XJ_CheckOrderDetailIsCanncel(item.OrderDetailId); if (result == null) { return(false); } try { _orderService.BeginTran(); //添加退款记录 var tbl_RefundDetail = _refundDetailService.Add(result); //更新订单详情的状态:为已退款 _orderDetailService.UpdateOrderDetailForRefund(result); //更新票的日售票数 _ticketService.UpdateTicketBySellCount(result); //退激活票时,同步删除验票表存在的数据 _ticketTestingService.Delete(result.OrderNo); //添加日志 _saleLogService.Add(tbl_RefundDetail); //提交事物 _orderService.CommitTran(); return(true); } catch (Exception ex) { _orderService.RollbackTran(); return(false); } }
/// <summary> /// 取消订单详情 /// </summary> /// <param name="orderInfo"></param> public OrderDetailRefundResponse RefundOrderDetail(int orderDetailId) { OrderDetailRefundResponse result = new OrderDetailRefundResponse(); //判断门票是否可以退票和过了退票有效期 var checkResult = _orderDetailService.CheckOrderDetailIsCanncel(orderDetailId); if (!checkResult.Status) { //坚持未通过 result.Message = checkResult.Message; result.Code = checkResult.Code; return(result); } try { _orderService.BeginTran(); //添加退款记录 var tbl_RefundDetail = _refundDetailService.Add(checkResult.Item); //更新订单详情的状态:为已退款 _orderDetailService.UpdateOrderDetailForRefund(checkResult.Item); //更新票的日售票数 _ticketService.UpdateTicketBySellCount(checkResult.Item); //退激活票时,同步删除验票表存在的数据 _ticketTestingService.Delete(orderDetailId); //添加日志 _saleLogService.Add(tbl_RefundDetail); //提交事物 _orderService.CommitTran(); //电子票发送退票短信 //var statusResult = _smsService.Send(checkResult.Item, checkResult.Item.Mobile); //if (statusResult.Status) //{ result.Status = true; result.Message = "订单详情退款成功"; return(result); //} //result.Message = "订单详情退款成功,退款短信发送失败"; //result.Status = true; //return result; } catch (Exception ex) { _orderService.RollbackTran(); result.Message = "订单详情退款成功,退款短信发送失败"; result.Status = true; return(result); } }