Commit a2acdc8d by huiyang.chen

Merge branch '20201022-划线价-huiyang'

parents c44317af bfbfe9a7
...@@ -499,7 +499,8 @@ public class ShoppingCartConvertAdapter { ...@@ -499,7 +499,8 @@ public class ShoppingCartConvertAdapter {
productType.setSpuId(cartGoods.getSpuId()); productType.setSpuId(cartGoods.getSpuId());
// 多规格商品券 // 多规格商品券
productType.setSkuId((ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SKU_GOODS.getGoodsType(), cartGoods.getGoodsType()) productType.setSkuId((ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SKU_GOODS.getGoodsType(), cartGoods.getGoodsType())
|| ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.COUPON_GOODS.getGoodsType(), cartGoods.getGoodsType())) || ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.COUPON_GOODS.getGoodsType(), cartGoods.getGoodsType())
|| ObjectUtils.equals(GoodsTypeEnum.ALL_COUPON_GOODS.getGoodsType(), cartGoods.getGoodsType()))
? cartGoods.getSkuId() : cartGoods.getSpuId()); ? cartGoods.getSkuId() : cartGoods.getSpuId());
// 应产品要求 // 应产品要求
// 普通商品,取商品的finalePrice(普通商品售价);套餐商品,取originalPrice(套餐价格) // 普通商品,取商品的finalePrice(普通商品售价);套餐商品,取originalPrice(套餐价格)
...@@ -776,7 +777,8 @@ public class ShoppingCartConvertAdapter { ...@@ -776,7 +777,8 @@ public class ShoppingCartConvertAdapter {
public void updateCartGoodsInfo(com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods cartGoods, ProductBeanDTO spuProduct,Map<String,ProductBeanDTO> subProductTypeMap) { public void updateCartGoodsInfo(com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods cartGoods, ProductBeanDTO spuProduct,Map<String,ProductBeanDTO> subProductTypeMap) {
try { try {
//是否是sku商品 //是否是sku商品
boolean isSkuProduct = ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SKU_GOODS.getGoodsType(), cartGoods.getGoodsType()); boolean isSkuProduct = ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SKU_GOODS.getGoodsType(), cartGoods.getGoodsType())
|| !ObjectUtils.equals(cartGoods.getSpuId(),cartGoods.getSkuId());
// 如果是套餐商品,更新套餐内固定商品&可选商品的详细信息 // 如果是套餐商品,更新套餐内固定商品&可选商品的详细信息
boolean isSetMealProduct = ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.ProductType.SetMeal.getCode(), spuProduct.getType()) || ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.ProductType.IncreasedPackage.getCode(), spuProduct.getType()); boolean isSetMealProduct = ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.ProductType.SetMeal.getCode(), spuProduct.getType()) || ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.ProductType.IncreasedPackage.getCode(), spuProduct.getType());
ProductBeanDTO.SkuProductBean skuProduct = isSkuProduct ? spuProduct.getSkuList().stream().filter(p -> ObjectUtils.equals(cartGoods.getSkuId(), p.getSkuId())).findFirst().get() : null; ProductBeanDTO.SkuProductBean skuProduct = isSkuProduct ? spuProduct.getSkuList().stream().filter(p -> ObjectUtils.equals(cartGoods.getSkuId(), p.getSkuId())).findFirst().get() : null;
......
...@@ -227,7 +227,8 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -227,7 +227,8 @@ public class ShoppingCartMCoffeeServiceImpl {
coupons.add(calculationDiscountCoupon); coupons.add(calculationDiscountCoupon);
} }
if (StringUtils.isNotEmpty(couponCode) && couponCode.equals(cartGoods.getCouponCode())) { if (StringUtils.isNotEmpty(couponCode) && couponCode.equals(cartGoods.getCouponCode())) {
throw new ServiceException(ResponseResult.SHOPPING_CART_COUPON_USED); //使用券的是,如果购物车已经存在这个券,先清除,再添加
cartGoods.setQty(0);
} }
//同样商品券不能使用 //同样商品券不能使用
/* if (StringUtils.isNotEmpty(couponCode)&& StringUtils.isNotEmpty(cartGoods.getCouponCode()) && goodsId.equals(cartGoods.getGoodsId())) { /* if (StringUtils.isNotEmpty(couponCode)&& StringUtils.isNotEmpty(cartGoods.getCouponCode()) && goodsId.equals(cartGoods.getGoodsId())) {
...@@ -1115,10 +1116,9 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1115,10 +1116,9 @@ public class ShoppingCartMCoffeeServiceImpl {
// cartGoods.setCartGoodsUid(spuId); // cartGoods.setCartGoodsUid(spuId);
} else if (CollectionUtils.isNotEmpty(addShoppingCartGoodsRequestVo.getProductComboList()) || CollectionUtils.isNotEmpty(addShoppingCartGoodsRequestVo.getProductGroupList())) { } else if (CollectionUtils.isNotEmpty(addShoppingCartGoodsRequestVo.getProductComboList()) || CollectionUtils.isNotEmpty(addShoppingCartGoodsRequestVo.getProductGroupList())) {
goodsType = GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(); goodsType = GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType();
} } else if (CommonsConstant.COUPON_TYPE == addShoppingCartGoodsRequestVo.getCouponType()){
/*else if (CommonsConstant.COUPON_TYPE == addShoppingCartGoodsRequestVo.getCouponType()){
goodsType = GoodsTypeEnum.ALL_COUPON_GOODS.getGoodsType(); goodsType = GoodsTypeEnum.ALL_COUPON_GOODS.getGoodsType();
}*/ }
if (addShoppingCartGoodsRequestVo.getOperationType() != null && addShoppingCartGoodsRequestVo.getOperationType() == 2) { if (addShoppingCartGoodsRequestVo.getOperationType() != null && addShoppingCartGoodsRequestVo.getOperationType() == 2) {
goodsType = GoodsTypeEnum.REDUCE_PRICE_GOODS.getGoodsType(); goodsType = GoodsTypeEnum.REDUCE_PRICE_GOODS.getGoodsType();
} }
......
...@@ -2,6 +2,7 @@ package cn.freemud.service.impl.mcoffee.calculation; ...@@ -2,6 +2,7 @@ package cn.freemud.service.impl.mcoffee.calculation;
import cn.freemud.adapter.ActivityAdapter; import cn.freemud.adapter.ActivityAdapter;
import cn.freemud.adapter.ShoppingCartConvertAdapter; import cn.freemud.adapter.ShoppingCartConvertAdapter;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ActivityDiscountsDto; import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
...@@ -15,6 +16,7 @@ import cn.freemud.enums.GoodsTypeEnum; ...@@ -15,6 +16,7 @@ import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.CommonService; import cn.freemud.service.CommonService;
import cn.freemud.service.impl.ItemServiceImpl;
import cn.freemud.service.thirdparty.ActivityClient; import cn.freemud.service.thirdparty.ActivityClient;
import cn.freemud.utils.PropertyConvertUtil; import cn.freemud.utils.PropertyConvertUtil;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
...@@ -64,6 +66,8 @@ public class CalculationServiceImpl { ...@@ -64,6 +66,8 @@ public class CalculationServiceImpl {
private ActivityClient activityClient; private ActivityClient activityClient;
@Autowired @Autowired
private ActivityAdapter activityAdapter; private ActivityAdapter activityAdapter;
@Autowired
private ItemServiceImpl itemService;
@Autowired @Autowired
...@@ -231,6 +235,18 @@ public class CalculationServiceImpl { ...@@ -231,6 +235,18 @@ public class CalculationServiceImpl {
} }
} }
List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts();
List<String> productIds = products.stream().map(t -> t.getSkuId()).collect(Collectors.toList());
//调用商品的接口获取商品键位
BaseResponse<Map<String, GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean>> baseResponse = itemService.getProducts(shoppingCartInfoRequestVo.getPartnerId(),
shoppingCartInfoRequestVo.getShopId(), productIds, false, shoppingCartInfoRequestVo.getMenuType());
if (ResponseResult.SUCCESS.getCode().equals(baseResponse.getCode()) && baseResponse.getResult() != null){
for (ShoppingCartGoodsDto.CartGoodsDetailDto cartGoods: products) {
GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean productBean = baseResponse.getResult().get(cartGoods.getSkuId());
cartGoods.setProductCode(productBean.getCustomerCode());
}
}
// fullPromotionCalculation.updateShoppingCartGoodsApportion(shoppingCartGoodsResponseVo, calculationDiscountResult, shoppingCartGoodsDto,premiumExchangeActivity,shoppingCartInfoRequestVo); // fullPromotionCalculation.updateShoppingCartGoodsApportion(shoppingCartGoodsResponseVo, calculationDiscountResult, shoppingCartGoodsDto,premiumExchangeActivity,shoppingCartInfoRequestVo);
//限时特价 //限时特价
......
...@@ -179,26 +179,13 @@ public class CouponDiscountCalculation { ...@@ -179,26 +179,13 @@ public class CouponDiscountCalculation {
activityDiscountsDto.setExtendType(extendType); activityDiscountsDto.setExtendType(extendType);
activityDiscountsDto.setTenderId(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo()); activityDiscountsDto.setTenderId(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo());
productActivityDiscountsDtos.add(activityDiscountsDto); productActivityDiscountsDtos.add(activityDiscountsDto);
if (extendType != null && extendType == 4 ) {
//调用商品的接口获取商品键位
List<String> productIds=Arrays.asList(cartGoods.getSkuId());
BaseResponse<Map<String, GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean>> baseResponse = itemService.getProducts(shoppingCartInfoRequestVo.getPartnerId(),
shoppingCartInfoRequestVo.getShopId(), productIds, false, shoppingCartInfoRequestVo.getMenuType());
if (ResponseResult.SUCCESS.getCode().equals(baseResponse.getCode()) && baseResponse.getResult() != null){
GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean productBean = baseResponse.getResult().get(cartGoods.getSkuId());
cartGoods.setCustomerCode(productBean.getCustomerCode());
}
}else {
cartGoods.setCustomerCode(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo());
}
cartGoods.setTotalDiscountAmount(-activityDiscountsDto.getDiscountAmount()); cartGoods.setTotalDiscountAmount(-activityDiscountsDto.getDiscountAmount());
cartGoods.setSalePrice(0L); cartGoods.setSalePrice(0L);
cartGoods.setActivityDiscountsDtos(productActivityDiscountsDtos); cartGoods.setActivityDiscountsDtos(productActivityDiscountsDtos);
} }
} }
} }
cartGoods.setCustomerCode(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo());
} }
} }
......
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