Commit cd7c2308 by xiaoer.li@freemud.com

Merge remote-tracking branch 'remotes/origin/feature/1.9.32_商品加料' into qa

parents a8ac5930 975979ca
......@@ -121,6 +121,7 @@ public class ShoppingCartConvertAdapter {
goods.setOriginalPrice(materialGoods.getOriginalPrice());
goods.setSalePrice(materialGoods.getFinalPrice());
goods.setQty(cartGoods.getQty());
goods.setTotalDiscountAmount(0);
materialList.add(goods);
}
cartGoodsDetailDto.setMaterialList(materialList);
......
......@@ -60,8 +60,7 @@ public class MaterialPromotionService implements IPromotionService {
long materialAmount = 0L, materialOriginal = 0L;
for (CartGoods cartGoods : cartGoodsList) {
if (CollectionUtils.isEmpty(cartGoods.getProductMaterialList()))
continue;
if (CollectionUtils.isEmpty(cartGoods.getProductMaterialList())) continue;
materialAmount = 0L;
materialOriginal = 0L;
for (CartGoods.MaterialGoods materialGoods : cartGoods.getProductMaterialList()) {
......@@ -86,27 +85,26 @@ 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);
if (map == null || map.isEmpty()) return;
List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts();
for (ShoppingCartGoodsDto.CartGoodsDetailDto product : products) {
if (CollectionUtils.isEmpty(product.getMaterialList()))
continue;
for (ShoppingCartGoodsDto.CartGoodsDetailDto.MaterialGoods materialGoods : product.getMaterialList()) {
MaterialApportion material = map.get(materialGoods.getSpuId());
if (material.getApportionAmount().intValue() == 0) continue;
//设置行记录参加的活动及总优惠
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
List<ActivityDiscountsDto> activityDiscountsDtoList = new ArrayList<>();
activityDiscountsDto.setActivityCode(material.getDetails().activityCode);
activityDiscountsDto.setActivityName(material.getDetails().activityName);
activityDiscountsDto.setActivityType(material.getDetails().activityType);
activityDiscountsDto.setDiscountAmount(material.getApportionAmount());
activityDiscountsDtoList.add(activityDiscountsDto);
if (map != null && map.size() > 0) {
for (ShoppingCartGoodsDto.CartGoodsDetailDto product : products) {
if (CollectionUtils.isEmpty(product.getMaterialList())) continue;
for (ShoppingCartGoodsDto.CartGoodsDetailDto.MaterialGoods materialGoods : product.getMaterialList()) {
MaterialApportion material = map.get(materialGoods.getSpuId());
if (material.getApportionAmount().intValue() == 0) continue;
//设置行记录参加的活动及总优惠
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
List<ActivityDiscountsDto> activityDiscountsDtoList = new ArrayList<>();
activityDiscountsDto.setActivityCode(material.getDetails().activityCode);
activityDiscountsDto.setActivityName(material.getDetails().activityName);
activityDiscountsDto.setActivityType(material.getDetails().activityType);
activityDiscountsDto.setDiscountAmount(material.getApportionAmount());
activityDiscountsDtoList.add(activityDiscountsDto);
materialGoods.setActivityDiscountsDtos(activityDiscountsDtoList);
materialGoods.setTotalDiscountAmount((materialGoods.getOriginalPrice().intValue() - materialGoods.getSalePrice().intValue()) * product.getQty());
product.setProductType(GoodsTypeEnum.MATERIAL.getGoodsType());
materialGoods.setActivityDiscountsDtos(activityDiscountsDtoList);
materialGoods.setTotalDiscountAmount((materialGoods.getOriginalPrice().intValue() - materialGoods.getSalePrice().intValue()) * product.getQty());
product.setProductType(GoodsTypeEnum.MATERIAL.getGoodsType());
}
}
}
//将小料的价格累加到商品行上
......@@ -116,6 +114,7 @@ public class MaterialPromotionService implements IPromotionService {
product.setSalePrice(product.getSalePrice() + materialGoods.getSalePrice());//现金
product.setOriginalPrice(product.getOriginalPrice() + materialGoods.getOriginalPrice());
product.setTotalDiscountAmount(product.getTotalDiscountAmount() + materialGoods.getTotalDiscountAmount());
product.setProductType(GoodsTypeEnum.MATERIAL.getGoodsType());
}
}
}
......
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