Commit 2906d1b8 by 徐康

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

parents 18cd6958 5a3bc33f
......@@ -70,5 +70,6 @@ public class CombPayRequest {
private Boolean disable_service_goods_tag = false;
private String request_source ="V1";
private String ver ="10";
private String storeName;
}
......@@ -3664,6 +3664,7 @@ public class OrderAdapter {
orderPayDto.setAppId(paymentRequest.getWxAppId());
orderPayDto.setPayCode(paymentRequest.getPayCode());
orderPayDto.setVer("V1");
orderPayDto.setStoreName(orderBean.getShopName());
orderPayDto.setPayTimeOutTime(StringUtils.defaultIfBlank(partnerPayOvertime, "30"));
List<ProductVO> productVOS = new ArrayList<ProductVO>();
if (CollectionUtils.isNotEmpty(orderBean.getProductList())) {
......
......@@ -355,7 +355,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, partnerId
, null);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,partnerId);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId);
}
else {
// 获取优惠信息
......@@ -478,7 +478,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, partnerId
, null);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,partnerId);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId);
}
else {
// 获取优惠信息
......@@ -649,7 +649,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, partnerId
,shoppingCartInfoRequestVo.getFlag());
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,calculationSharingDiscountResult,partnerId);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,calculationSharingDiscountResult,shoppingCartInfoRequestVo.getFlag(),partnerId);
}
else {
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
......@@ -2157,10 +2157,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
*/
private void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult,
Integer flag,
String partnerId) {
ShoppingCartRelationService shoppingCartRelationService = shoppingCartRelationFactory.getBuildShoppingCartGoodsResponseService(partnerId);
shoppingCartRelationService.buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult);
shoppingCartRelationService.buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,flag);
}
......
......@@ -21,7 +21,8 @@ public interface ShoppingCartRelationService {
* 获取购物车查询出参构建实现
*/
void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult);
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult,
Integer flag);
}
......@@ -14,13 +14,15 @@
package cn.freemud.service.shoppingCart.impl;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.service.shoppingCart.ShoppingCartRelationService;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
@Service("cocoShoppingCartRelationService")
public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelationService {
......@@ -28,7 +30,8 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
@Override
public void buildShoppingCartGoodsResponse(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult) {
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult,
Integer flag) {
if(discountResult != null){
......@@ -46,7 +49,114 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
shoppingCartGoodsResponseVo.setDiscounts(discounts);
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
@Override
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