Commit c83b361c by xiaoer.li@freemud.com

fix均摊重复

parent 0e71d128
......@@ -10,6 +10,7 @@ import cn.freemud.entities.vo.*;
import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.service.IPromotionService;
import lombok.Data;
import lombok.extern.log4j.Log4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -29,6 +30,7 @@ import java.util.List;
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Service("MaterialPromotionService")
@Log4j
public class MaterialPromotionService implements IPromotionService {
@Autowired
private ShoppingCartConvertAdapter shoppingCartConvertAdapter;
......@@ -77,9 +79,9 @@ public class MaterialPromotionService implements IPromotionService {
@Override
public void updateShoppingCartGoodsApportion(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, ShoppingCartGoodsDto shoppingCartGoodsDto, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) {
HashMap<String, MaterialApportion> map = getApportionGoodsDetail(calculationDiscountResult);
System.out.println("updateShoppingCartGoodsApportion->map:" + map);
log.info("updateShoppingCartGoodsApportion->map:" + map);
List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts();
System.out.println("updateShoppingCartGoodsApportion->product:" + products);
log.info("updateShoppingCartGoodsApportion->product:" + products);
if (map.size() > 0) {
String pk = "";
for (ShoppingCartGoodsDto.CartGoodsDetailDto product : products) {
......@@ -87,7 +89,8 @@ public class MaterialPromotionService implements IPromotionService {
for (ShoppingCartGoodsDto.CartGoodsDetailDto.MaterialGoods materialGoods : product.getMaterialList()) {
pk = shoppingCartConvertAdapter.jointPk(product.getCartGoodsUid(), materialGoods.getSpuId());
MaterialApportion material = map.get(pk);
if (material != null && material.getApportionAmount().intValue() == 0) continue;
if ((material == null) || (material != null && material.getApportionAmount().intValue() == 0))
continue;
List<ActivityDiscountsDto> activityDiscountsDtos = materialGoods.getActivityDiscountsDtos();
if (CollectionUtils.isEmpty(activityDiscountsDtos)) {
activityDiscountsDtos = new ArrayList<>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment