示例#1
0
        /// <summary>
        /// 获取配送方式
        /// </summary>
        /// <param name="channelId"></param>
        /// <param name="regionId"></param>
        /// <param name="payGroupId"></param>
        /// <returns></returns>
        public static MResultList <ItemLogistics> GetDeliverList(int channelId, int regionId, int payGroupId)
        {
            var result = new MResultList <ItemLogistics>(true);

            try
            {
                var basedata = DALFactory.BaseData();
                var list     = basedata.GetDeliverList(channelId, regionId, payGroupId);
                list.ForEach(item =>
                {
                    try
                    {
                        result.list.Add(new ItemLogistics
                        {
                            id     = item.intDeliverID,
                            name   = item.vchDeliverName,
                            remark = item.vchDeliverDesc
                        });
                    }
                    catch
                    {
                    }
                });
                result.status = MResultStatus.Success;
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExecutionError;
                result.msg    = "获取配送方式列表异常!";
            }

            return(result);
        }
示例#2
0
        /// <summary>
        /// 获取区域列表数据
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        public static MResultList <ItemRegion> GetRegionList(int parentId)
        {
            var result = new MResultList <ItemRegion>(true);

            try
            {
                var basedata = DALFactory.BaseData();
                var list     = basedata.GetRegionList(parentId);
                list.ForEach(item =>
                {
                    try
                    {
                        var regionType = string.Empty;
                        switch (item.intRegionType)
                        {
                        case 1:
                            regionType = "国家"; break;

                        case 2:
                            regionType = "省/直辖市"; break;

                        case 3:
                            regionType = "地区"; break;

                        case 4:
                            regionType = "区县"; break;

                        default:
                            regionType = item.intRegionType + "";
                            break;
                        }
                        result.list.Add(new ItemRegion()
                        {
                            id   = item.intRegionID,
                            name = item.vchRegionName,
                            zip  = item.vchPostCode,
                            code = item.vchShortSpell,
                            pid  = item.intFRegionID,
                            type = regionType
                        });
                    }
                    catch
                    {
                    }
                });
                result.status = MResultStatus.Success;
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "获取区域列表数据异常";
            }
            return(result);
        }
示例#3
0
        /// <summary>
        /// 获取支付列表
        /// </summary>
        /// <param name="sType"></param>
        /// <param name="paygroupId"></param>
        /// <returns></returns>
        public static MResultList <ItemPay> GetPayList(SystemType sType, int paygroupId)
        {
            var result = new MResultList <ItemPay>(true);

            try
            {
                var baseDataDal = DALFactory.BaseData();
                List <Base_Pay_Type> payList = baseDataDal.GetPayList(sType, paygroupId);
                if (payList != null && payList.Any())
                {
                    payList.ForEach(item =>
                    {
                        try
                        {
                            var payItem = new ItemPay
                            {
                                payid   = item.intPayID,
                                payname = item.vchPayName,
                                paytype = item.intPayGroup,
                                icon    = string.IsNullOrWhiteSpace(item.vchPicAddr) ? "" : "http://muyingzhijia.com/" + item.vchPicAddr,
                                payurl  = item.vchPayURL,
                                remark  = item.vchPayDesc
                            };
                            result.list.Add(payItem);
                        }
                        catch
                        {
                        }
                    });
                }

                if (paygroupId == 0)
                {
                    result.data = "货到付款(送货上门后再付款,支持现金或POS机刷卡)";
                }
                else if (paygroupId == 1)
                {
                    result.data = "在线支付(支持绝大数银行借记卡及部分银行信息卡)";
                }
                else if (paygroupId == 3)
                {
                    result.data = "支付宝(手机)支付(支持支付宝)";
                }

                result.status = MResultStatus.Success;
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "获取支付列表 异常";
            }
            return(result);
        }
示例#4
0
        /// <summary>
        /// 获取支付方式
        /// </summary>
        /// <param name="channelId"></param>
        /// <param name="regionId"> </param>
        /// <returns></returns>
        public static MResultList <ItemPay> GetPaymentList(int channelId, int regionId)
        {
            var result = new MResultList <ItemPay>(true);

            try
            {
                var basedata = DALFactory.BaseData();
                result.list   = basedata.GetPaymentList(channelId, regionId);
                result.status = MResultStatus.Success;
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "获取支付方式列表异常!";
            }

            return(result);
        }
示例#5
0
        /// <summary>
        /// 获取订单信息
        /// </summary>
        /// <param name="sid"></param>
        /// <param name="uid"></param>
        /// <param name="userId"></param>
        /// <param name="orderCode"></param>
        /// <returns></returns>
        public static MResult <ItemOrderDetails> GetOrderinfo(int sid, string uid, int userId, string orderCode)
        {
            var result = new MResult <ItemOrderDetails>();

            try
            {
                #region 参数判断
                if (userId <= 0)
                {
                    result.status = MResultStatus.ParamsError;
                    result.msg    = "用户标识错误!";
                }
                if (string.IsNullOrEmpty(orderCode))
                {
                    result.status = MResultStatus.ParamsError;
                    result.msg    = "订单标识错误!";
                }
                #endregion

                var orderDal    = DALFactory.Order();
                var baseDataDal = DALFactory.BaseData();

                var orderInfo = orderDal.GetOrderInfo(userId, orderCode);
                if (orderInfo != null && orderInfo.OrderNo > 0)
                {
                    orderInfo.PayType = orderInfo.PayId == 0 ? "货到付款" : "在线支付";

                    orderInfo.InvoiceType = (int)(string.IsNullOrEmpty(orderInfo.InvoiceTitle)
                                                 ? Invoice.TitleType.NoNeed
                                                 : orderInfo.InvoiceTitle.StartsWith("个人")
                                                       ? Invoice.TitleType.Personal
                                                       : Invoice.TitleType.Company);
                    orderInfo.PayStatus = orderInfo.PayStatusId == 2 ? "已付款" : "未付款";
                    #region 订单状态
                    string orderStatus;
                    switch (orderInfo.OrderStatusId)
                    {
                    case 0: orderStatus = "付款未审核"; break;

                    case 1: orderStatus = "未确定"; break;

                    case 4: orderStatus = "客户已确认"; break;

                    case 5: orderStatus = "生成配货单"; break;

                    case 7: orderStatus = "已出库"; break;

                    case 20: orderStatus = "完成"; break;

                    default:
                        orderStatus = "未知"; break;
                    }
                    #endregion
                    orderInfo.OrderStatus = orderStatus;

                    var invoiceCategory = MCvHelper.To <int>(orderInfo.InvoiceCategory, 0);

                    result.info = new ItemOrderDetails
                    {
                        oid             = orderInfo.OrderNo,
                        ocode           = orderInfo.OrderCode,
                        status          = orderInfo.OrderStatus,
                        addr            = orderInfo.AddressInfo,
                        province        = orderInfo.Provinces,
                        city            = orderInfo.City,
                        county          = orderInfo.County,
                        contact_name    = orderInfo.Consignee,
                        invoicecategory = invoiceCategory,
                        invoicetitle    = orderInfo.InvoiceTitle,
                        phone           = orderInfo.Phone,
                        titletype       = orderInfo.InvoiceType,
                        mobile          = orderInfo.Mobile,
                        paytype         = orderInfo.PayType,
                        paytypeid       = orderInfo.PayId,
                        statusid        = orderInfo.OrderStatusId,
                        zip             = orderInfo.Zip,
                        paystatus       = orderInfo.PayStatus,
                        paystatusid     = orderInfo.PayStatusId,
                        deliverytype    = orderInfo.DeliveryType
                    };
                    result.status = MResultStatus.Success;
                }
                else
                {
                    result.status = MResultStatus.Undefined;
                    result.msg    = "没有数据!";
                }
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExecutionError;
                MLogManager.Error(MLogGroup.Order.获取订单信息, null, "获取订单信息", ex);
            }

            return(result);
        }
示例#6
0
        /// <summary>
        /// 创建订单
        /// </summary>
        /// <param name="guid"></param>
        /// <param name="channelId"></param>
        /// <param name="uid"></param>
        /// <param name="userId"></param>
        /// <param name="orderEntity"></param>
        /// <returns></returns>
        public static MResult <ItemOrder> CreateOrder(string guid, int channelId, string uid, int userId, OrderEntity orderEntity)
        {
            var result = new MResult <ItemOrder>(true);

            try
            {
                var memberDal       = DALFactory.Member();
                var baseDataDal     = DALFactory.BaseData();
                var shoppingCartDal = DALFactory.ShoppingCartDal();
                var orderDal        = DALFactory.Order();

                var payId = MCvHelper.To <int>(orderEntity.payid, -1);

                #region 验证数据

                #region 用户是否登录
                if (userId <= 0)
                {
                    result.msg    = "请登录后再操作!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 收货地址
                if (orderEntity.addressid <= 0)
                {
                    result.msg    = "请选择收货地址!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 支付方式
                if (payId < 0)
                {
                    result.msg    = "请选择支付方式!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 配送方式
                if (orderEntity.logisticsid <= 0)
                {
                    result.msg    = "请选择配送方式!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 发票信息是否完整
                if (orderEntity.titletype == null)
                {
                    result.msg    = "请选择发票类型!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                if (orderEntity.titletype != Entity.Enum.Invoice.TitleType.NoNeed)
                {
                    if (orderEntity.invoicecategory == null)
                    {
                        result.msg    = "请选择发票分类!";
                        result.status = MResultStatus.ParamsError;
                        return(result);
                    }
                    if (orderEntity.titletype == Entity.Enum.Invoice.TitleType.Company && string.IsNullOrEmpty(orderEntity.invoicetitle))
                    {
                        result.msg    = "请填写发票抬头!";
                        result.status = MResultStatus.ParamsError;
                        return(result);
                    }
                }
                #endregion

                #endregion

                var memberInfo = memberDal.GetMemberInfo(uid);

                #region 验证用户是否存在
                if (memberInfo == null || memberInfo.membNo <= 0)
                {
                    result.msg    = "该用户不存在!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                //购物车商品数据
                List <ShoppingCartEntity> norMalShoppingCartList = null;

                #region 判断购物车是否有商品
                var shoppingCartList = shoppingCartDal.GetShoppingCartProductInfosByUserIDGuidChannelID(userId, guid, channelId);
                if (shoppingCartList == null || !shoppingCartList.Any())
                {
                    result.msg    = "购物车没有商品!";
                    result.status = MResultStatus.LogicError;
                    return(result);
                }
                norMalShoppingCartList = (from a in shoppingCartList
                                          where a.intIsDelete == 0
                                          select a).ToList();

                if (!norMalShoppingCartList.Any())
                {
                    result.msg    = "购物车没有商品!";
                    result.status = MResultStatus.LogicError;
                    return(result);
                }
                #endregion

                #region 该用户是否是黑名单
                var isExistBacklist = memberDal.CheckUserIdInBackList(userId);
                if (isExistBacklist)
                {
                    result.msg    = "您的用户出现异常,请联系我们的客服人员进行解决!";
                    result.status = MResultStatus.LogicError;
                    return(result);
                }
                #endregion

                //收货地址信息
                var addressInfo = memberDal.GetMemberAddressInfo(orderEntity.addressid);

                #region 验证收货地址
                #region 是否存在
                if (addressInfo == null || addressInfo.intAddressID <= 0 || addressInfo.intCityID <= 0 && payId <= 0 && orderEntity.logisticsid <= 0)
                {
                    result.msg    = "收货地址信息不正确!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion
                #endregion

                //配送方式
                var deliverInfo = baseDataDal.GetDeliverInfo(orderEntity.logisticsid);

                #region 验证配送方式
                if (deliverInfo == null || deliverInfo.intDeliverID == 0)
                {
                    result.msg    = "验证配送方式信息不正确!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 检查商品销售区域
                var checkGoodsSaleAreaState = CheckGoodsSaleArea(norMalShoppingCartList, userId, MCvHelper.To <int>(addressInfo.intCityID), channelId);
                if (checkGoodsSaleAreaState.Any())
                {
                    result.msg    = "有部分商品不在您选择的区域内销售!";
                    result.status = MResultStatus.LogicError;
                    result.data   = String.Join(",", checkGoodsSaleAreaState.ToArray());
                    return(result);
                }
                #endregion

                var summaryOrderInfo = SummaryOrderInfo(norMalShoppingCartList, channelId, userId,
                                                        payId, orderEntity.logisticsid,
                                                        MCvHelper.To <int>(addressInfo.intCityID));

                #region 开始创建订单
                if (summaryOrderInfo != null && summaryOrderInfo.TotalGoodsFee > 0)
                {
                    var order = new Sale_Order();

                    #region 订单主表信息
                    order.dtCreateDate    = DateTime.Now;
                    order.dtSendDate      = CheckDateTime(orderEntity.posttimetype, orderEntity.logisticsid);                    //处理送货日期
                    order.intChannel      = channelId;
                    order.intCreaterID    = 555;
                    order.intDeliverID    = orderEntity.logisticsid;
                    order.intLogisticsID  = 21;
                    order.intOrderState   = 1;
                    order.intOrderType    = 1;
                    order.intPayID        = payId;
                    order.intPayState     = 0;
                    order.intStockID      = 100;
                    order.intTotalStars   = summaryOrderInfo.TotalScore;
                    order.intUserID       = userId;
                    order.numAddAmount    = 0;
                    order.numCarriage     = summaryOrderInfo.TotalFreight;
                    order.numChange       = 0;
                    order.numGoodsAmount  = summaryOrderInfo.TotalGoodsFee;
                    order.numCouponAmount = summaryOrderInfo.TotalDiscountFee;
                    order.numReceAmount   = summaryOrderInfo.TotalOrderFee;
                    order.numWeight       = summaryOrderInfo.TotalWeight;
                    order.vchSendTime     = order.dtSendDate.ToShortTimeString();
                    order.vchUserCode     = memberInfo.userCode;
                    order.vchOrderCode    = GetOrderCode();
                    #endregion

                    #region 配送信息

                    var deliver = new Sale_Order_Deliver();
                    deliver.intAddressID  = addressInfo.intAddressID;
                    deliver.intCityID     = MCvHelper.To <int>(addressInfo.intCityID, 0);
                    deliver.vchCityName   = addressInfo.vchCityName;
                    deliver.vchConsignee  = addressInfo.vchConsignee;
                    deliver.intCountyID   = MCvHelper.To <int>(addressInfo.intCountyID, 0);
                    deliver.vchCountyName = addressInfo.vchCountyName;
                    deliver.vchDetailAddr = addressInfo.vchStateName + "," + addressInfo.vchCityName + "," + addressInfo.vchCountyName + "," + addressInfo.vchDetailAddr;
                    deliver.vchHausnummer = addressInfo.vchHausnummer;
                    deliver.vchMobile     = addressInfo.vchMobile;
                    deliver.vchPhone      = addressInfo.vchPhone;
                    deliver.vchPostCode   = addressInfo.vchPostCode;
                    deliver.vchRoadName   = addressInfo.vchRoadName;
                    deliver.intStateID    = MCvHelper.To <int>(addressInfo.intStateID, 0);
                    deliver.vchStateName  = addressInfo.vchStateName;
                    deliver.vchUserMemo   = orderEntity.remark;
                    deliver.vchOrderCode  = order.vchOrderCode;

                    #endregion

                    #region 发票信息

                    var invoice = new Sale_Order_Invoice();
                    if (orderEntity.titletype != null && orderEntity.titletype != Invoice.TitleType.NoNeed)
                    {
                        if (orderEntity.titletype == Invoice.TitleType.Personal)
                        {
                            invoice.vchInvoicTitile = "个人";
                        }
                        else if (orderEntity.titletype == Invoice.TitleType.Company)
                        {
                            invoice.vchInvoicTitile = orderEntity.invoicetitle;
                        }

                        invoice.intInvoiceType = (int)orderEntity.invoicecategory;
                        invoice.intInvoiceKind = 1;
                        invoice.numAmount      = order.numReceAmount;
                        invoice.dtBillingTime  = DateTime.Now;
                        invoice.dtCreateDate   = DateTime.Now;
                        invoice.intIsBilling   = 1;
                        invoice.intIsDetail    = 0;
                        invoice.vchOrderCode   = order.vchOrderCode;
                        invoice.vchPhone       = addressInfo.vchPhone;
                        invoice.intUserID      = userId;
                    }

                    #endregion

                    #region 保存订单
                    string message;
                    result.info.oid = orderDal.SaveWebOrder(order, invoice, deliver, null, userId, guid, channelId,
                                                            MCvHelper.To <int>(memberInfo.clusterId, 0), -1, out message);
                    if (result.info.oid > 0)
                    {
                        #region 清空购物车
                        shoppingCartDal.ClearShoppingCart(userId);
                        #endregion

                        #region  步订单信息到 BBHome
                        orderDal.SyncOrderInfoToBBHome(order.vchOrderCode);
                        #endregion

                        result.status = MResultStatus.Success;

                        var payType = string.Empty;
                        if (payId == 0)
                        {
                            payType = "货到付款";
                        }
                        else if (payId == 1)
                        {
                            payType = "在线支付";
                        }
                        var postTimetype = string.Empty;
                        switch (orderEntity.posttimetype)
                        {
                        case 1:
                            postTimetype = "工作日送货";
                            break;

                        case 2:
                            postTimetype = "工作日、双休日均可送货";
                            break;

                        case 3:
                            postTimetype = "只双休日送货";
                            break;
                        }

                        result.info.ocode         = order.vchOrderCode;
                        result.info.paytype       = payType;
                        result.info.logisticstype = deliverInfo.vchDeliverName;
                        result.info.total_fee     = order.numGoodsAmount;
                        result.info.total_freight = order.numCarriage;
                        result.info.total_order   = order.numReceAmount;
                        result.info.posttimetype  = postTimetype;
                    }

                    #endregion
                }
                #endregion
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExecutionError;
                MLogManager.Error(MLogGroup.Order.创建订单, null, "", ex);
            }

            return(result);
        }
示例#7
0
        /// <summary>
        /// 获取运费总额
        /// </summary>
        /// <param name="channelId"></param>
        /// <param name="userId"> </param>
        /// <param name="cityId"></param>
        /// <param name="payId"></param>
        /// <param name="deliverId"> </param>
        /// <param name="totalWeight"></param>
        /// <param name="orderTotal"> </param>
        /// <returns></returns>
        public static MResult <decimal> GetLogisticsInfo(int channelId, int userId, int cityId, int payId, int deliverId, long totalWeight, decimal orderTotal)
        {
            var result = new MResult <decimal>(true);

            try
            {
                var baseDataDal  = DALFactory.BaseData();
                var deliveryInfo = baseDataDal.GetDeliverInfo(deliverId);

                if (MCvHelper.To <byte>(deliveryInfo.intIsCarriage, 0) == 1)
                {
                    //上门自提,先不收运费
                    if (deliverId == 8)
                    {
                        result.info = 0;
                    }
                    else
                    {
                        //否则根据城市id 计算运费
                        result.info = baseDataDal.GetCarriage(totalWeight, deliverId, cityId);

                        #region  中通满100元江浙免运费

                        /*
                         * if (orderTotal >= 100 && deliverId == 3)
                         * {
                         *  List<City> clist = CityArea.GetCities(10);
                         *  clist.AddRange(CityArea.GetCities(11));
                         *
                         *  if (clist.Any(c => c.RegionId == cityId))
                         *  {
                         *      result.info = 0;
                         *  }
                         * }
                         */
                        #endregion
                    }
                }
                else
                {
                    var memberDal  = DALFactory.Member();
                    var memberInfo = memberDal.GetMemberInfo(userId.ToString());

                    //选择不需要运费的送货方式则50元起送,不足50元则加5元运费
                    if (deliverId == 8)
                    {
                        result.info = 0;
                    }
                    if (orderTotal < 50 && deliverId == 1)
                    {
                        result.info = 5;
                    }

                    if (orderTotal < 100 && deliverId == 6)
                    {
                        result.info = 5;
                    }

                    //月亮太阳会员不收运费
                    if (memberInfo != null &&
                        (memberInfo.clusterId == 3 || memberInfo.clusterId == 4 || memberInfo.clusterId == 17 || memberInfo.clusterId == 18))
                    {
                        result.info = 0;
                    }
                }
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "获取运费总额 错误!";
            }

            return(result);
        }
示例#8
0
        /// <summary>
        /// 获取全部区域列表数据
        /// </summary>
        /// <returns></returns>
        public static MResult <List <ItemRegion>[]> GetAllRegionList()
        {
            var result = new MResult <List <ItemRegion>[]>();

            try
            {
                var provinceList = new List <ItemRegion>();
                var cityList     = new List <ItemRegion>();
                var countyList   = new List <ItemRegion>();

                var basedata = DALFactory.BaseData();
                var list     = basedata.GetAllRegionList(0);

                #region 处理地区数据 转换
                list.ForEach(item =>
                {
                    try
                    {
                        var regionType = string.Empty;
                        switch (item.intRegionType)
                        {
                        case 1:
                            regionType = "国家";
                            break;

                        case 2:
                            regionType = "省/直辖市";
                            provinceList.Add(new ItemRegion()
                            {
                                id   = item.intRegionID,
                                name = item.vchRegionName,
                                zip  = item.vchPostCode,
                                code = item.vchShortSpell,
                                pid  = item.intFRegionID,
                                type = regionType
                            });
                            break;

                        case 3:
                            regionType = "地区";
                            cityList.Add(new ItemRegion()
                            {
                                id   = item.intRegionID,
                                name = item.vchRegionName,
                                zip  = item.vchPostCode,
                                code = item.vchShortSpell,
                                pid  = item.intFRegionID,
                                type = regionType
                            });
                            break;

                        case 4:
                            regionType = "区县";
                            countyList.Add(new ItemRegion()
                            {
                                id   = item.intRegionID,
                                name = item.vchRegionName,
                                zip  = item.vchPostCode,
                                code = item.vchShortSpell,
                                pid  = item.intFRegionID,
                                type = regionType
                            });
                            break;

                        default:
                            regionType = item.intRegionType + "";
                            break;
                        }
                    }
                    catch
                    {
                    }
                });
                #endregion

                result.info = new[]
                {
                    provinceList,
                    cityList,
                    countyList
                };

                result.status = MResultStatus.Success;
                return(result);
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "获取区域列表数据异常";
            }
            return(result);
        }
示例#9
0
        /// <summary>
        /// 订单支付
        /// </summary>
        /// <param name="sType"></param>
        /// <param name="userId"></param>
        /// <param name="uid"></param>
        /// <param name="oCode"></param>
        /// <param name="payId"></param>
        /// <returns></returns>
        public static MResult <string> OrderPayment(SystemType sType, int userId, string uid, string oCode, int payId)
        {
            var result = new MResult <string>();

            try
            {
                if (userId > 0 && !string.IsNullOrEmpty(oCode) && payId > 0)
                {
                    var orderDal    = DALFactory.Order();
                    var baseDataDal = DALFactory.BaseData();
                    var memberDal   = DALFactory.Member();

                    var memberInfo = memberDal.GetMemberInfo(userId);
                    #region 验证用户id
                    if (memberInfo == null || memberInfo.membNo <= 0)
                    {
                        result.status = Core.Enums.MResultStatus.LogicError;
                        result.msg    = "用户不存在!";
                        return(result);
                    }
                    #endregion

                    var orderInfo = orderDal.GetOrderInfo(oCode);
                    //订单编码正确
                    if (orderInfo != null && orderInfo.orderNo > 0)
                    {
                        #region 验证订单创建用户
                        if (orderInfo.userCode != memberInfo.userCode)
                        {
                            result.status = Core.Enums.MResultStatus.LogicError;
                            result.msg    = "该订单不属于次用户!";
                            return(result);
                        }
                        #endregion

                        #region 验正 订单状态
                        if (orderInfo.flowStatus < 0)
                        {
                            result.status = Core.Enums.MResultStatus.LogicError;
                            result.msg    = "订单状态错误!";
                            return(result);
                        }
                        #endregion

                        #region 验证 订单支付状态
                        if (orderInfo.payStatus != 0)
                        {
                            result.status = Core.Enums.MResultStatus.LogicError;
                            result.msg    = "订单支付状态错误!";
                            return(result);
                        }
                        #endregion

                        var payInfo = baseDataDal.GetPaymentInfo(payId);

                        #region 验证支付信息
                        if (payInfo == null)
                        {
                            result.status = Core.Enums.MResultStatus.LogicError;
                            result.msg    = "支付方式错误!";
                            return(result);
                        }
                        #endregion

                        var payCofnig = new PayConfigs()
                        {
                            OutTradeNo      = string.Format("{0}-{1}", orderInfo.orderCode, orderInfo.userCode),
                            OutUser         = memberInfo.email,
                            Subject         = "母婴之家订单支付",
                            RequestIdentity = string.Format("{0}_{1}", orderInfo.userCode, memberInfo.email),
                            //TotalFee = MCvHelper.To(orderInfo.shouldPay, "0.00")
                            //TODO: 测试支付的时候请取消注视
                            TotalFee = MCvHelper.To("0.01", "0.00")
                        };

                        switch (payInfo.intPayID)
                        {
                            #region 支付宝(手机)支付
                        case 20049:
                        {
                            var paymentManage = new AlipayWapPayment(payCofnig);
                            result.info   = paymentManage.Init().CreateRequestUrl();
                            result.status = Core.Enums.MResultStatus.Success;
                            break;
                        }
                            #endregion

                            #region 默认值
                        default:
                            result.status = Core.Enums.MResultStatus.LogicError;
                            result.msg    = "该支付方式wcf 不支持! 请联系客服!";
                            break;
                            #endregion
                        }
                    }
                    else
                    {
                        result.status = Core.Enums.MResultStatus.LogicError;
                        result.msg    = "订单编码错误!";
                    }
                }
                else
                {
                    result.status = Core.Enums.MResultStatus.ParamsError;
                    result.msg    = "参数错误!";
                }
            }
            catch (Exception)
            {
                result.status = Core.Enums.MResultStatus.ExceptionError;
                result.msg    = "订单支付 执行出现异常!";
            }

            return(result);
        }