Example #1
0
        /// <summary>
        /// 开启订单支付
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        private async Task <BaseApiResponse> StartPayment(Guid orderId)
        {
            var order = _orderQueryService.FindOrder(orderId);

            if (order == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "没有该预定单"
                });
            }
            if (order.Status == (int)OrderStatus.PaymentSuccess || order.Status == (int)OrderStatus.Success)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "预定单已经付款或完成"
                });
            }
            if (order.ReservationExpirationDate.HasValue && order.ReservationExpirationDate < DateTime.Now)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "预订单已经过期,请重新预定"
                });
            }
            //要通过支付完成预订单
            return(await CompleteRegistrationWithThirdPartyProcessorPayment(order));
        }