コード例 #1
0
        /// <summary>
        /// 构造函数
        /// </summary>
        public BaseWcfService()
        {
            var httpContext = HttpContext.Current;

            if (httpContext != null)
            {
                var args = httpContext.Request.Url.Segments;
                for (var i = 0; i < args.Length; i++)
                {
                    args[i] = ValidateUtility.CheckNull(args[i].Trim(new char[] { '/', '\\', ' ' })).ToString();
                }
                if (args.Length >= 8)
                {
                    SystemType = MCvHelper.To <SystemType>(args[3]);
                    Token      = MCvHelper.To <string>(args[4]);
                    Guid       = MCvHelper.To <string>(args[5]);
                    UserId     = MCvHelper.To <int>(args[6]);
                    Uid        = MCvHelper.To <string>(args[7]);
                }
                else
                {
                    MLogManager.Error(MLogGroup.WcfService.构造函数, "", "wcf 服务基类 构造函数初始化 ,uri参数错误");
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// 获取商品图片列表
        /// </summary>
        /// <param name="sid"></param>
        /// <param name="uid"></param>
        /// <param name="gid"></param>
        /// <returns></returns>
        public static MResultList <ProductImg> GetGoodsPicList(string sid, string uid, int gid)
        {
            var result = new MResultList <ProductImg>(true);

            try
            {
                var goods = DALFactory.Goods();
                var list  = goods.GetGoodsPicList(gid);
                list.ForEach(picInfo =>
                {
                    try
                    {
                        result.list.Add(new ProductImg
                        {
                            id         = picInfo.intPicID,
                            product_id = picInfo.intProductID,
                            url        = FormatProductPicUrl(picInfo.vchPicURL),
                            position   = MCvHelper.To <int>(picInfo.vchPicType, 0),
                            created    = picInfo.dtAddTime
                        });
                    }
                    catch
                    { }
                });
                result.status = MResultStatus.Success;
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExecutionError;
                result.msg    = "查询商品列表数据出错!";
            }

            return(result);
        }
コード例 #3
0
        /// <summary>
        /// 检查null 值
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static object CheckNull(object obj)
        {
            object result = obj;

            if (obj != null && obj is String)
            {
                try
                {
                    var val  = obj.ToString();
                    var iVal = MCvHelper.To <int>(val, -1);
                    if (iVal == -1)
                    {
                        var verifyStrs = new string[] { "NULL", "_" };
                        if (!verifyStrs.Contains(val.ToUpper()))
                        {
                            result = val;
                        }
                        else
                        {
                            result = string.Empty;
                        }
                    }
                }
                catch
                {
                }
            }
            return(result);
        }
コード例 #4
0
        /// <summary>
        /// 订单汇总信息
        /// </summary>
        /// <param name="norMalShoppingCart">购物车列表</param>
        /// <param name="channelId">区域ID</param>
        /// <param name="userId">用户id</param>
        /// <param name="payId">支付id</param>
        /// <param name="logisticsId">配送id</param>
        /// <param name="cityId">城市id</param>
        /// <returns></returns>
        public static OrderSumaryEntity SummaryOrderInfo(List <ShoppingCartEntity> norMalShoppingCart, int channelId, int userId, int payId, int logisticsId, int cityId)
        {
            var result = new OrderSumaryEntity();

            try
            {
                result.TotalScore    = norMalShoppingCart.Sum(c => c.intScore * c.intBuyCount);
                result.TotalGoodsFee = norMalShoppingCart.Sum(c => c.intBuyCount * c.numSalePrice);
                result.TotalWeight   = norMalShoppingCart.Sum(c => c.intBuyCount * c.intWeight ?? 0);
                result.TotalOriginal = norMalShoppingCart.Sum(c => c.intBuyCount * c.numOrgPrice);
                result.TotalFreight  =
                    BaseDataBLL.GetLogisticsInfo(
                        channelId,
                        userId,
                        MCvHelper.To <int>(cityId, 0),
                        payId, logisticsId,
                        result.TotalWeight, result.TotalGoodsFee).info;
                result.TotalDiscountFee = result.TotalGoodsFee -
                                          result.TotalOriginal;
                result.TotalOrderFee = result.TotalFreight +
                                       result.TotalGoodsFee -
                                       result.TotalDiscountFee;
            }
            catch (Exception ex)
            {
                MLogManager.Error(MLogGroup.Order.订单汇总信息, null, "", ex);
            }
            return(result);
        }
コード例 #5
0
 /// <summary>
 /// 同步订单信息到 BBHome
 /// </summary>
 /// <param name="orderCode"></param>
 /// <returns></returns>
 public bool SyncOrderInfoToBBHome(string orderCode)
 {
     using (var db = new HolycaEntities())
     {
         var objectParameter = new ObjectParameter("result", DbType.Int32);
         db.Up_Syn_ToBBHome_Now(orderCode, objectParameter);
         return(MCvHelper.To <int>(objectParameter.Value, -1) != -1);
     }
 }
コード例 #6
0
        /// <summary>
        /// 合并购物车商品
        /// </summary>
        /// <param name="guid"></param>
        /// <param name="channelId"></param>
        /// <param name="uid"></param>
        /// <param name="userID"></param>
        /// <returns></returns>
        public static bool MergeShoppingCartGoods(string guid, int channelId, string uid, int userID)
        {
            var result           = false;
            var mergeSuccessGids = new List <int>();
            var shoppingCart     = DALFactory.ShoppingCartDal();

            //guid 的 购物车数据
            var guidList = shoppingCart.GetShoppingCartProductInfosByUserIDGuidChannelID(0, guid, channelId);
            //userId 的 购物车数据
            var userIdList = shoppingCart.GetShoppingCartProductInfosByUserIDGuidChannelID(userID, "", channelId);

            if (guidList != null && guidList.Any())
            {
                //userId 的 所有商品id
                var gidListByUserId = new List <int>();
                //获取 userId 的 所有商品id
                userIdList.ForEach(item => gidListByUserId.Add(item.intProductID));

                guidList.ForEach(item =>
                {
                    try
                    {
                        var insertResult = InsertShoppingCart(MCvHelper.To <int>(channelId),
                                                              "",
                                                              item.vchGuid,
                                                              userID + "",
                                                              uid,
                                                              item.intAreaID + "",
                                                              item.intProductID + "",
                                                              item.intBuyCount + "");

                        //删除已经合并的 购物车商品
                        if (shoppingCart.DeleteShoppingCartByProductIdUserID(item.intShopCartID))
                        {
                            mergeSuccessGids.Add(item.intProductID);
                        }
                    }
                    catch
                    {
                    }
                });
            }
            if (mergeSuccessGids.Count > 0)
            {
                result = true;
            }

            return(result);
        }
コード例 #7
0
 /// <summary>
 /// 计算运费
 /// </summary>
 /// <param name="weight"></param>
 /// <param name="deliveId"></param>
 /// <param name="cityId"></param>
 /// <returns></returns>
 public decimal GetCarriage(long weight, int deliveId, int cityId)
 {
     using (var db = new HolycaEntities())
     {
         decimal result        = 0;
         var     objectParams  = new System.Data.Objects.ObjectParameter("intcarriage", DbType.Int32);
         var     carriage      = db.Up_ShopCart_GetCarriage((int)weight, deliveId, cityId, objectParams);
         var     upOutPutValue = MCvHelper.To <int>(objectParams.Value, 0);
         if (upOutPutValue > 0)
         {
             result = upOutPutValue / 100;
         }
         return(result);
     }
 }
コード例 #8
0
        public MResultList <ItemRegion> GetRegionList(string sid, string token, string guid, string user_id, string uid, string parentid)
        {
            var result = new MResultList <ItemRegion>();

            try
            {
                var parentId = MCvHelper.To <int>(parentid);
                result = BaseDataBLL.GetRegionList(parentId);
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "处理数据出错!";
            }
            return(result);
        }
コード例 #9
0
        public MResult RemoveShoppingCartByScId(string sid, string token, string guid, string user_id, string uid, string shoppingcarid)
        {
            var result = new MResult();

            try
            {
                var shoppcartId = MCvHelper.To <int>(shoppingcarid);
                result = ShoppingCartBll.DeleteShoppingCartByProductIdUserID(shoppcartId);
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "处理数据出错!";
            }
            return(result);
        }
コード例 #10
0
        public MResult SetDefaultAddress(string sid, string token, string guid, string user_id, string uid, string address_id)
        {
            var result = new MResult();

            try
            {
                var addressId = MCvHelper.To <int>(address_id);
                result = MemberBLL.SetDefaultAddress(UserId, addressId);
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "处理数据出错!";
            }

            return(result);
        }
コード例 #11
0
        public MResult <AddressEntity> GetAddressInfo(string sid, string token, string guid, string user_id, string uid, string address_id)
        {
            var result = new MResult <AddressEntity>();

            try
            {
                var addressId = MCvHelper.To <int>(address_id);
                result = MemberBLL.GetAddressInfo(addressId);
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "处理数据出错!";
            }

            return(result);
        }
コード例 #12
0
        /// <summary>
        /// 递归商品分类
        /// </summary>
        /// <param name="sType"> </param>
        /// <param name="pid"> </param>
        /// <param name="goodsCategoryList"></param>
        /// <returns></returns>
        public static List <ItemGoodsCategory> RecursiveGoodsCategory(SystemType sType, int pid, List <Web_Pdt_Type> goodsCategoryList)
        {
            var result = new List <ItemGoodsCategory>();

            if (goodsCategoryList.Any())
            {
                var level1List = goodsCategoryList.FindAll(item => item.intCateFather == pid);
                if (!level1List.Any())
                {
                    return(result);
                }

                foreach (var level1Info in level1List)
                {
                    var level1Entity = new ItemGoodsCategory();
                    level1Entity.id = level1Info.intCateID;

                    #region 判断系统
                    if (sType == SystemType.MobileWebSite)
                    {
                        level1Entity.name = level1Info.vchCateName;
                    }
                    else if (sType == SystemType.WebSite)
                    {
                        level1Entity.name = level1Info.vchWebShowName;
                    }
                    else
                    {
                        level1Entity.name = level1Info.vchCateName;
                    }
                    #endregion

                    level1Entity.pid = MCvHelper.To <int>(level1Info.intCateFather, 0);

                    var level2List = goodsCategoryList.FindAll(item => item.intCateFather == level1Info.intCateID);
                    if (level2List.Any())
                    {
                        level1Entity.child = RecursiveGoodsCategory(sType, level1Info.intCateID, goodsCategoryList);
                    }

                    result.Add(level1Entity);
                }
            }
            return(result);
        }
コード例 #13
0
        public MResultList <ItemPay> GetPayMentList(string sid, string token, string guid, string user_id, string uid, string regionid)
        {
            var result = new MResultList <ItemPay>();

            try
            {
                var regionId = MCvHelper.To <int>(regionid);
                result = MCacheManager.UseCached <MResultList <ItemPay> >(
                    string.Format("GetPayList_{0}_{1}", sid, regionid),
                    MCaching.CacheGroup.BaseData, () => BaseDataBLL.GetPaymentList((int)SystemType, regionId));
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "处理数据出错!";
            }
            return(result);
        }
コード例 #14
0
        public MResult SetShoppingCartGoodsNum(string sid, string token, string guid, string user_id, string uid, string shoppingcarid, string gid, string num)
        {
            var result = new MResult();

            try
            {
                var Gid         = MCvHelper.To <int>(gid);
                var shoppcartId = MCvHelper.To <int>(shoppingcarid);
                var Num         = MCvHelper.To <int>(num);
                result = ShoppingCartBll.SetShoppingCartGoodsNum(UserId, guid, shoppcartId, Gid, Num);
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "处理数据出错!";
            }
            return(result);
        }
コード例 #15
0
        public MResultList <ItemPay> GetPayList(string sid, string token, string guid, string user_id, string uid,
                                                string paygroupid)
        {
            var result = new MResultList <ItemPay>();

            try
            {
                var paygroupId = MCvHelper.To <int>(paygroupid);
                result = BaseDataBLL.GetPayList(SystemType, paygroupId);
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "处理数据出错!";
            }

            return(result);
        }
コード例 #16
0
        public MResultList <ItemOrder> GetOrdersList(string sid, string token, string guid, string user_id, string uid, string begintime, string endtime)
        {
            var result = new MResultList <ItemOrder>();

            try
            {
                var begimTime = MCvHelper.To <DateTime>(begintime, DateTime.Now.AddMonths(-1));
                var endTime   = MCvHelper.To <DateTime>(endtime, DateTime.Now);

                result = OrderBLL.GetOrdersList((int)SystemType, Uid, UserId, begimTime, endTime);
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "处理数据出错!";
            }

            return(result);
        }
コード例 #17
0
 /// <summary>
 /// 更新订单所有状态
 /// </summary>
 /// <param name="orderList"></param>
 public void UpdateOrderAllStatus(ref List <Sale_Order> orderList)
 {
     if (orderList != null && orderList.Any())
     {
         try
         {
             var oCodes = new List <string>();
             orderList.ForEach(item => oCodes.Add(item.vchOrderCode));
             var orderStatusList = GetOrderAllStatusByOrderCodes(oCodes);
             orderList.ForEach(item =>
             {
                 var orderAllStatus = orderStatusList.Find(o => o.OrderCode == item.vchOrderCode);
                 if (orderAllStatus != null && !string.IsNullOrEmpty(orderAllStatus.OrderCode))
                 {
                     item.intPayState   = MCvHelper.To(orderAllStatus.PayStatus, 0);
                     item.intOrderState = MCvHelper.To(orderAllStatus.OrderStatus, 1);
                 }
             });
         }
         catch (Exception)
         {
         }
     }
 }
コード例 #18
0
        /// <summary>
        /// 获取 配置文件 AppSettings 节点的值
        /// </summary>
        /// <param name="key">配置文件的Key</param>
        /// <param name="def">如果不存在</param>
        /// <returns></returns>
        public static T GetAppSettingsValue <T>(string key, params T[] def)
        {
            object val = null;

            try
            {
                if (Config.AppSettings.Settings.AllKeys.Contains(key))
                {
                    val = Config.AppSettings.Settings[key].Value;
                }
                else if (def.Length > 0)
                {
                    if (AddAppSettings(key, def[0].ToString()))
                    {
                        val = def[0];
                    }
                }
            }
            catch (Exception ex)
            {
                MLogManager.Error(MLogGroup.Other.配置文件操作, null, string.Format("获取 配置文件 AppSettings 节点 {0}={1}", key, def[0]), ex);
            }
            return(MCvHelper.To <T>(val));
        }
コード例 #19
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);
        }