目录
#region web私有方法
/// <summary>
/// </summary>
/// <param name="actionId">活动编号</param>
/// <param name="skuId">规格</param>
/// <param name="count">数量</param>
/// <returns></returns>
static List<CartItemModel> GenerateGroupItem(long actionId, string skuId, int count, long? groupId = null)
{
bool isnewgroup = false;
if (groupId > 0)
{
isnewgroup = true;
}
List<CartItemModel> result = new List<CartItemModel>();
var actobj = FightGroupApplication.GetActive(actionId);
var sku = actobj.ActiveItems.FirstOrDefault(d => d.SkuId == skuId);
if (sku == null)
{
throw new HimallException("错误的规格信息");
}
if (count > actobj.LimitQuantity)
{
throw new HimallException("超过最大限购数量:" + actobj.LimitQuantity.ToString() + "");
}
if (sku.ActiveStock < count)
{
//throw new HimallException("库存不足");
}
if (isnewgroup)
{
if (actobj.ActiveStatus != CommonModel.FightGroupActiveStatus.Ongoing)
{
throw new HimallException("拼团活动已结束,不可以开团");
}
}
ProductTypeInfo typeInfo = ServiceProvider.Instance<ITypeService>.Create.GetTypeByProductId(sku.ProductId);
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;
}
var product = ProductManagerApplication.GetProduct(sku.ProductId);
var data = new CartItemModel()
{
skuId = skuId,
id = sku.ProductId,
imgUrl = HimallIO.GetRomoteProductSizeImage(actobj.ProductImgPath, 1, (int)ImageSize.Size_100),
name = actobj.ProductName,
shopId = actobj.ShopId,
price = sku.ActivePrice,
count = count,
productCode = actobj.ProductCode,
unit = actobj.MeasureUnit,
size = sku.Size,
color = sku.Color,
version = sku.Version,
skuDetails = skuDetails,
IsSelf = ShopApplication.IsSelfShop(actobj.ShopId),
ColorAlias = colorAlias,
SizeAlias = sizeAlias,
VersionAlias = versionAlias,
FreightTemplateId = actobj.FreightTemplateId,
IsOpenLadder = product.IsOpenLadder
};
result.Add(data);
return result;
}
/// <summary>
/// </summary>
/// <param name="orderId"></param>
/// <param name="userId"></param>
public static void DealDithOrderCategoryByUserId(long orderId, long userId)
{
var orderItem = GetOrderItemsByOrderId(orderId);
var productIds = orderItem.Select(p => p.ProductId);
var product = ProductManagerApplication.GetProductsByIds(productIds);
foreach (var item in product)
{
var categoryId = long.Parse(item.CategoryPath.Split('|')[0]);
OrderAndSaleStatisticsApplication.SynchronizeMemberBuyCategory(categoryId, userId);
}
}
/// <summary>
public static void PlatformConfirmOrderPay(long orderId, string payRemark, string managerName)
{
_iOrderService.PlatformConfirmOrderPay(orderId, payRemark, managerName);
}
/// <summary>