Commit 4ba1667c by 刘鹏飞

Merge remote-tracking branch 'remotes/origin/feature/coco-payGift-刘鹏飞' into qa

parents 9bbd71c9 24adb33c
...@@ -94,49 +94,11 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation ...@@ -94,49 +94,11 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
}); });
if(!Objects.equals(flag,1)){// 非结算页 if(!Objects.equals(flag,1)){
// 非结算页
orderingFoodPage(products,halfDiscountsMap,goodsDiscountsMap,gifeProductIds,shoppingCartGoodsResponseVo); orderingFoodPage(products,halfDiscountsMap,goodsDiscountsMap,gifeProductIds,shoppingCartGoodsResponseVo);
}else {// 结算页 }else {// 结算页
settlementPage(products,halfDiscountsMap,goodsDiscountsMap,shoppingCartGoodsResponseVo);
// 第二件优惠活动(单品优惠)要把一行商品分成多行,且每行商品数量是1,同时要有两行是打活动标的
List<CartGoods> newProducts = new ArrayList<>();
if(products == null || products.isEmpty()){
return;
}
List<CartGoods> halfProduct = new ArrayList<>();
for(int x = 0 ; x < products.size() ; x ++){
CartGoods product = products.get(x);
// 这一行的商品参加了第二件优惠活动(单品优惠)
if( halfDiscountsMap.get(product.getCartGoodsUid() + "-" + product.getGoodsId()) != null){
// 行商品数量
Integer num = product.getQty();
for(int i = 0 ; i < num ; i++){
// 构建半价行
CartGoods cartGoods = new CartGoods();
if(i < 2){
cartGoods = buildNewLine(product,ActivityTypeEnum.TYPE_53.getCode(),1,product.getFinalPrice(),product.getGoodsId());
}else{
cartGoods = buildNewLine(product,ActivityTypeEnum.TYPE_53.getCode(),1,product.getFinalPrice(),null);
}
newProducts.add(cartGoods);
}
continue;
}
// 限时特检的现单价获取促销的现单价
// 商品是否参加特价
boolean cutFlag = hashCutActive(goodsDiscountsMap,product);
if(cutFlag){
product.setFinalPrice(goodsDiscountsMap.get(product.getCartGoodsUid()).getNowPrice());
}
newProducts.add(product);
}
shoppingCartGoodsResponseVo.setProducts(newProducts);
} }
} }
...@@ -228,8 +190,55 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation ...@@ -228,8 +190,55 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
return newCartGoods; return newCartGoods;
} }
public void settlementPage(){ /**
* 结算页
* @param products
* @param halfDiscountsMap
* @param goodsDiscountsMap
* @param shoppingCartGoodsResponseVo
*/
public void settlementPage(List<CartGoods> products,
Map<String,CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> halfDiscountsMap,
Map<String,CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods> goodsDiscountsMap,
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){
// 第二件优惠活动(单品优惠)要把一行商品分成多行,且每行商品数量是1,同时要有两行是打活动标的
List<CartGoods> newProducts = new ArrayList<>();
if(products == null || products.isEmpty()){
return;
}
for(int x = 0 ; x < products.size() ; x ++){
CartGoods product = products.get(x);
// 这一行的商品参加了第二件优惠活动(单品优惠)
if( halfDiscountsMap.get(product.getCartGoodsUid() + "-" + product.getGoodsId()) != null){
// 行商品数量
Integer num = product.getQty();
for(int i = 0 ; i < num ; i++){
// 构建半价行
CartGoods cartGoods = new CartGoods();
if(i < 2){
cartGoods = buildNewLine(product,ActivityTypeEnum.TYPE_53.getCode(),1,product.getFinalPrice(),product.getGoodsId());
}else{
cartGoods = buildNewLine(product,ActivityTypeEnum.TYPE_53.getCode(),1,product.getFinalPrice(),null);
}
newProducts.add(cartGoods);
}
continue;
}
// 限时特检的现单价获取促销的现单价
// 商品是否参加特价
boolean cutFlag = hashCutActive(goodsDiscountsMap,product);
if(cutFlag){
product.setFinalPrice(goodsDiscountsMap.get(product.getCartGoodsUid()).getNowPrice());
}
newProducts.add(product);
}
shoppingCartGoodsResponseVo.setProducts(newProducts);
} }
/** /**
...@@ -240,10 +249,11 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation ...@@ -240,10 +249,11 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
* @param gifeProductIds * @param gifeProductIds
* @param shoppingCartGoodsResponseVo * @param shoppingCartGoodsResponseVo
*/ */
public void orderingFoodPage(List<CartGoods> products,Map<String,CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> halfDiscountsMap, public void orderingFoodPage(List<CartGoods> products,
Map<String,CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods> goodsDiscountsMap, Map<String,CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> halfDiscountsMap,
List<String> gifeProductIds, Map<String,CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods> goodsDiscountsMap,
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){ List<String> gifeProductIds,
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){
List<CartGoods> newProducts = new ArrayList<>(); List<CartGoods> newProducts = new ArrayList<>();
if(products == null || products.isEmpty()){ if(products == null || products.isEmpty()){
return; return;
......
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