Himall商城- web私有方法

目录

[1 Himall商城- web私有方法](#1 Himall商城- web私有方法)

[1.1 /// 订单提交页面,需要展示的数据](#1.1 /// 订单提交页面,需要展示的数据)

[1.1.1 //默认SKU销售价](#1.1.1 //默认SKU销售价)

[1.1.2 //商品批量销售价](#1.1.2 //商品批量销售价)

  1. Himall商城- web私有方法

#region web私有方法

/// <summary>

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

/// </summary>

static List<CartItemModel> GenerateCartItem(IEnumerable<string> skuIds, IEnumerable<int> 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<ITypeService>.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;

}

/// <summary>

相关推荐
服务器硬件项目经理3 分钟前
《超节点修仙录》· 第一卷·炼气期【第02话】 超节点的「身体构造」——CPU、GPU、内存、网卡都是干啥的
服务器·嵌入式硬件·gru·硬件工程·硬件
计算机编程-吉哥5 分钟前
计算机毕业设计 基于 SpringBoot + Vue 的剧本杀系统 Java毕业设计【任务书、开题报告、中期报告、论文、源码】
java·vue.js·spring boot·毕业设计·课程设计·计算机毕业设计选题
涛涛ing11 分钟前
React Compiler 1.0 之后,状态管理库正在被重新定义
前端
code2cat15 分钟前
【随笔】RAG语义缓存:问题很相似,答案就能直接复用吗
java·缓存·知识库·rag
乘风gg17 分钟前
出事了,AI 提效后,老板让我裁员20%
前端·后端·ai编程
Amos_Web19 分钟前
Rspack 源码解析(三十二):rspack_plugin_runtime 如何抽象 chunk 加载与启动
前端
Amos_Web31 分钟前
通过 Rspack 源码学 Rust(二):所有权、借用与 `&mut`
前端
Rain的Java大神之路37 分钟前
面了 50 个候选人,90% 都挂在 LeetCode 3 无重复字符的最长子串:滑动窗口的 5 个致命坑
java·后端·leetcode
计算机魔术师37 分钟前
AI公司把「灾难性风险」写进招股书?Anthropic这5处反常
前端
西凉的悲伤38 分钟前
Jsoup 库 HTML 解析详解
java·前端·html·jsoup