目录
1.2 List<BaseCoupon> coupons = new List<BaseCoupon>();
1.3 BaseCoupon c = new BaseCoupon();
#region web私有方法
/// <summary>
/// </summary>
static List<BaseCoupon> GetBaseCoupon(long shopId, long userId, decimal totalPrice, List<CartItemModel> cartItems, bool isPc = false)
{
var userCoupons = CouponApplication.GetUserCoupon(shopId, userId, totalPrice);
var userBonus = ShopBonusApplication.GetDetailToUse(shopId, userId, totalPrice);
foreach (var coupon in userCoupons)
{
if (coupon.Himall_Coupon.UseArea == 1)
{
var pids = CouponApplication.GetCouponProductsByCouponId(coupon.CouponId).Select(p => p.ProductId).ToList();
decimal totalAmount = 0;
var canUse = false;
foreach (var cartitem in cartItems)
{
if (pids.Contains(cartitem.id))
{
totalAmount += cartitem.count * cartitem.price;
canUse = true;
}
}
if (canUse && totalAmount >= coupon.Himall_Coupon.OrderAmount)
{
BaseCoupon c = new BaseCoupon();
c.BaseEndTime = coupon.BaseEndTime;
c.BaseId = coupon.BaseId;
c.BaseName = coupon.BaseName;
if (isPc)
c.BasePrice = coupon.BasePrice > totalAmount ? totalAmount : coupon.BasePrice;
else
{
c.BasePrice = coupon.BasePrice;
}
c.BaseShopId = coupon.BaseShopId;
c.BaseShopName = coupon.BaseShopName;
c.BaseType = coupon.BaseType.GetHashCode() == 0 ? CouponType.Coupon : CouponType.ShopBonus;
c.OrderAmount = coupon.Himall_Coupon.OrderAmount;
c.UseArea = coupon.Himall_Coupon.UseArea;
c.Remark = coupon.Himall_Coupon.Remark;
c.StartDateStr = coupon.Himall_Coupon.StartTime.ToString("yyyy.MM.dd");
c.EndDateStr = coupon.Himall_Coupon.EndTime.ToString("yyyy.MM.dd");
coupons.Add(c);
}
}
else
{
BaseCoupon c = new BaseCoupon();
c.BaseEndTime = coupon.BaseEndTime;
c.BaseId = coupon.BaseId;
c.BaseName = coupon.BaseName;
c.BasePrice = coupon.BasePrice;
c.BaseShopId = coupon.BaseShopId;
c.BaseShopName = coupon.BaseShopName;
c.BaseType = coupon.BaseType.GetHashCode() == 0 ? CouponType.Coupon : CouponType.ShopBonus;
c.OrderAmount = coupon.Himall_Coupon.OrderAmount;
c.UseArea = coupon.Himall_Coupon.UseArea;
c.Remark = coupon.Himall_Coupon.Remark;
c.StartDateStr = coupon.Himall_Coupon.StartTime.ToString("yyyy.MM.dd");
c.EndDateStr = coupon.Himall_Coupon.EndTime.ToString("yyyy.MM.dd");
coupons.Add(c);
}
}
foreach (var coupon in userBonus)
{
c.BaseEndTime = coupon.BaseEndTime;
c.BaseId = coupon.BaseId;
c.BaseName = coupon.BaseName;
c.BasePrice = coupon.BasePrice;
c.BaseShopId = coupon.BaseShopId;
c.BaseShopName = coupon.BaseShopName;
c.BaseType = coupon.BaseType.GetHashCode() == 0 ? CouponType.Coupon : CouponType.ShopBonus;
c.OrderAmount = coupon.Himall_ShopBonusGrant.Himall_ShopBonus.UsrStatePrice;
c.StartDateStr = coupon.Himall_ShopBonusGrant.Himall_ShopBonus.BonusDateStart.ToString("yyyy.MM.dd");
c.EndDateStr = coupon.Himall_ShopBonusGrant.Himall_ShopBonus.BonusDateEnd.ToString("yyyy.MM.dd");
coupons.Add(c);
}
return coupons;
}
/// <summary>