修复拼团针对同一个商品设置多个拼团规则时,金额计算错误的问题

This commit is contained in:
jianweie code
2024-02-01 01:29:03 +08:00
parent 6c7da1661e
commit 6f6916ee91
5 changed files with 13 additions and 8 deletions

View File

@@ -30,8 +30,9 @@ namespace CoreCms.Net.IRepository
/// 取购物车数据的时候,更新价格 /// 取购物车数据的时候,更新价格
/// </summary> /// </summary>
/// <param name="list"></param> /// <param name="list"></param>
/// <param name="ruleId">规则序列</param>
/// <returns></returns> /// <returns></returns>
WebApiCallBack PinTuanInfo(List<CartProducts> list); WebApiCallBack PinTuanInfo(List<CartProducts> list, int ruleId);
/// <summary> /// <summary>

View File

@@ -30,8 +30,9 @@ namespace CoreCms.Net.IServices
/// 取购物车数据的时候,更新价格 /// 取购物车数据的时候,更新价格
/// </summary> /// </summary>
/// <param name="list"></param> /// <param name="list"></param>
/// <param name="ruleId">规则序列</param>
/// <returns></returns> /// <returns></returns>
WebApiCallBack PinTuanInfo(List<CartProducts> list); WebApiCallBack PinTuanInfo(List<CartProducts> list, int ruleId);
/// <summary> /// <summary>

View File

@@ -35,12 +35,14 @@ namespace CoreCms.Net.Repository
} }
#region #region
/// <summary> /// <summary>
/// 取购物车数据的时候,更新价格 /// 取购物车数据的时候,更新价格
/// </summary> /// </summary>
/// <param name="list"></param> /// <param name="list"></param>
/// <param name="ruleId">规则序列</param>
/// <returns></returns> /// <returns></returns>
public WebApiCallBack PinTuanInfo(List<CartProducts> list) public WebApiCallBack PinTuanInfo(List<CartProducts> list, int ruleId)
{ {
var res = new WebApiCallBack(); var res = new WebApiCallBack();
foreach (var item in list) foreach (var item in list)
@@ -50,7 +52,7 @@ namespace CoreCms.Net.Repository
{ {
JoinType.Inner, pinTuanGoods.ruleId == pinTuanRule.id JoinType.Inner, pinTuanGoods.ruleId == pinTuanRule.id
}).Where((pinTuanGoods, pinTuanRule) => }).Where((pinTuanGoods, pinTuanRule) =>
pinTuanGoods.goodsId == item.products.goodsId && pinTuanRule.isStatusOpen == true) pinTuanGoods.goodsId == item.products.goodsId && pinTuanRule.isStatusOpen == true && pinTuanRule.id == ruleId)
.Select((pinTuanGoods, pinTuanRule) => pinTuanRule).First(); .Select((pinTuanGoods, pinTuanRule) => pinTuanRule).First();
if (ruleModel == null) if (ruleModel == null)
{ {

View File

@@ -495,7 +495,7 @@ namespace CoreCms.Net.Services
cartProducts.isSelect = false; cartProducts.isSelect = false;
} }
//判断商品是否已收藏 //判断商品是否已收藏
cartProducts.isCollection = await _goodsCollectionServices.Check(userId, (int)cartProducts.products.goodsId); cartProducts.isCollection = await _goodsCollectionServices.Check(userId, cartProducts.products.goodsId);
cartDto.list.Add(cartProducts); cartDto.list.Add(cartProducts);
} }
@@ -507,7 +507,7 @@ namespace CoreCms.Net.Services
break; break;
case (int)GlobalEnumVars.OrderType.PinTuan: case (int)GlobalEnumVars.OrderType.PinTuan:
//拼团模式走拼团价,去修改商品价格 //拼团模式走拼团价,去修改商品价格
var result = _pinTuanRuleServices.PinTuanInfo(cartDto.list); var result = _pinTuanRuleServices.PinTuanInfo(cartDto.list, objectId);
if (result.status) if (result.status)
{ {
cartDto.list = result.data as List<CartProducts>; cartDto.list = result.data as List<CartProducts>;

View File

@@ -56,10 +56,11 @@ namespace CoreCms.Net.Services
/// 取购物车数据的时候,更新价格 /// 取购物车数据的时候,更新价格
/// </summary> /// </summary>
/// <param name="list"></param> /// <param name="list"></param>
/// <param name="ruleId">规则序列</param>
/// <returns></returns> /// <returns></returns>
public WebApiCallBack PinTuanInfo(List<CartProducts> list) public WebApiCallBack PinTuanInfo(List<CartProducts> list, int ruleId)
{ {
return _dal.PinTuanInfo(list); return _dal.PinTuanInfo(list,ruleId);
} }