Commit 68f5ec90 by xiaoer.li@freemud.com

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

parents c437e323 58aa074b
...@@ -77,7 +77,9 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -77,7 +77,9 @@ public class MaterialPromotionService implements IPromotionService {
@Override @Override
public void updateShoppingCartGoodsApportion(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, ShoppingCartGoodsDto shoppingCartGoodsDto, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) { public void updateShoppingCartGoodsApportion(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, ShoppingCartGoodsDto shoppingCartGoodsDto, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) {
HashMap<String, MaterialApportion> map = getApportionGoodsDetail(calculationDiscountResult); HashMap<String, MaterialApportion> map = getApportionGoodsDetail(calculationDiscountResult);
System.out.println("updateShoppingCartGoodsApportion->map:" + map);
List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts(); List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts();
System.out.println("updateShoppingCartGoodsApportion->product:" + products);
if (map.size() > 0) { if (map.size() > 0) {
String pk = ""; String pk = "";
for (ShoppingCartGoodsDto.CartGoodsDetailDto product : products) { for (ShoppingCartGoodsDto.CartGoodsDetailDto product : products) {
...@@ -91,13 +93,16 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -91,13 +93,16 @@ public class MaterialPromotionService implements IPromotionService {
activityDiscountsDtos = new ArrayList<>(); activityDiscountsDtos = new ArrayList<>();
} }
//设置行记录参加的活动及总优惠 //设置行记录参加的活动及总优惠
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto(); if (CollectionUtils.isNotEmpty(material.getDetails())) {
activityDiscountsDto.setActivityCode(material.getDetails().getActivityCode()); for (ApportionDetails detail : material.getDetails()) {
activityDiscountsDto.setActivityName(material.getDetails().getActivityName()); ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
activityDiscountsDto.setActivityType(material.getDetails().getActivityType()); activityDiscountsDto.setActivityCode(detail.getActivityCode());
activityDiscountsDto.setDiscountAmount(material.getApportionAmount()); activityDiscountsDto.setActivityName(detail.getActivityName());
activityDiscountsDtos.add(activityDiscountsDto); activityDiscountsDto.setActivityType(detail.getActivityType());
activityDiscountsDto.setDiscountAmount(material.getApportionAmount());
activityDiscountsDtos.add(activityDiscountsDto);
}
}
materialGoods.setActivityDiscountsDtos(activityDiscountsDtos); materialGoods.setActivityDiscountsDtos(activityDiscountsDtos);
//materialGoods.setTotalDiscountAmount((materialGoods.getOriginalPrice().intValue() - materialGoods.getSalePrice().intValue()) * product.getQty()); //materialGoods.setTotalDiscountAmount((materialGoods.getOriginalPrice().intValue() - materialGoods.getSalePrice().intValue()) * product.getQty());
materialGoods.setTotalDiscountAmount(material.getTotalDiscountAmount()); materialGoods.setTotalDiscountAmount(material.getTotalDiscountAmount());
...@@ -138,27 +143,39 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -138,27 +143,39 @@ public class MaterialPromotionService implements IPromotionService {
pk = shoppingCartConvertAdapter.jointPk(apportionGood.getCartGoodsUid(), material.getGoodsId()); pk = shoppingCartConvertAdapter.jointPk(apportionGood.getCartGoodsUid(), material.getGoodsId());
if (mApportion.get(pk) == null) { if (mApportion.get(pk) == null) {
MaterialApportion materialApportion = new MaterialApportion(); MaterialApportion materialApportion = new MaterialApportion();
//materialApportion.setSalePrice(material.getNowPrice());
//materialApportion.setAmount(material.getNowPrice() * material.getGoodsQuantity());
materialApportion.setApportionAmount(material.getApportionAmount() * material.getGoodsQuantity()); materialApportion.setApportionAmount(material.getApportionAmount() * material.getGoodsQuantity());
materialApportion.setGoodsId(material.getGoodsId()); materialApportion.setGoodsId(material.getGoodsId());
materialApportion.setTotalDiscountAmount(material.getApportionAmount() * material.getGoodsQuantity()); materialApportion.setTotalDiscountAmount(material.getApportionAmount() * material.getGoodsQuantity());
materialApportion.setPk(pk); materialApportion.setPk(pk);
ApportionDetails apportionDetails = new ApportionDetails(); //ApportionDetails apportionDetails = new ApportionDetails();
ArrayList<ApportionDetails> apportionDetailsList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(material.getApportionDetails())) { if (CollectionUtils.isNotEmpty(material.getApportionDetails())) {
apportionDetails.setActivityCode(material.getApportionDetails().get(0).getActivityCode()); for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : material.getApportionDetails()) {
apportionDetails.setActivityName(material.getApportionDetails().get(0).getActivityName()); ApportionDetails apportionDetails = new ApportionDetails();
apportionDetails.setActivityType(material.getApportionDetails().get(0).getActivityType()); apportionDetails.setActivityName(apportionDetail.getActivityName());
materialApportion.setDetails(apportionDetails); apportionDetails.setActivityCode(apportionDetail.getActivityCode());
apportionDetails.setActivityType(apportionDetail.getActivityType());
apportionDetailsList.add(apportionDetails);
}
materialApportion.setDetails(apportionDetailsList);
} }
mApportion.put(pk, materialApportion); mApportion.put(pk, materialApportion);
continue; continue;
} }
MaterialApportion apportion = mApportion.get(pk); MaterialApportion apportion = mApportion.get(pk);
//apportion.setSalePrice(apportion.getSalePrice() + material.getNowPrice());
//apportion.setAmount(apportion.getAmount() + material.getNowPrice() * material.getGoodsQuantity());
apportion.setApportionAmount(apportion.getApportionAmount() + material.getApportionAmount() * material.getGoodsQuantity()); apportion.setApportionAmount(apportion.getApportionAmount() + material.getApportionAmount() * material.getGoodsQuantity());
apportion.setTotalDiscountAmount(apportion.getTotalDiscountAmount() + material.getApportionAmount() * material.getGoodsQuantity()); apportion.setTotalDiscountAmount(apportion.getTotalDiscountAmount() + material.getApportionAmount() * material.getGoodsQuantity());
List<ApportionDetails> details = apportion.getDetails();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : material.getApportionDetails()) {
if (apportion.getDetails().stream().filter(e -> e.getActivityCode().equals(apportionDetail.getActivityCode())).count() == 0) {
ApportionDetails apportionDetails = new ApportionDetails();
apportionDetails.setActivityName(apportionDetail.getActivityName());
apportionDetails.setActivityCode(apportionDetail.getActivityCode());
apportionDetails.setActivityType(apportionDetail.getActivityType());
details.add(apportionDetails);
}
apportion.setDetails(details);
}
mApportion.put(pk, apportion); mApportion.put(pk, apportion);
} }
} }
...@@ -173,7 +190,7 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -173,7 +190,7 @@ public class MaterialPromotionService implements IPromotionService {
private Integer apportionAmount; private Integer apportionAmount;
//优惠金额 //优惠金额
private Integer totalDiscountAmount; private Integer totalDiscountAmount;
private ApportionDetails details; private List<ApportionDetails> details;
private String pk; private String pk;
} }
......
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