• Himall商城- web私有方法


    目录

    1 Himall商城- web私有方法

    1.1 /// 订单提交页面,需要展示的数据

    1.1.1 //默认SKU销售价

    1.1.2 //商品批量销售价

    1. Himall商城- web私有方法

       #region web私有方法

            ///

      1.         /// 订单提交页面,需要展示的数据

            ///

            static List GenerateCartItem(IEnumerable skuIds, IEnumerable counts)

            {

                int i = 0;

                var products = skuIds.Select(item =>

                {

                    var sku = _iProductService.GetSku(item);

                    var count = counts.ElementAt(i++);

                    var product = _iProductService.GetProduct(sku.ProductInfo.Id);

                    var ltmbuy = _iLimitTimeBuyService.GetLimitTimeMarketItemByProductId(sku.ProductInfo.Id);

        1.                 //默认SKU销售价

                    var price = sku.SalePrice;

                    if (ltmbuy != null)

                    {

                        if (count > ltmbuy.LimitCountOfThePeople)

                            throw new HimallException("超过最大限购数量:" + ltmbuy.LimitCountOfThePeople.ToString() + "");

                    }

                    else

                    {

                        #region 阶梯价--张宇枫

                        if (product.IsOpenLadder)

                        {

        1.                         //商品批量销售价

                            price = ProductManagerApplication.GetProductLadderPrice(product.Id, count);

                        }

                        #endregion

                    }

                    if (sku.Stock < count)

                    {

                        //throw new HimallException("库存不足");

                    }

                    ProductTypeInfo typeInfo = ServiceProvider.Instance.Create.GetTypeByProductId(sku.ProductInfo.Id);

                    string colorAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.ColorAlias)) ? SpecificationType.Color.ToDescription() : typeInfo.ColorAlias;

                    string sizeAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.SizeAlias)) ? SpecificationType.Size.ToDescription() : typeInfo.SizeAlias;

                    string versionAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.VersionAlias)) ? SpecificationType.Version.ToDescription() : typeInfo.VersionAlias;

                    string skuDetails = "";

                    if (!string.IsNullOrWhiteSpace(sku.Size))

                    {

                        if (!string.IsNullOrWhiteSpace(skuDetails))

                        {

                            skuDetails += "、";

                        }

                        skuDetails += sku.Size;

                    }

                    if (!string.IsNullOrWhiteSpace(sku.Color))

                    {

                        if (!string.IsNullOrWhiteSpace(skuDetails))

                        {

                            skuDetails += "、";

                        }

                        skuDetails += sku.Color;

                    }

                    if (!string.IsNullOrWhiteSpace(sku.Version))

                    {

                        if (!string.IsNullOrWhiteSpace(skuDetails))

                        {

                            skuDetails += "、";

                        }

                        skuDetails += sku.Version;

                    }

                    return new CartItemModel()

                    {

                        skuId = item,

                        id = sku.ProductInfo.Id,

                        imgUrl = Core.HimallIO.GetRomoteProductSizeImage(sku.ProductInfo.RelativePath, 1, (int)(ImageSize.Size_100)),

                        name = sku.ProductInfo.ProductName,

                        shopId = sku.ProductInfo.ShopId,

                        price = ltmbuy == null ? price : (decimal)_iLimitTimeBuyService.GetDetail(item).Price,

                        count = count,

                        productCode = sku.ProductInfo.ProductCode,

                        unit = sku.ProductInfo.MeasureUnit,

                        size = sku.Size,

                        color = sku.Color,

                        version = sku.Version,

                        skuDetails = skuDetails,

                        IsSelf = sku.ProductInfo.Himall_Shops.IsSelf,

                        ColorAlias = colorAlias,

                        SizeAlias = sizeAlias,

                        VersionAlias = versionAlias,

                        IsLimit = ltmbuy != null,

                        FreightTemplateId = sku.ProductInfo.FreightTemplateId,

                        IsOpenLadder = sku.ProductInfo.IsOpenLadder

                    };

                }).ToList();

                return products;

            }

            ///

  • 相关阅读:
    基于RabbitMQ的模拟消息队列之四——内存管理
    笔试面试相关记录(13)
    牛客网:NC126 兑换零钱(一)
    可以在家干的兼职都有哪些呢?做自媒体怎么样?
    循环服务器
    [iOS开发]事件处理与响应者链
    欧拉公式的三种证明方法:导数、幂级数、极坐标
    046:mapboxGL加载天地图路网图+标记(wmts方式)
    理学知识01-ppm、ppb、ppt换算
    推荐系统专题 | CTR预测跨域处理的解决方案
  • 原文地址:https://blog.csdn.net/m0_74456535/article/details/132738070