Commit 2906d1b8 by 徐康

Merge remote-tracking branch 'origin/qa' into qa

parents 18cd6958 5a3bc33f
...@@ -70,5 +70,6 @@ public class CombPayRequest { ...@@ -70,5 +70,6 @@ public class CombPayRequest {
private Boolean disable_service_goods_tag = false; private Boolean disable_service_goods_tag = false;
private String request_source ="V1"; private String request_source ="V1";
private String ver ="10"; private String ver ="10";
private String storeName;
} }
...@@ -3664,6 +3664,7 @@ public class OrderAdapter { ...@@ -3664,6 +3664,7 @@ public class OrderAdapter {
orderPayDto.setAppId(paymentRequest.getWxAppId()); orderPayDto.setAppId(paymentRequest.getWxAppId());
orderPayDto.setPayCode(paymentRequest.getPayCode()); orderPayDto.setPayCode(paymentRequest.getPayCode());
orderPayDto.setVer("V1"); orderPayDto.setVer("V1");
orderPayDto.setStoreName(orderBean.getShopName());
orderPayDto.setPayTimeOutTime(StringUtils.defaultIfBlank(partnerPayOvertime, "30")); orderPayDto.setPayTimeOutTime(StringUtils.defaultIfBlank(partnerPayOvertime, "30"));
List<ProductVO> productVOS = new ArrayList<ProductVO>(); List<ProductVO> productVOS = new ArrayList<ProductVO>();
if (CollectionUtils.isNotEmpty(orderBean.getProductList())) { if (CollectionUtils.isNotEmpty(orderBean.getProductList())) {
......
...@@ -355,7 +355,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -355,7 +355,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, partnerId , partnerId
, null); , null);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId);
} }
else { else {
// 获取优惠信息 // 获取优惠信息
...@@ -478,7 +478,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -478,7 +478,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, partnerId , partnerId
, null); , null);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId);
} }
else { else {
// 获取优惠信息 // 获取优惠信息
...@@ -649,7 +649,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -649,7 +649,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, partnerId , partnerId
,shoppingCartInfoRequestVo.getFlag()); ,shoppingCartInfoRequestVo.getFlag());
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,calculationSharingDiscountResult,partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,calculationSharingDiscountResult,shoppingCartInfoRequestVo.getFlag(),partnerId);
} }
else { else {
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
...@@ -2157,10 +2157,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -2157,10 +2157,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
*/ */
private void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, private void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult, CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult,
Integer flag,
String partnerId) { String partnerId) {
ShoppingCartRelationService shoppingCartRelationService = shoppingCartRelationFactory.getBuildShoppingCartGoodsResponseService(partnerId); ShoppingCartRelationService shoppingCartRelationService = shoppingCartRelationFactory.getBuildShoppingCartGoodsResponseService(partnerId);
shoppingCartRelationService.buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult); shoppingCartRelationService.buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,flag);
} }
......
...@@ -21,7 +21,8 @@ public interface ShoppingCartRelationService { ...@@ -21,7 +21,8 @@ public interface ShoppingCartRelationService {
* 获取购物车查询出参构建实现 * 获取购物车查询出参构建实现
*/ */
void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult); CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult,
Integer flag);
} }
...@@ -14,13 +14,15 @@ ...@@ -14,13 +14,15 @@
package cn.freemud.service.shoppingCart.impl; package cn.freemud.service.shoppingCart.impl;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto; import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo; import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo;
import cn.freemud.enums.ActivityTypeEnum; import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.service.shoppingCart.ShoppingCartRelationService; import cn.freemud.service.shoppingCart.ShoppingCartRelationService;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.List;
@Service("cocoShoppingCartRelationService") @Service("cocoShoppingCartRelationService")
public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelationService { public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelationService {
...@@ -28,7 +30,8 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation ...@@ -28,7 +30,8 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
@Override @Override
public void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, public void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult) { CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult,
Integer flag) {
if(discountResult != null){ if(discountResult != null){
...@@ -46,7 +49,114 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation ...@@ -46,7 +49,114 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
shoppingCartGoodsResponseVo.setDiscounts(discounts); shoppingCartGoodsResponseVo.setDiscounts(discounts);
shoppingCartGoodsResponseVo.setGoods(discountResult.getGoods()); shoppingCartGoodsResponseVo.setGoods(discountResult.getGoods());
// 第二件优惠活动,在点餐页需要给优惠商品单独显示一行
// 第二件优惠活动Map
Map<String,CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> goodsDiscountsMap = new HashMap<>();
// 商品优惠信息
List<CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods> goodsDiscounts = discountResult.getGoods();
if(goodsDiscounts == null || goodsDiscounts.isEmpty()){
return;
}
goodsDiscounts.forEach(goodsDiscount ->{
List<CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> oneGoodsDiscounts = goodsDiscount.getDiscounts();
if(oneGoodsDiscounts == null || oneGoodsDiscounts.isEmpty()){
return;
}
oneGoodsDiscounts.forEach(discount -> {
if(Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_53.getCode())){
goodsDiscountsMap.put(goodsDiscount.getCartGoodsUid() + discount.getGoodsId(),discount);
}
});
});
List<CartGoods> newProducts = new ArrayList<>();
List<CartGoods> products = shoppingCartGoodsResponseVo.getProducts();
if(!Objects.equals(flag,1)){// 非结算页
if(products == null || products.isEmpty()){
return;
}
products.forEach(product -> {
Integer num = 0;
// 商品优惠的金额
Long discountAmount = 0L;
if(goodsDiscountsMap.get(product.getCartGoodsUid() + product.getGoodsId()) != null){
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount discount = goodsDiscountsMap.get(product.getCartGoodsUid() + product.getGoodsId());
if(discount == null){
return;
}
num = discount.getActualGoodsNumber();
for(int i = 0 ; i < num ; i++){
// 复制商品加到购物车
discountAmount = discount.getDiscount();
Long newPrice = product.getOriginalPrice() - discountAmount;
CartGoods cartGoods = buildNewLine(product,ActivityTypeEnum.TYPE_53.getCode(),1,newPrice);
newProducts.add(cartGoods);
}
}
Integer newQty = product.getQty() - num;
// 主商品行要数量,价格
if(!Objects.equals(newQty,0)){
product.setAmount(product.getAmount() - discountAmount);
product.setOriginalAmount(product.getOriginalAmount() - product.getOriginalPrice());
product.setQty(newQty);
newProducts.add(product);
}
});
shoppingCartGoodsResponseVo.setProducts(newProducts);
}
} }
}
public CartGoods buildNewLine(CartGoods cgs,Integer activityType,Integer qty,Long newPrice){
CartGoods newCartGoods = new CartGoods();
newCartGoods.setCartGoodsUid(cgs.getCartGoodsUid());
newCartGoods.setGoodsId(cgs.getGoodsId());
newCartGoods.setGoodsType(cgs.getGoodsType());
newCartGoods.setSpuId(cgs.getSpuId());
newCartGoods.setSkuId(cgs.getSkuId());
newCartGoods.setSpecProductId(cgs.getSpecProductId());
// 价格只用一个商品的价格
newCartGoods.setOriginalPrice(cgs.getOriginalPrice());
// 价格只用一个商品的价格
newCartGoods.setPackPrice(cgs.getPackPrice());
// 价格只用一个商品的价格
newCartGoods.setOriginalAmount(cgs.getOriginalPrice());
// 价格只用一个商品的价格
newCartGoods.setAmount(newPrice);
newCartGoods.setName(cgs.getName());
newCartGoods.setSpuName(cgs.getSpuName());
newCartGoods.setSubName(cgs.getSubName());
newCartGoods.setNodeId(cgs.getNodeId());
newCartGoods.setCategoryName(cgs.getCategoryName());
List<CartGoods.CartGoodsExtra> extra = Lists.newArrayList();
List<CartGoods.CartGoodsExtra> cartGoodsExtras = cgs.getExtra();
if (CollectionUtils.isNotEmpty(cartGoodsExtras)) {
cartGoodsExtras.forEach(cartGoodsExtra -> {
CartGoods.CartGoodsExtra goodsExtra = new CartGoods.CartGoodsExtra();
goodsExtra.setAttributeId(cartGoodsExtra.getAttributeId());
goodsExtra.setAttributeName(cartGoodsExtra.getAttributeName());
extra.add(goodsExtra);
});
}
newCartGoods.setExtra(extra);
newCartGoods.setPic(cgs.getPic());
newCartGoods.setCreateTimeMili(cgs.getCreateTimeMili());
newCartGoods.setSkuName(cgs.getSkuName());
newCartGoods.setSkuName(cgs.getSkuName());
newCartGoods.setClassificationId(cgs.getClassificationId());
newCartGoods.setClassificationName(cgs.getClassificationName());
newCartGoods.setActivityType(activityType);
newCartGoods.setQty(qty);
return newCartGoods;
} }
} }
...@@ -22,7 +22,8 @@ public class PlatformShoppingCartRelationServiceImpl implements ShoppingCartRela ...@@ -22,7 +22,8 @@ public class PlatformShoppingCartRelationServiceImpl implements ShoppingCartRela
@Override @Override
public void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, public void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult) { CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult,
Integer flag) {
} }
} }
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