diff --git a/CoreCms.Net.Model/CoreCms.Net.Model.xml b/CoreCms.Net.Model/CoreCms.Net.Model.xml
index 6bdf2a00..92997e48 100644
--- a/CoreCms.Net.Model/CoreCms.Net.Model.xml
+++ b/CoreCms.Net.Model/CoreCms.Net.Model.xml
@@ -3211,6 +3211,41 @@
所属团购秒杀
+
+
+ 团购秒杀类型
+
+
+
+
+ 团购秒杀状态
+
+
+
+
+ 团购秒杀时效
+
+
+
+
+ 团购秒杀开始时间
+
+
+
+
+ 团购秒杀结束时间
+
+
+
+
+ 团购秒杀时间戳
+
+
+
+
+ 团购秒杀促销结果
+
+
sku最小价格
diff --git a/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsPartial.cs b/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsPartial.cs
index af36910e..f07a71c9 100644
--- a/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsPartial.cs
+++ b/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsPartial.cs
@@ -177,17 +177,47 @@ namespace CoreCms.Net.Model.Entities
[SugarColumn(IsIgnore = true)]
public int groupId { get; set; }
- [SugarColumn(IsIgnore = true)] public int groupType { get; set; }
+ ///
+ /// 团购秒杀类型
+ ///
+ [SugarColumn(IsIgnore = true)]
+ public int groupType { get; set; }
- [SugarColumn(IsIgnore = true)] public bool groupStatus { get; set; }
+ ///
+ /// 团购秒杀状态
+ ///
+ [SugarColumn(IsIgnore = true)]
+ public bool groupStatus { get; set; }
- [SugarColumn(IsIgnore = true)] public DateTime groupTime { get; set; }
+ ///
+ /// 团购秒杀时效
+ ///
+ [SugarColumn(IsIgnore = true)]
+ public DateTime groupTime { get; set; }
- [SugarColumn(IsIgnore = true)] public DateTime groupStartTime { get; set; }
+ ///
+ /// 团购秒杀开始时间
+ ///
+ [SugarColumn(IsIgnore = true)]
+ public DateTime groupStartTime { get; set; }
- [SugarColumn(IsIgnore = true)] public DateTime groupEndTime { get; set; }
+ ///
+ /// 团购秒杀结束时间
+ ///
+ [SugarColumn(IsIgnore = true)]
+ public DateTime groupEndTime { get; set; }
- [SugarColumn(IsIgnore = true)] public int groupTimestamp { get; set; }
+ ///
+ /// 团购秒杀时间戳
+ ///
+ [SugarColumn(IsIgnore = true)]
+ public int groupTimestamp { get; set; }
+
+ ///
+ /// 团购秒杀促销结果
+ ///
+ [SugarColumn(IsIgnore = true)]
+ public string groupPromotionResult { get; set; }
///
diff --git a/CoreCms.Net.Services/Promotion/CoreCmsPromotionServices.cs b/CoreCms.Net.Services/Promotion/CoreCmsPromotionServices.cs
index 1ca50993..330a0564 100644
--- a/CoreCms.Net.Services/Promotion/CoreCmsPromotionServices.cs
+++ b/CoreCms.Net.Services/Promotion/CoreCmsPromotionServices.cs
@@ -574,9 +574,67 @@ namespace CoreCms.Net.Services
TimeSpan ts = promotion.endTime.Subtract(dt);
goods.groupTimestamp = (int)ts.TotalSeconds;
+ //获取规则结果集
+ decimal promotionAmount = 0;
+ var result = await _promotionResultServices.QueryByClauseAsync(p => p.promotionId == promotion.id);
+ if (result != null)
+ {
+ JObject resultParameters = (JObject)JsonConvert.DeserializeObject(result.parameters);
+ var cartProducts = new CartProducts()
+ {
+ nums = 1,
+ products = new CoreCmsProducts()
+ {
+ price = goods.product.price,
+ amount = goods.product.price,
+ }
+ };
+ switch (result.code)
+ {
+ //指定商品减固定金额
+ case "GOODS_REDUCE":
+ promotionAmount = _promotionResultServices.result_GOODS_REDUCE(resultParameters, cartProducts, promotion);
+ goods.groupPromotionResult = "指定商品减少固定金额:减" + resultParameters["money"].ObjectToString() + "元 ";
+ break;
+ //指定商品打X折
+ case "GOODS_DISCOUNT":
+ promotionAmount = _promotionResultServices.result_GOODS_DISCOUNT(resultParameters, cartProducts, promotion);
+ goods.groupPromotionResult = "指定商品打折:打" + resultParameters["discount"].ObjectToString() + "折 ";
+ break;
+ //指定商品一口价
+ case "GOODS_ONE_PRICE":
+ promotionAmount = _promotionResultServices.result_GOODS_ONE_PRICE(resultParameters, cartProducts, promotion);
+ goods.groupPromotionResult = "指定商品一口价:" + resultParameters["money"].ObjectToString() + "元 ";
+ break;
+ //指定商品每第几件减指定金额
+ case "GOODS_HALF_PRICE":
+ //这个条件不在列表做处理
+ promotionAmount = 0;
+ goods.groupPromotionResult = "指定商品每第" + resultParameters["num"].ObjectToString() + "件减少" + resultParameters["money"].ObjectToString() + "元";
+ break;
+ case "ORDER_REDUCE":
+ goods.groupPromotionResult = "订单减" + resultParameters["money"].ObjectToString() + "元 ";
+ break;
+ case "ORDER_DISCOUNT":
+ goods.groupPromotionResult = "订单打" + resultParameters["discount"].ObjectToString() + "折 ";
+ break;
+ }
+
+ }
+ if (promotionAmount > 0)
+ {
+ goods.product.price = Math.Round(goods.product.price - promotionAmount, 2);
+ }
+
+ foreach (var item in goods.skuList.sku_list)
+ {
+ item.price = Math.Round(item.price - promotionAmount, 2);
+ }
+
+
//进行促销后要更换原销售价替换原市场价
- var originPrice = Math.Round(goods.product.price + goods.product.promotionAmount, 2);
- goods.product.mktprice = originPrice;
+ //var originPrice = Math.Round(goods.product.price + goods.product.promotionAmount, 2);
+ //goods.product.mktprice = originPrice;
jm.status = true;
jm.msg = "数据获取成功";
jm.data = goods;
diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/activity/groupBuying/groupBuyingDetails/groupBuyingDetails.vue b/CoreCms.Net.Uni-App/CoreShop/pages/activity/groupBuying/groupBuyingDetails/groupBuyingDetails.vue
index 31089a02..f17cca4a 100644
--- a/CoreCms.Net.Uni-App/CoreShop/pages/activity/groupBuying/groupBuyingDetails/groupBuyingDetails.vue
+++ b/CoreCms.Net.Uni-App/CoreShop/pages/activity/groupBuying/groupBuyingDetails/groupBuyingDetails.vue
@@ -16,11 +16,16 @@
+
+
+
+
¥
{{ product.price || '0.00' }}
+ ¥{{ product.mktprice }}
diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/activity/seckill/seckillDetails/seckillDetails.vue b/CoreCms.Net.Uni-App/CoreShop/pages/activity/seckill/seckillDetails/seckillDetails.vue
index 801adf10..38e1d171 100644
--- a/CoreCms.Net.Uni-App/CoreShop/pages/activity/seckill/seckillDetails/seckillDetails.vue
+++ b/CoreCms.Net.Uni-App/CoreShop/pages/activity/seckill/seckillDetails/seckillDetails.vue
@@ -16,11 +16,16 @@
+
+
+
+
¥
{{ product.price || '0.00' }}
+ ¥{{ product.mktprice }}