public TraOrderCancelResponseModel RequestCancelOrder(int orderId)
        {
            TraInterFaceOrderEntity traInterFaceOrderEntity =
                _traInterFaceOrderDal.Query <TraInterFaceOrderEntity>(n => n.OrderId == orderId.ToString())
                .FirstOrDefault();

            if (traInterFaceOrderEntity == null)
            {
                return(null);
            }

            int status = traInterFaceOrderEntity.Status;

            if (status == (int)OrderTypeEnum.OrderCancel)
            {
                return(null);
            }

            TraOrderCancelResponseModel responseModel = null;
            string isServer = AppSettingsHelper.GetAppSettings(AppSettingsEnum.IsServer);

            if (isServer == "T")
            {
                responseModel = _requestCancelOrderBll.RequestCancelOrder(new TraOrderCancelModel()
                {
                    orderid       = orderId.ToString(),
                    transactionid = traInterFaceOrderEntity.Transactionid
                });
            }
            else
            {
                responseModel = new TraOrderCancelResponseModel()
                {
                    success = true
                };
            }


            if (responseModel.success)
            {
                traInterFaceOrderEntity.Status = (int)OrderTypeEnum.OrderCancel;
                _traInterFaceOrderDal.Update <TraInterFaceOrderEntity>(traInterFaceOrderEntity, new[] { "Status" });

                _traOrderOperateDal.Insert <TraOrderOperateEntity>(new TraOrderOperateEntity()
                {
                    AfterOperateStatus = (int)OrderTypeEnum.OrderCancel,
                    InterfaceId        = traInterFaceOrderEntity.InterfaceId,
                    Operate            = (int)OrderTypeEnum.OrderCancel,
                    OperateTime        = traInterFaceOrderEntity.CreateTime,
                    BeforOperateStatus = status
                });
            }

            return(responseModel);
        }
示例#2
0
        public TraOrderCancelResponseModel RequestCancelOrder(TraOrderCancelModel model)
        {
            RequestInterfaceHelper <TraOrderSubmitModel> .SupplementInPutModel(model, "train_cancel");

            string jsonstr = "jsonStr=" + JsonHelper.SerializeObject(model);

            DateTime date = DateTime.Now;

            LogHelper.WriteLog("取消订单接口:" + date + "||||||" + jsonstr, "Request");
            string post = PostHelper.PostUrl(_postUrl, jsonstr, Encoding.UTF8);

            LogHelper.WriteLog("取消订单接口返回:" + date + "||||||" + post, "Request");

            TraOrderCancelResponseModel trainResponseModel = JsonConvert.DeserializeObject <TraOrderCancelResponseModel>(post);

            return(trainResponseModel);
        }
        public ConfirmTraHoldSeatResponseViewModel ConfirmTraHoldSeat(ConfirmTraHoldSeatRequestViewModel request)
        {
            if (request.IsAgree)//同意占位结果
            {
                TraOrderInfoModel traOrderInfoModel = _getTraOrderServiceBll.GetTraOrderByOrderId(request.OrderId);
                #region 送审
                SubmitCorpAduitOrderModel submitCorpAduitOrder = new SubmitCorpAduitOrderModel()
                {
                    OrderInfoList = new List <SubmitCorpAduitOrderDetailModel>()
                    {
                        new SubmitCorpAduitOrderDetailModel()
                        {
                            OrderId   = request.OrderId,
                            OrderType = OrderSourceTypeEnum.Tra
                        }
                    },
                    PolicyId        = traOrderInfoModel?.Order?.CorpPolicyId,
                    AduitConfigId   = traOrderInfoModel?.Order?.CorpAduitId,
                    Source          = request.OrderSource,
                    SubmitCid       = request.Cid,
                    SubmitOid       = request.Oid,
                    IsViolatePolicy = traOrderInfoModel?.IsViolatePolicy,
                    OrderType       = OrderSourceTypeEnum.Tra
                };
                _submitCorpAduitOrderServiceBll.Submit(submitCorpAduitOrder);

                #endregion

                if (!_submitCorpAduitOrderServiceBll.IsSendAduit)//没有送审的,直接发起出票请求
                {
                    TraOrderConfirmResponseModel traOrderConfirmResponseModel = _requestPrintTicketServiceBll.RequestPrintTicket(request.OrderId);
                    return(new ConfirmTraHoldSeatResponseViewModel()
                    {
                        IsSuccessed = traOrderConfirmResponseModel.success,
                        Message = traOrderConfirmResponseModel.msg
                    });
                }

                return(new ConfirmTraHoldSeatResponseViewModel()
                {
                    IsSuccessed = true
                });
            }
            else
            {
                #region   意
                //取消订单
                _cancelTraOrderServiceBll.CancelTraOrder(new CancelTraOrderModel()
                {
                    OrderId      = request.OrderId,
                    CancelReason = "取消占位,取消订单"
                });
                //取消接口订单
                TraOrderCancelResponseModel traOrderCancelResponseModel =
                    _requestCancelOrderServiceBll.RequestCancelOrder(request.OrderId);
                return(new ConfirmTraHoldSeatResponseViewModel()
                {
                    IsSuccessed = traOrderCancelResponseModel.success,
                    Message = traOrderCancelResponseModel.msg
                });

                #endregion
            }
        }