コード例 #1
0
        /// <summary>
        /// 下单验证接口--单个产品
        /// </summary>
        /// <param name="request"></param>
        /// <param name="business"></param>
        /// <returns></returns>
        private PageResult VerifySingleOrder(OrderSingleCreateRequest request, Tbl_OTABusiness business)
        {
            var orderInfo = request.Body.OrderInfo;
            OrderSingleCreateResponse result = new OrderSingleCreateResponse
            {
                Head = HeadResult.V1,
                Body = new OrderSingleCreateInfo
                {
                    Inventory = 0
                }
            };
            var validResult = _orderService.ValidDataForVerifyOrderRequest(request);

            if (!validResult.Status)
            {
                result.Head.Code     = validResult.Code;
                result.Head.Describe = validResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            var tbl_Ticket      = _ticketService.GetTicket(orderInfo.Ticket.ProductId, business.ScenicId, orderInfo.VisitDate.ToDataTime());
            var validDataResult = _ticketService.ValidDataForOrderSingleCreateRequest(request, business, tbl_Ticket, result);

            if (!validDataResult.Status)
            {
                result.Head.Code     = validDataResult.Code;
                result.Head.Describe = validDataResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            result.Head.Code        = "000000";
            result.Head.Describe    = "成功";
            result.Body.OrderStatus = "OREDER_SUCCESS";
            return(PageDataResult.Data(result, business.Saltcode.ToString()));
        }
コード例 #2
0
        /// <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()));
        }
コード例 #3
0
        private PageResult UpdateOrder(OrderUpdateRequest request, Tbl_OTABusiness business)
        {
            string orderId             = request.Body.OrderInfo.OrderId;
            OrderUpdateResponse result = new OrderUpdateResponse
            {
                Head = HeadResult.V1,
            };
            var validResult = _orderService.ValidDataForOrderUpdateRequest(request);

            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);

            if (tbl_Order == null)
            {
                result.Head.Code     = "116011";
                result.Head.Describe = "修改订单异常,订单不存在";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            if (!tbl_Order.CanModify)
            {
                result.Head.Code     = "116012";
                result.Head.Describe = "修改订单异常,订单不能修改";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            if (tbl_Order.CanModify && tbl_Order.CanModifyTime < request.Body.OrderInfo.VisitDate.ToDataTime())
            {
                result.Head.Code     = "116013";
                result.Head.Describe = "修改订单异常,填写的游玩时间超过产品最后修改时间";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            try
            {
                _orderService.BeginTran();
                _orderService.UpdateOrder(tbl_Order, request);
                _orderDetailService.UpdateOrderDetail(request);
                _orderService.CommitTran();
                result.Body = new OrderUpdateResponseBody()
                {
                    OrderId = tbl_Order.OrderNo
                };
            }
            catch (Exception ex)
            {
                _orderService.RollbackTran();
                result.Head.Code     = "116014";
                result.Head.Describe = "修改订单异常,订单修改失败";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            result.Head.Code     = "000000";
            result.Head.Describe = "成功";
            return(PageDataResult.Data(result, business.Saltcode.ToString()));
        }
コード例 #4
0
        private PageResult SendMessage(MessageSendRequest request, Tbl_OTABusiness business)
        {
            MessageSendOrderInfo orderInfo = request.Body.OrderInfo;
            MessageSendResponse  result    = new MessageSendResponse
            {
                Head = HeadResult.V1
            };
            var validResult = _orderService.ValidDataForMessageSendRequest(request);

            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(orderInfo.OrderId);

            if (tbl_Order == null)
            {
                result.Head.Code     = "117004";
                result.Head.Describe = "(重)发送入园凭证短信异常,订单不存在";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            var tbl_OrderDetails = _orderDetailService.GetList(tbl_Order.OrderNo);

            if (tbl_OrderDetails.FirstOrDefault(a => a.EticektSendQuantity >= 5) != null)
            {
                result.Head.Code     = "117006";
                result.Head.Describe = "(重)发送入园凭证短信异常,发送次数不能超过5次";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            try
            {
                var sendResult = _smsService.Send(tbl_OrderDetails, tbl_Order.Mobile);
                if (sendResult.Status)
                {
                    result.Body = new MessageSendResponseBody
                    {
                        Message = "OK"
                    };
                    result.Head.Code     = "000000";
                    result.Head.Describe = "成功";
                    return(PageDataResult.Data(result, business.Saltcode.ToString()));
                }
                result.Head.Code     = "117005";
                result.Head.Describe = "(重)发送入园凭证短信异常,发送失败";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            catch (Exception ex)
            {
                result.Head.Code     = "117005";
                result.Head.Describe = "(重)发送入园凭证短信异常,发送失败";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
        }
コード例 #5
0
        /// <summary>
        /// 下单验证接口
        /// </summary>
        /// <param name="request"></param>
        /// <param name="business"></param>
        /// <returns></returns>
        private PageResult VerifyOrder(OrderCreateRequest request, Tbl_OTABusiness business)
        {
            var orderInfo = request.Body.OrderInfo;
            OrderCreateResponse result = new OrderCreateResponse
            {
                Head = HeadResult.V1,
                Body = new OrderCreateInfo
                {
                    Item = new List <OrderCreateItem>()
                }
            };
            var validResult = _orderService.ValidDataForOrderVerifyRequest(request);

            if (!validResult.Status)
            {
                result.Head.Code     = validResult.Code;
                result.Head.Describe = validResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            List <int> productIds  = orderInfo.TicketList.Select(a => a.ProductId).ToList();
            var        ticketIds   = _otaTicketRelationService.GetTicketIds(business.Id, productIds);
            var        tbl_Tickets = _ticketService.CheckIsTicketIds(ticketIds, business.ScenicId, orderInfo.VisitDate.ToDataTime());

            var validDataResult = _orderService.ValidDataForOrderCreateRequest(request, tbl_Tickets);

            if (!validDataResult.Status)
            {
                result.Head.Code     = validDataResult.Code;
                result.Head.Describe = validDataResult.Message;
                result.Body.Item.Add(new OrderCreateItem
                {
                    ProductId = request.Body.OrderInfo.TicketList[0].ProductId.ToString(),
                    useDate   = request.Body.OrderInfo.VisitDate,
                    quantity  = 0
                });
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }

            result.Head.Code        = "000000";
            result.Head.Describe    = "成功";
            result.Body.OrderStatus = "OREDER_SUCCESS";
            foreach (var row in tbl_Tickets)
            {
                result.Body.Item.Add(new OrderCreateItem
                {
                    ProductId = row.TicketId.ToString(),
                    useDate   = request.Body.OrderInfo.VisitDate,
                    quantity  = 500000
                });
            }

            return(PageDataResult.Data(result, business.Saltcode.ToString()));
        }
コード例 #6
0
        public override void SearchAction()
        {
            PageResult <OPC_AuthUser> PrResultTemp =
                AppEx.Container.GetInstance <IAuthenticationService>().Search(GetFilter());

            if (PrResultTemp == null || PrResultTemp.Result == null)
            {
                return;
            }
            PrResult        = new PageDataResult <OPC_AuthUser>();
            PrResult.Models = PrResultTemp.Result.ToList();
            PrResult.Total  = PrResultTemp.TotalCount;
        }
コード例 #7
0
        /// <summary>
        /// (重)发送入园凭证短信
        /// </summary>
        /// <param name="data"></param>
        /// <param name="sign"></param>
        public PageResult SendMessage(string data, string sign)
        {
            var request = _authorizationService.CheckFormatForMessageSendRequest(data);

            if (request == null)
            {
                return(PageDataResult.JsonParsingFailure());
            }
            var business = _authorizationService.CheckData(request.Head, data, sign);

            if (business == null)
            {
                return(PageDataResult.SignatureError());
            }
            return(SendMessage(request, business));
        }
コード例 #8
0
        /// <summary>
        /// 下单验证接口--单个产品
        /// </summary>
        /// <param name="data"></param>
        /// <param name="sign"></param>
        public PageResult VerifySingleOrder(string data, string sign)
        {
            var request = _authorizationService.CheckFormatForOrderSingleCreateRequest(data);

            if (request == null)
            {
                return(PageDataResult.JsonParsingFailure());
            }
            var business = _authorizationService.CheckData(request.Head, data, sign);

            if (business == null)
            {
                return(PageDataResult.SignatureError());
            }
            return(VerifySingleOrder(request, business));
        }
コード例 #9
0
        /// <summary>
        /// 创建订单并支付
        /// </summary>
        /// <param name="data"></param>
        /// <param name="sign"></param>
        public PageResult PayOrder(string data, string sign)
        {
            var request = _authorizationService.CheckFormatForOrderCreateRequest(data);

            if (request == null)
            {
                return(PageDataResult.Fault());
            }
            var business = _authorizationService.CheckData(request.Head, data, sign);

            if (business == null)
            {
                return(PageDataResult.Fault());
            }
            return(PayOrder(request, business));
        }
コード例 #10
0
        /*初始化页面固有的数据值*/

        private void Init()
        {
            FieldList = new List <string> {
                "登陆名", "姓名"
            };
            /*查询初始化*/
            SelectedFiledValue = "";
            SelectedFiled      = "";

            PageIndex = 1;
            PageSize  = 10;
            PrResult  = new PageDataResult <OPC_AuthUser>();

            SearchCommand  = new DelegateCommand(Search);
            CommandGetDown = new DelegateCommand(SelectedUser);
        }
コード例 #11
0
        /*初始化页面固有的数据值*/

        private void InitUser()
        {
            FieldList = new List <string> {
                "登陆名", "姓名"
            };
            /*查询初始化*/
            SelectedFiledValue = "";
            SelectedFiled      = "";
            SetStopUserCommand = new DelegateCommand(SetStopUser);
            DelUserCommand     = new DelegateCommand(DelUser);
            PageIndex          = 1;
            PageSize           = 10;
            PrResult           = new PageDataResult <OPC_AuthUser>();
            CurModel           = new OPC_AuthUser();
            RePasswordCommand  = new DelegateCommand(RePassword);
            UpdatePwdCommand   = new DelegateCommand(UpdatePassWord);
        }
コード例 #12
0
        public static async Task <PageDataResult> PageTxt(string url)
        {
            PageDataResult objData = new PageDataResult();

            try
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(url);
                    var result = await client.GetAsync(url);

                    var place = result.Content.ReadAsStringAsync().Result;
                    objData = JsonConvert.DeserializeObject <PageDataResult>(await result.Content.ReadAsStringAsync());
                }
            }
            catch (Exception ex)
            {
            }
            return(objData);
        }
コード例 #13
0
        private void Search()
        {
            int indexFiled = FieldList.IndexOf(SelectedFiled);
            var dicFilter  = new Dictionary <string, object>
            {
                { "SearchField", indexFiled == -1 ? 1 : indexFiled },
                { "SearchValue", SelectedFiledValue },
                { "pageIndex", PageIndex },
                { "pageSize", PageSize },
                { "orgid", "" }
            };
            IBaseDataService <OPC_AuthUser> userDataService = GetDataService();
            PageResult <OPC_AuthUser>       prResultTemp    = userDataService.Search(dicFilter);

            if (prResultTemp == null || prResultTemp.Result == null)
            {
                return;
            }
            PrResult        = new PageDataResult <OPC_AuthUser>();
            PrResult.Models = prResultTemp.Result.ToList();
            PrResult.Total  = prResultTemp.TotalCount;
        }
コード例 #14
0
        private PageResult QueryOrder(OrderQueryRequest request, Tbl_OTABusiness business)
        {
            string             orderId = request.Body.OrderId;
            OrderQueryResponse result  = new OrderQueryResponse
            {
                Head = HeadResult.V1,
                Body = new OrderQueryBody()
            };
            var validResult = _orderService.ValidDataForOrderQueryRequest(request);

            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, request.Body.OtaOrderId);

            if (tbl_Order == null)
            {
                result.Head.Code     = "115002";
                result.Head.Describe = "查询订单异常,订单不存在";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            result.Body.OrderInfo = new OrderQueryInfo
            {
                OrderId       = tbl_Order.OrderNo,
                OrderQuantity = tbl_Order.BookCount,
                OrderPrice    = tbl_Order.TotalAmount,
                VisitDate     = tbl_Order.ValidityDateEnd.ToString("yyyy-MM-dd"),
                ContactPerson = new OrderQueryContactPerson
                {
                    Name     = tbl_Order.Linkman,
                    Mobile   = tbl_Order.Mobile,
                    CardNo   = tbl_Order.IDCard,
                    CardType = ((CredentialsStatus)tbl_Order.IDType).GetDescriptionByName()
                },
                EticketInfo = new List <OrderQueryTicketInfo>()
            };
            var orderDetails = _orderDetailService.GetList(tbl_Order.OrderNo);
            var tickets      = _ticketService.GetTickets(orderDetails.Select(a => a.TicketId).ToList());

            foreach (var row in orderDetails)
            {
                var ticket = tickets.FirstOrDefault(a => a.TicketId == row.TicketId);
                var orderQueryTicketInfo = new OrderQueryTicketInfo
                {
                    OtaOrderDetailId = row.OtaOrderDetailId,
                    EticektNo        = row.CertificateNO,
                    SellPrice        = row.Price,
                    MarketPrice      = ticket == null ? 0 : ticket.MarkPrice.Value,
                    EticektSend      = 1,
                    ProductId        = row.TicketId,
                    ProductName      = row.TicketName,
                    EticketQuantity  = row.Quantity,
                    UseQuantity      = row.UsedQuantity == null ? 0 : row.UsedQuantity.Value,
                    CreateTime       = row.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    CancelTime       = row.CancelTime.HasValue ? row.CancelTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
                    DelayCheckTime   = row.DelayCheckTime.HasValue ? row.DelayCheckTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
                    UseEndDate       = row.ValidityDateStart.ToString("yyyy-MM-dd"),
                    UseStartDate     = row.ValidityDateEnd.ToString("yyyy-MM-dd"),
                };
                _orderDetailService.GetOrderDetailsDataStatus(row, orderQueryTicketInfo);
                result.Body.OrderInfo.EticketInfo.Add(orderQueryTicketInfo);
            }
            result.Head.Code     = "000000";
            result.Head.Describe = "成功";
            return(PageDataResult.Data(result, business.Saltcode.ToString()));
        }
コード例 #15
0
        /// <summary>
        /// 创建订单并支付
        /// </summary>
        /// <param name="orderInfo"></param>
        private PageResult PayOrder(OrderCreateRequest request, Tbl_OTABusiness business)
        {
            OrderInfo           orderInfo = request.Body.OrderInfo;
            OrderCreateResponse result    = new OrderCreateResponse
            {
                Head = HeadResult.V1
            };
            var validResult = _orderService.ValidDataForOrderCreateRequest(request, result);

            if (!validResult.Status)
            {
                result.Head.Code     = validResult.Code;
                result.Head.Describe = validResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            List <int> productIds  = orderInfo.TicketList.Select(a => a.ProductId).ToList();
            var        ticketIds   = _otaTicketRelationService.GetTicketIds(business.Id, productIds);
            var        tbl_Tickets = _ticketService.CheckIsTicketIds(ticketIds, business.ScenicId, orderInfo.VisitDate.ToDataTime());

            var validDataResult = _orderService.ValidDataForOrderCreateRequest(request, tbl_Tickets);

            if (!validDataResult.Status)
            {
                result.Head.Code     = validDataResult.Code;
                result.Head.Describe = validDataResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            var tbl_Order        = _orderService.AddOrder(orderInfo, business);
            var tbl_OrderDetails = _orderDetailService.AddOrderDetail(orderInfo, tbl_Order);

            _orderService.UpdateOrder(tbl_Order, tbl_OrderDetails);
            var tbl_Ticket_Testing = _ticketTestingService.addTicketTestings(tbl_Order, tbl_OrderDetails);

            _ticketService.UpdateTicketBySellCount(tbl_Tickets, tbl_OrderDetails);
            var tbl_SaleLog = _saleLogService.addSaleLog(tbl_Order);

            try
            {
                _orderService.BeginTran();
                _orderService.Add(tbl_Order);
                _orderDetailService.Add(tbl_OrderDetails);
                _ticketTestingService.Add(tbl_Ticket_Testing);
                _ticketService.Update(tbl_Tickets);
                _noticeOrderConsumedService.Add(tbl_Order, tbl_OrderDetails, business);
                _orderTravelNoticeService.Add(tbl_Order, business);
                _saleLogService.Add(tbl_Order);
                _orderService.CommitTran();
            }
            catch (Exception ex)
            {
                _orderService.RollbackTran();
                result.Head.Code     = "113021";
                result.Head.Describe = "订单创建异常,订单创建失败";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            result.Body = new OrderCreateInfo
            {
                OtaOrderId  = tbl_Order.OTAOrderNo,
                OrderId     = tbl_Order.OrderNo,
                OrderStatus = "OREDER_SUCCESS",
                Item        = new List <OrderCreateItem>()
            };
            tbl_OrderDetails = _orderDetailService.GetList(tbl_Order.OrderNo);
            foreach (var row in tbl_OrderDetails)
            {
                result.Body.Item.Add(new OrderCreateItem
                {
                    OtaOrderDetailId = row.OtaOrderDetailId,
                    ProductId        = row.TicketId.ToString(),
                    useDate          = row.ValidityDateStart.ToString("yyyy-MM-dd"),
                    CertificateNo    = row.CertificateNO,
                    quantity         = 500000
                });
            }
            result.Head.Code     = "000000";
            result.Head.Describe = "成功";
            return(PageDataResult.Data(result, business.Saltcode.ToString()));
        }
コード例 #16
0
        /// <summary>
        /// 获取所有自定义流程列表
        /// </summary>
        /// <param name="Model"></param>
        public PageDataResult<ProcessInfoView> GetALLProcessInfo(PageData<ProcessInfoQuey> Model) {
            MySqlConnection conn = DbMySqlConnectionWrite();
            ProcessInfoQuey mFormInfoQuey = Model.Data;

            ///筛选条件
            var where = WhereMySQL.Equal("1", DbType.Int32, 1);
            if (mFormInfoQuey != null)
            {
                if (!string.IsNullOrEmpty(mFormInfoQuey.Name))
                {
                    where.And(WhereMySQL.LikeFull("Name", mFormInfoQuey.Name));
                }
                if (mFormInfoQuey.Del != 0)
                {
                    where.And(WhereMySQL.Equal("T_Deleted", DbType.Int32, mFormInfoQuey.Del));
                }
            }

            var f7 = conn.MultiQuery<List<ProcessInfoView>>("process")
                .PrimaryKey("PK_Process")
                .Fields("PK_Process,Name,T_Deleted AS Del,T_Updater AS UpdaterID,T_UpdaterName AS UpdaterName,T_UpdateTime AS UpdateTime")
                .OrderBy("T_CreateTime", false)
                .Where(where)
                .Limit(Model.Page, Model.PageSize);
            var data = f7.Execute();
            var totalCount = f7.TotalCount;

            PageDataResult<ProcessInfoView> lstPBDFormInfoView = new PageDataResult<ProcessInfoView>(Model.PageSize, totalCount);
            lstPBDFormInfoView.Info = data;
            return lstPBDFormInfoView;
        }
コード例 #17
0
        /// <summary>
        /// 创建订单并支付
        /// </summary>
        /// <param name="orderInfo"></param>
        private PageResult PayOrder(OrderCreateRequest request, Tbl_OTABusiness business)
        {
            OrderInfo           orderInfo = request.Body.OrderInfo;
            OrderCreateResponse result    = new OrderCreateResponse
            {
                Head = HeadResult.V1
            };
            var validResult = _orderService.ValidDataForOrderCreateRequest(request);

            if (!validResult.Status)
            {
                result.Head.Code     = validResult.Code;
                result.Head.Describe = validResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            List <int> productIds  = orderInfo.TicketList.Select(a => a.ProductId).ToList();
            var        ticketIds   = _otaTicketRelationService.GetTicketIds(business.Id, productIds);
            var        tbl_Tickets = _ticketService.CheckIsTicketIds(ticketIds, business.ScenicId, orderInfo.VisitDate.ToDataTime());

            var validDataResult = _orderService.ValidDataForOrderCreateRequest(request, tbl_Tickets);

            if (!validDataResult.Status)
            {
                result.Head.Code     = validDataResult.Code;
                result.Head.Describe = validDataResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            var tbl_Order        = _orderService.AddOrder(orderInfo, business);
            var tbl_OrderDetails = _orderDetailService.AddOrderDetail(orderInfo, tbl_Order);

            _orderService.UpdateOrder(tbl_Order, tbl_OrderDetails);
            var tbl_Ticket_Testing = _ticketTestingService.addTicketTestings(tbl_Order, tbl_OrderDetails);

            _ticketService.UpdateTicketBySellCount(tbl_Tickets, tbl_OrderDetails);
            var tbl_SaleLog = _saleLogService.addSaleLog(tbl_Order);

            try
            {
                using (SqlConnection connection = new SqlConnection(DbConfig.TicketConnectionString))
                {
                    connection.Open();
                    var trans = connection.BeginTransaction();
                    SqlBulkInsert.Inert(tbl_Order, connection, trans);
                    SqlBulkInsert.Inert(tbl_OrderDetails, connection, trans);
                    SqlBulkInsert.Inert(tbl_Ticket_Testing, connection, trans);
                    _ticketService.UpdateTicket(tbl_Tickets, connection, trans);
                    SqlBulkInsert.Inert(tbl_SaleLog, connection, trans);
                    trans.Commit();
                }
            }
            catch (Exception ex)
            {
                result.Head.Code     = "113021";
                result.Head.Describe = "订单创建异常,订单创建失败";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            result.Body = new OrderCreateInfo
            {
                OrderId     = tbl_Order.OrderNo,
                OrderStatus = "OREDER_SUCCESS"
            };
            try
            {
                var sendResult = _smsService.Send(tbl_OrderDetails, tbl_Order.Mobile);
                if (sendResult.Status)
                {
                    result.Head.Code     = "000000";
                    result.Head.Describe = "成功";
                    return(PageDataResult.Data(result, business.Saltcode.ToString()));
                }
                result.Head.Code     = "000001";
                result.Head.Describe = "订单创建成功,发送入园凭证短信失败";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            catch (Exception ex)
            {
                result.Head.Code     = "000001";
                result.Head.Describe = "订单创建成功,发送入园凭证短信失败";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
        }
コード例 #18
0
        /// <summary>
        /// 获取所有产品信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PageResult GetAll(string data, string sign)
        {
            ProductResponse result = new ProductResponse
            {
                Head = HeadResult.V1
            };
            var request = _AuthorizationService.CheckFormatForProductQueryRequest(data);

            if (request == null)
            {
                return(PageDataResult.JsonParsingFailure());
            }
            var business = _AuthorizationService.CheckData(request.Head, data, sign);

            if (business == null)
            {
                return(PageDataResult.SignatureError());
            }
            var validResult = _ticketService.ValidDataForProductQueryRequest(request);

            if (!validResult.Status)
            {
                result.Head.Code     = validResult.Code;
                result.Head.Describe = validResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            var ticketIds = _otaTicketRelationService.GetTicketIds(business.Id);

            List <Tbl_Ticket> list = new List <Tbl_Ticket>();
            int total = 0;

            if (request.Body.Type == (int)ProductQureyType.OneProduct)
            {
                var count = ticketIds.Count(a => a.Equals(request.Body.ProductId));
                if (count > 0)
                {
                    //获取单个产品
                    var ticke = _ticketService.Get(request.Body.ProductId);
                    if (ticke != null)
                    {
                        list.Add(ticke);
                        total = 1;
                    }
                }
                if (list.Count <= 0)
                {
                    result.Head.Code     = "111001";
                    result.Head.Describe = "获取产品异常,产品不存在";
                    return(PageDataResult.Data(result, business.Saltcode.ToString()));
                }
            }
            else if (request.Body.Type == (int)ProductQureyType.NoPage)
            {
                //不分页
                list  = _ticketService.GetTickets(ticketIds, business.ScenicId);
                total = list.Count;
            }
            else
            {
                //分页
                list = _ticketService.GetPageList(ticketIds, business.ScenicId, request.Body.PageSize, request.Body.CurrentPage, out total);
            }
            result.Body = new ProductPage
            {
                Count       = total,
                ProductList = Mapper(list)
            };
            result.Head.Code     = "000000";
            result.Head.Describe = "成功";
            return(PageDataResult.Data(result, business.Saltcode.ToString()));
        }
コード例 #19
0
        /// <summary>
        /// 创建单个产品订单并支付
        /// </summary>
        /// <param name="request"></param>
        /// <param name="business"></param>
        /// <returns></returns>
        private PageResult PaySingleOrder(OrderSingleCreateRequest request, Tbl_OTABusiness business)
        {
            var orderInfo = request.Body.OrderInfo;
            OrderSingleCreateResponse result = new OrderSingleCreateResponse
            {
                Head = HeadResult.V1,
                Body = new OrderSingleCreateInfo
                {
                    Inventory = 0
                }
            };
            var validResult = _orderService.ValidDataForOrderSingleCreateRequest(request, result);

            if (!validResult.Status)
            {
                result.Head.Code     = validResult.Code;
                result.Head.Describe = validResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            var tbl_Ticket      = _ticketService.GetTicket(orderInfo.Ticket.ProductId, business.ScenicId, orderInfo.VisitDate.ToDataTime());
            var validDataResult = _ticketService.ValidDataForOrderSingleCreateRequest(request, business, tbl_Ticket, result);

            if (!validDataResult.Status)
            {
                result.Head.Code     = validDataResult.Code;
                result.Head.Describe = validDataResult.Message;
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            var tbl_Order       = _orderService.AddOrder(orderInfo, business);
            var tbl_OrderDetail = _orderDetailService.AddOrderDetail(orderInfo, tbl_Order, tbl_Ticket);

            _orderService.UpdateOrder(tbl_Order, tbl_OrderDetail);
            var tbl_Ticket_Testing = _ticketTestingService.AddTicketTesting(tbl_Order, tbl_OrderDetail);

            try
            {
                _orderService.BeginTran();
                _orderService.Add(tbl_Order);
                _orderDetailService.Add(tbl_OrderDetail);
                _ticketTestingService.Add(tbl_Ticket_Testing);
                _ticketService.UpdateTicketBySellCount(tbl_Ticket, tbl_OrderDetail);
                _noticeOrderConsumedService.Add(tbl_Order, tbl_OrderDetail, business);
                _saleLogService.Add(tbl_Order);
                _orderService.CommitTran();
            }
            catch (Exception ex)
            {
                _orderService.RollbackTran();
                result.Head.Code     = "113021";
                result.Head.Describe = "订单创建异常,订单创建失败";
                return(PageDataResult.Data(result, business.Saltcode.ToString()));
            }
            result.Head.Code          = "000000";
            result.Head.Describe      = "成功";
            result.Body.OrderId       = tbl_Order.OrderNo;
            result.Body.OtaOrderId    = tbl_Order.OTAOrderNo;
            result.Body.CertificateNo = tbl_OrderDetail.CertificateNO;
            result.Body.Code          = tbl_OrderDetail.QRcode;
            result.Body.OrderStatus   = "OREDER_SUCCESS";
            return(PageDataResult.Data(result, business.Saltcode.ToString()));
        }