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>

相关推荐
一tiao咸鱼3 分钟前
前端转 agent # 02 - FastAPI 框架入门与原理
前端·python
wanghowie9 分钟前
LangGraph4j 落地(二)— ReAct 多步工具与 trace 扩展
前端·react.js·前端框架
code_std12 分钟前
java WebSocket 使用
java·开发语言·websocket
落叶-IT26 分钟前
Java Scanner 类精讲:控制台交互
java·开发语言
大家的林语冰27 分钟前
Rust 再次打败 Go,Astro 7 首发,什么叫“万物皆可锈化“!
前端·javascript·性能优化
lichenyang45329 分钟前
H5 如何调用 ArkTS:JavaScriptProxy、requestId 和 Promise 回调
前端
lichenyang45330 分钟前
我在 HarmonyOS 上写了一个轻量级小程序运行时:从 Web 容器到 JSBridge
前端
雪隐30 分钟前
用Flutter做背单词APP-02我画了设计稿,然后让AI帮我设计了数据库(顺便聊了会天)
前端·人工智能·后端
lichenyang45330 分钟前
不要把 JSBridge 写成 if else:Dispatcher、Registry 和 Biz/Imp 分层
前端
前端甜糖30 分钟前
前端如何实现在线预览office常见文件功能?
前端·vue.js