Commit 6ef932f2 by 徐康

Merge branch 'feature/xukang_20210407_麦咖啡p6v3'

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
#	shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
parents b75f4ef1 3d180883
...@@ -23,6 +23,7 @@ public enum OldOrderAccountType { ...@@ -23,6 +23,7 @@ public enum OldOrderAccountType {
COUPON(5, "代金券", "COUPON"), COUPON(5, "代金券", "COUPON"),
PRODUCT_COUPON(6, "商品券", "PRODUCT_COUPON"), PRODUCT_COUPON(6, "商品券", "PRODUCT_COUPON"),
SEED_PRODUCT_COUPON(37, "种子券", "SEED_PRODUCT_COUPON"), SEED_PRODUCT_COUPON(37, "种子券", "SEED_PRODUCT_COUPON"),
EVM_PRODUCT_COUPON(39, "EVM券", "EVM_PRODUCT_COUPON"),
DISCOUNT_COUPON(7, "折扣券", "DISCOUNT_COUPON"), DISCOUNT_COUPON(7, "折扣券", "DISCOUNT_COUPON"),
DRIVER_FEE(7, "骑手小费", "DRIVER_FEE"), DRIVER_FEE(7, "骑手小费", "DRIVER_FEE"),
WITH_ORDER_BUY_COUPON_FEE(10, "随单买月卡", "WITH_ORDER_BUY_COUPON_FEE"), WITH_ORDER_BUY_COUPON_FEE(10, "随单买月卡", "WITH_ORDER_BUY_COUPON_FEE"),
......
...@@ -25,6 +25,7 @@ public enum QueryOrderAccountType { ...@@ -25,6 +25,7 @@ public enum QueryOrderAccountType {
FREIGHT_COUPON("FREIGHT_COUPON", "运费券"), FREIGHT_COUPON("FREIGHT_COUPON", "运费券"),
PRODUCT_COUPON("PRODUCT_COUPON", "商品券"), PRODUCT_COUPON("PRODUCT_COUPON", "商品券"),
SEED_PRODUCT_COUPON("SEED_PRODUCT_COUPON", "种子券"), SEED_PRODUCT_COUPON("SEED_PRODUCT_COUPON", "种子券"),
EVM_PRODUCT_COUPON("EVM_PRODUCT_COUPON", "种子券"),
DISCOUNT_COUPON("DISCOUNT_COUPON", "折扣券"), DISCOUNT_COUPON("DISCOUNT_COUPON", "折扣券"),
DISCOUNT_AMOUNT("DISCOUNT_AMOUNT", "限时折扣金额"), DISCOUNT_AMOUNT("DISCOUNT_AMOUNT", "限时折扣金额"),
PREMIUM_EXCHANGE("PREMIUM_EXCHANGE", "加价购"), PREMIUM_EXCHANGE("PREMIUM_EXCHANGE", "加价购"),
......
...@@ -27,5 +27,6 @@ public class CheckCartRequest { ...@@ -27,5 +27,6 @@ public class CheckCartRequest {
private Integer orderWay; private Integer orderWay;
private String trackingNo; private String trackingNo;
private String tableNumber; private String tableNumber;
private String sessionId;
private String menuType; private String menuType;
} }
...@@ -660,7 +660,7 @@ public class CouponAdapter { ...@@ -660,7 +660,7 @@ public class CouponAdapter {
public MCCafeCouponRequest convert2MCCafeCouponRequest(QueryOrdersResponseDto.DataBean.OrderBean orderBean, QueryOrdersResponseDto.DataBean.OrderBean.AccountBean accountBean, McdNetBatchQueryResponse.Coupon coupon) { public MCCafeCouponRequest convert2MCCafeCouponRequest(QueryOrdersResponseDto.DataBean.OrderBean orderBean, QueryOrdersResponseDto.DataBean.OrderBean.AccountBean accountBean, McdNetBatchQueryResponse.Coupon coupon) {
List<MCCafeProductRedeemVo> products = new ArrayList<>(); List<MCCafeProductRedeemVo> products = new ArrayList<>();
//商品券核销核销参数 //商品券核销核销参数
if (QueryOrderAccountType.PRODUCT_COUPON.equals(orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(accountBean.getType())))) { if (OldOrderAccountType.PRODUCT_COUPON.getCode().equals(accountBean.getType()) || OldOrderAccountType.EVM_PRODUCT_COUPON.getCode().equals(accountBean.getType())) {
for (int i = 0; i < orderBean.getProductList().size(); i++) { for (int i = 0; i < orderBean.getProductList().size(); i++) {
QueryOrdersResponseDto.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i); QueryOrdersResponseDto.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i);
String pid = org.apache.commons.lang3.StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId(); String pid = org.apache.commons.lang3.StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId();
...@@ -691,7 +691,7 @@ public class CouponAdapter { ...@@ -691,7 +691,7 @@ public class CouponAdapter {
} }
} }
} }
} else if (QueryOrderAccountType.COUPON.equals(orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(accountBean.getType())))) { } else if (OldOrderAccountType.COUPON.getCode().equals(accountBean.getType())) {
for (int i = 0; i < orderBean.getProductList().size(); i++) { for (int i = 0; i < orderBean.getProductList().size(); i++) {
QueryOrdersResponseDto.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i); QueryOrdersResponseDto.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i);
String pid = org.apache.commons.lang3.StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId(); String pid = org.apache.commons.lang3.StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId();
...@@ -703,7 +703,7 @@ public class CouponAdapter { ...@@ -703,7 +703,7 @@ public class CouponAdapter {
mcCafeProductRedeemVo.setSeq(i + 1); mcCafeProductRedeemVo.setSeq(i + 1);
products.add(mcCafeProductRedeemVo); products.add(mcCafeProductRedeemVo);
} }
} else if (QueryOrderAccountType.FREIGHT_COUPON.equals(orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(accountBean.getType())))) { } else if (OldOrderAccountType.FREIGHT_COUPON.getCode().equals(accountBean.getType())) {
if(null != coupon) { if(null != coupon) {
McdNetCouponProductRespDto mcdNetCouponProductRespDto = coupon.getCodeInfo().getProducts().get(0); McdNetCouponProductRespDto mcdNetCouponProductRespDto = coupon.getCodeInfo().getProducts().get(0);
MCCafeProductRedeemVo mcCafeProductRedeemVo = new MCCafeProductRedeemVo(); MCCafeProductRedeemVo mcCafeProductRedeemVo = new MCCafeProductRedeemVo();
......
...@@ -2620,9 +2620,9 @@ public class OrderAdapter { ...@@ -2620,9 +2620,9 @@ public class OrderAdapter {
List<CreateOrderProductRequest> comboProducts = new ArrayList<>(); List<CreateOrderProductRequest> comboProducts = new ArrayList<>();
cartGoodsDetailDto.getComboProducts().forEach(product -> { cartGoodsDetailDto.getComboProducts().forEach(product -> {
CreateOrderProductRequest createOrderComboProduct = convent2MCCafeOrderProductDemo(product, product.getProductType()); CreateOrderProductRequest createOrderComboProduct = convent2MCCafeOrderProductDemo(product, product.getProductType());
if(!product.getIsFixedProduct()) { // if(!product.getIsFixedProduct()) {
createOrderProductDemoDto.setPrice(createOrderProductDemoDto.getPrice()+product.getOriginalPrice()); // createOrderProductDemoDto.setPrice(createOrderProductDemoDto.getPrice()+product.getOriginalPrice());
} // }
comboProducts.add(createOrderComboProduct); comboProducts.add(createOrderComboProduct);
if(CollectionUtils.isNotEmpty(product.getMaterialList())) { if(CollectionUtils.isNotEmpty(product.getMaterialList())) {
//加料商品 //加料商品
...@@ -2820,6 +2820,9 @@ public class OrderAdapter { ...@@ -2820,6 +2820,9 @@ public class OrderAdapter {
if (ActivityTypeEnum.TYPE_31.getCode().equals(activityType)) { if (ActivityTypeEnum.TYPE_31.getCode().equals(activityType)) {
return OldOrderAccountType.DISCOUNT_COUPON; return OldOrderAccountType.DISCOUNT_COUPON;
} }
if (ActivityTypeEnum.TYPE_39.getCode().equals(activityType)) {
return OldOrderAccountType.EVM_PRODUCT_COUPON;
}
if (ActivityTypeEnum.TYPE_PACKAGE.getCode().equals(activityType)) { if (ActivityTypeEnum.TYPE_PACKAGE.getCode().equals(activityType)) {
return OldOrderAccountType.PACK_AMOUNT; return OldOrderAccountType.PACK_AMOUNT;
} }
......
...@@ -35,6 +35,7 @@ public enum ActivityTypeEnum { ...@@ -35,6 +35,7 @@ public enum ActivityTypeEnum {
TYPE_35(35, "买1赠3券"), TYPE_35(35, "买1赠3券"),
TYPE_37(37, "种子券"), TYPE_37(37, "种子券"),
TYPE_38(38, "月享卡2.0"), TYPE_38(38, "月享卡2.0"),
TYPE_39(39, "EVM券"),
TYPE_5(5, "整单满金额折"), TYPE_5(5, "整单满金额折"),
TYPE_51(51, "每满金额折"), TYPE_51(51, "每满金额折"),
TYPE_52(52, "阶梯满金额折"), TYPE_52(52, "阶梯满金额折"),
......
...@@ -71,10 +71,11 @@ public class CouponClientServiceImpl implements CouponClientService { ...@@ -71,10 +71,11 @@ public class CouponClientServiceImpl implements CouponClientService {
return null; return null;
} }
List<QueryOrdersResponseDto.DataBean.OrderBean.AccountBean> accountList = orderBean.getAccountList().stream().filter( List<QueryOrdersResponseDto.DataBean.OrderBean.AccountBean> accountList = orderBean.getAccountList().stream().filter(
account -> (orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.COUPON) account -> (OldOrderAccountType.COUPON.getCode().equals(account.getType())
|| orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.PRODUCT_COUPON) || OldOrderAccountType.PRODUCT_COUPON.getCode().equals(account.getType())
|| orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.DISCOUNT_COUPON) || OldOrderAccountType.EVM_PRODUCT_COUPON.getCode().equals(account.getType())
|| orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.FREIGHT_COUPON)) || OldOrderAccountType.DISCOUNT_COUPON.getCode().equals(account.getType())
|| OldOrderAccountType.FREIGHT_COUPON.getCode().equals(account.getType()))
).collect(Collectors.toList()); ).collect(Collectors.toList());
if (CollectionUtils.isEmpty(accountList)) { if (CollectionUtils.isEmpty(accountList)) {
return null; return null;
...@@ -143,9 +144,10 @@ public class CouponClientServiceImpl implements CouponClientService { ...@@ -143,9 +144,10 @@ public class CouponClientServiceImpl implements CouponClientService {
return null; return null;
} }
List<QueryOrdersResponseDto.DataBean.OrderBean.AccountBean> accountList = orderBean.getAccountList().stream().filter( List<QueryOrdersResponseDto.DataBean.OrderBean.AccountBean> accountList = orderBean.getAccountList().stream().filter(
account -> (OldOrderAccountType.PRODUCT_COUPON.equals(OldOrderAccountType.getByCode(account.getType())) account -> (OldOrderAccountType.PRODUCT_COUPON.getCode().equals(account.getType())
|| OldOrderAccountType.COUPON.equals(OldOrderAccountType.getByCode(account.getType())) || OldOrderAccountType.EVM_PRODUCT_COUPON.getCode().equals(account.getType())
|| OldOrderAccountType.DISCOUNT_COUPON.equals(OldOrderAccountType.getByCode(account.getType())) || OldOrderAccountType.COUPON.getCode().equals(account.getType())
|| OldOrderAccountType.DISCOUNT_COUPON.getCode().equals(account.getType())
)).collect(Collectors.toList()); )).collect(Collectors.toList());
if (CollectionUtils.isEmpty(accountList)) { if (CollectionUtils.isEmpty(accountList)) {
return null; return null;
......
...@@ -43,9 +43,11 @@ public class McCafeCouponAdapter { ...@@ -43,9 +43,11 @@ public class McCafeCouponAdapter {
} }
List<QueryOrdersResponse.DataBean.OrderBean.AccountBean> accountList = orderBean.getAccountList().stream().filter( List<QueryOrdersResponse.DataBean.OrderBean.AccountBean> accountList = orderBean.getAccountList().stream().filter(
account -> (getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.COUPON) account -> (OldOrderAccountType.COUPON.getCode().equals(account.getType())
|| getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.PRODUCT_COUPON) || OldOrderAccountType.PRODUCT_COUPON.getCode().equals(account.getType())
|| getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.DISCOUNT_COUPON)) || OldOrderAccountType.EVM_PRODUCT_COUPON.getCode().equals(account.getType())
|| OldOrderAccountType.DISCOUNT_COUPON.getCode().equals(account.getType())
|| OldOrderAccountType.FREIGHT_COUPON.getCode().equals(account.getType()))
).collect(Collectors.toList()); ).collect(Collectors.toList());
if (CollectionUtils.isEmpty(accountList) ) { if (CollectionUtils.isEmpty(accountList) ) {
return null; return null;
...@@ -78,7 +80,7 @@ public class McCafeCouponAdapter { ...@@ -78,7 +80,7 @@ public class McCafeCouponAdapter {
public MCCafeCouponRequest convert2MCCafeCouponRequest(QueryOrdersResponse.DataBean.OrderBean orderBean, QueryOrdersResponse.DataBean.OrderBean.AccountBean accountBean, McdNetBatchQueryResponse.Coupon coupon) { public MCCafeCouponRequest convert2MCCafeCouponRequest(QueryOrdersResponse.DataBean.OrderBean orderBean, QueryOrdersResponse.DataBean.OrderBean.AccountBean accountBean, McdNetBatchQueryResponse.Coupon coupon) {
List<MCCafeProductRedeemVo> products = new ArrayList<>(); List<MCCafeProductRedeemVo> products = new ArrayList<>();
//商品券核销核销参数 //商品券核销核销参数
if (QueryOrderAccountType.PRODUCT_COUPON.equals(getQueryOrderAccountType(OldOrderAccountType.getByCode(accountBean.getType())))) { if (OldOrderAccountType.PRODUCT_COUPON.getCode().equals(accountBean.getType()) || OldOrderAccountType.EVM_PRODUCT_COUPON.getCode().equals(accountBean.getType())) {
for (int i = 0; i < orderBean.getProductList().size(); i++) { for (int i = 0; i < orderBean.getProductList().size(); i++) {
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i); QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i);
String pid = StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId(); String pid = StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId();
...@@ -109,7 +111,7 @@ public class McCafeCouponAdapter { ...@@ -109,7 +111,7 @@ public class McCafeCouponAdapter {
} }
} }
} }
}else if (QueryOrderAccountType.COUPON.equals(getQueryOrderAccountType(OldOrderAccountType.getByCode(accountBean.getType())))) { }else if (OldOrderAccountType.COUPON.getCode().equals(accountBean.getType())) {
for (int i = 0; i < orderBean.getProductList().size(); i++) { for (int i = 0; i < orderBean.getProductList().size(); i++) {
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i); QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i);
String pid = StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId(); String pid = StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId();
......
...@@ -70,7 +70,7 @@ public class ShoppingCartMccafeAdapter { ...@@ -70,7 +70,7 @@ public class ShoppingCartMccafeAdapter {
cartGoodsDetailDto.setSpuName(comboxGoods.getSpuName()); cartGoodsDetailDto.setSpuName(comboxGoods.getSpuName());
cartGoodsDetailDto.setSkuId(comboxGoods.getGoodsId()); cartGoodsDetailDto.setSkuId(comboxGoods.getGoodsId());
cartGoodsDetailDto.setSkuName(StringUtils.isEmpty(comboxGoods.getSkuName()) ? comboxGoods.getSpuName() : comboxGoods.getSkuName()); cartGoodsDetailDto.setSkuName(StringUtils.isEmpty(comboxGoods.getSkuName()) ? comboxGoods.getSpuName() : comboxGoods.getSkuName());
cartGoodsDetailDto.setOriginalPrice(comboxGoods.getOriginalPrice()); cartGoodsDetailDto.setOriginalPrice(comboxGoods.getFinalPrice());
cartGoodsDetailDto.setPicture(comboxGoods.getPic()); cartGoodsDetailDto.setPicture(comboxGoods.getPic());
int qty = comboxGoods.getQty() * cartGoods.getQty(); int qty = comboxGoods.getQty() * cartGoods.getQty();
cartGoodsDetailDto.setQty(qty); cartGoodsDetailDto.setQty(qty);
...@@ -150,9 +150,9 @@ public class ShoppingCartMccafeAdapter { ...@@ -150,9 +150,9 @@ public class ShoppingCartMccafeAdapter {
cartGoodsDetailDto.setSpuName(cartGoods.getSpuName()); cartGoodsDetailDto.setSpuName(cartGoods.getSpuName());
cartGoodsDetailDto.setSkuId(StringUtils.isEmpty(cartGoods.getSkuId()) ? cartGoods.getSpuId() : cartGoods.getSkuId()); cartGoodsDetailDto.setSkuId(StringUtils.isEmpty(cartGoods.getSkuId()) ? cartGoods.getSpuId() : cartGoods.getSkuId());
cartGoodsDetailDto.setSkuName(StringUtils.isEmpty(cartGoods.getSkuName()) ? cartGoods.getSpuName() : cartGoods.getSkuName()); cartGoodsDetailDto.setSkuName(StringUtils.isEmpty(cartGoods.getSkuName()) ? cartGoods.getSpuName() : cartGoods.getSkuName());
cartGoodsDetailDto.setOriginalPrice(cartGoods.getOriginalPrice()); cartGoodsDetailDto.setOriginalPrice(cartGoods.getFinalPrice());
// cartGoodsDetailDto.setTotalDiscountAmount(0); // cartGoodsDetailDto.setTotalDiscountAmount(0);
cartGoodsDetailDto.setSalePrice(cartGoods.getOriginalPrice()); cartGoodsDetailDto.setSalePrice(cartGoods.getFinalPrice());
cartGoodsDetailDto.setPicture(cartGoods.getPic()); cartGoodsDetailDto.setPicture(cartGoods.getPic());
cartGoodsDetailDto.setQty(cartGoods.getQty()); cartGoodsDetailDto.setQty(cartGoods.getQty());
cartGoodsDetailDto.setActivityType(cartGoods.getActivityType()); cartGoodsDetailDto.setActivityType(cartGoods.getActivityType());
......
...@@ -20,4 +20,8 @@ public class ProductAttributeValueType { ...@@ -20,4 +20,8 @@ public class ProductAttributeValueType {
private String attributeId; private String attributeId;
private String attributeValue; private String attributeValue;
public String toString() {
return "attributeId:"+attributeId+" attributeValue:"+attributeValue;
}
} }
...@@ -22,6 +22,7 @@ public class ValidateShopProductRequest { ...@@ -22,6 +22,7 @@ public class ValidateShopProductRequest {
private String partnerId; private String partnerId;
private String storeId; private String storeId;
private String channel; private String channel;
private String sessionId;
private List<ValidateShopProductType> productTypeList; private List<ValidateShopProductType> productTypeList;
} }
...@@ -29,4 +29,10 @@ public class ValidateSkuProductType { ...@@ -29,4 +29,10 @@ public class ValidateSkuProductType {
private ProductSpecAttrValueGroupType productSpecAttrValueGroupType; private ProductSpecAttrValueGroupType productSpecAttrValueGroupType;
public String toString() {
return "skuId:"+skuId+" productId:"+productId+" price:"+price+" markUpPrice:"+markUpPrice+" qty:"+qty+" productGroupId:"+productGroupId
+" attributeList:"+attributeList.toString();
}
} }
...@@ -37,6 +37,7 @@ public enum ActivityTypeEnum { ...@@ -37,6 +37,7 @@ public enum ActivityTypeEnum {
TYPE_33(33, "换购券"), TYPE_33(33, "换购券"),
TYPE_37(37, "月享卡种子券"), TYPE_37(37, "月享卡种子券"),
TYPE_38(38,"月享卡2.0"), TYPE_38(38,"月享卡2.0"),
TYPE_39(39, "EVM券"),
TYPE_5(5, "整单满金额折"), TYPE_5(5, "整单满金额折"),
TYPE_51(51, "每满金额折"), TYPE_51(51, "每满金额折"),
TYPE_52(52, "阶梯满金额折"), TYPE_52(52, "阶梯满金额折"),
......
...@@ -23,6 +23,7 @@ public class ServiceException extends RuntimeException { ...@@ -23,6 +23,7 @@ public class ServiceException extends RuntimeException {
public ServiceException(ResponseResult result, String message) { public ServiceException(ResponseResult result, String message) {
this.result = result; this.result = result;
this.message = message; this.message = message;
this.result.setMessage(message);
} }
public ResponseResult getResult() { public ResponseResult getResult() {
......
...@@ -263,8 +263,7 @@ public class AssortmentSdkService { ...@@ -263,8 +263,7 @@ public class AssortmentSdkService {
request.setStoreId(storeId); request.setStoreId(storeId);
request.setTrackingNo(LogThreadLocal.getTrackingNo()); request.setTrackingNo(LogThreadLocal.getTrackingNo());
request.setMenuType(BusinessTypeEnum.getByType(menuType).getCode()); request.setMenuType(BusinessTypeEnum.getByType(menuType).getCode());
BaseResponse<List<ProductBeanDTO>> baseResponse = BaseResponse<List<ProductBeanDTO>> baseResponse = shoppingCartService.getProductsInfo(request);
shoppingCartService.getProductsInfo(request);
if (baseResponse == null || !ResponseResult.SUCCESS.getCode().equals(baseResponse.getCode()) || CollectionUtils.isEmpty(baseResponse.getResult())) { if (baseResponse == null || !ResponseResult.SUCCESS.getCode().equals(baseResponse.getCode()) || CollectionUtils.isEmpty(baseResponse.getResult())) {
throw new ServiceException(ResponseResult.SHOPPING_CART_PRODUCT_NOT_EXIST); throw new ServiceException(ResponseResult.SHOPPING_CART_PRODUCT_NOT_EXIST);
} }
......
...@@ -203,7 +203,6 @@ public class CalculationServiceImpl { ...@@ -203,7 +203,6 @@ public class CalculationServiceImpl {
}); });
for (int i = 0, len = cartGoodsList.size(); i < len; i++) { for (int i = 0, len = cartGoodsList.size(); i < len; i++) {
CartGoods cartGoods = cartGoodsList.get(i); CartGoods cartGoods = cartGoodsList.get(i);
// List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = shoppingCartConvertAdapter.convertCartGoods2DetailGoodsList(cartGoods, apportionGoodsList,duplicateGoodsMap);
List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = shoppingCartMccafeAdapter.convertCartGoods2DetailGoodsList(cartGoods, apportionGoodsList,duplicateGoodsMap); List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = shoppingCartMccafeAdapter.convertCartGoods2DetailGoodsList(cartGoods, apportionGoodsList,duplicateGoodsMap);
cartGoodsDetailDtoList.addAll(cartGoodsDetailDtos); cartGoodsDetailDtoList.addAll(cartGoodsDetailDtos);
} }
...@@ -498,7 +497,7 @@ public class CalculationServiceImpl { ...@@ -498,7 +497,7 @@ public class CalculationServiceImpl {
for (CartGoods cartGoods : cartGoodsList) { for (CartGoods cartGoods : cartGoodsList) {
// 设置商品原价与商品现价的初始值 // 设置商品原价与商品现价的初始值
long originalAmount = null != cartGoods.getOriginalPrice() ? cartGoods.getOriginalPrice()* cartGoods.getQty() : 0; long originalAmount = null != cartGoods.getOriginalPrice() ? cartGoods.getOriginalPrice()* cartGoods.getQty() : 0;
long amount = null != cartGoods.getOriginalPrice() ? cartGoods.getOriginalPrice()* cartGoods.getQty() : 0; long amount = null != cartGoods.getFinalPrice() ? cartGoods.getFinalPrice()* cartGoods.getQty() : 0;
long packAmount = null != cartGoods.getPackPrice() ? cartGoods.getPackPrice()* cartGoods.getQty() : 0; long packAmount = null != cartGoods.getPackPrice() ? cartGoods.getPackPrice()* cartGoods.getQty() : 0;
totalOriginalAmount += originalAmount; totalOriginalAmount += originalAmount;
totalAmount += amount; totalAmount += amount;
......
...@@ -195,10 +195,15 @@ public class CouponDiscountCalculation { ...@@ -195,10 +195,15 @@ public class CouponDiscountCalculation {
*/ */
public void updateShoppingCartGoodsApportion(ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, ShoppingCartGoodsDto shoppingCartGoodsDto, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo){ public void updateShoppingCartGoodsApportion(ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, ShoppingCartGoodsDto shoppingCartGoodsDto, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo){
if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getDiscounts()) if (calculationDiscountResult == null
|| !calculationDiscountResult.getDiscounts().stream().anyMatch(discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType()) || CollectionUtils.isEmpty(calculationDiscountResult.getDiscounts())
||(ActivityTypeEnum.TYPE_31.getCode().equals(discount.getType())) || (ActivityTypeEnum.TYPE_32.getCode().equals(discount.getType())) || !calculationDiscountResult.getDiscounts().stream().anyMatch(
||(ActivityTypeEnum.TYPE_37.getCode().equals(discount.getType())) ||(ActivityTypeEnum.TYPE_38.getCode().equals(discount.getType()))))) { discount -> ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType())
|| ActivityTypeEnum.TYPE_31.getCode().equals(discount.getType())
|| ActivityTypeEnum.TYPE_32.getCode().equals(discount.getType())
|| ActivityTypeEnum.TYPE_37.getCode().equals(discount.getType())
|| ActivityTypeEnum.TYPE_38.getCode().equals(discount.getType())
|| ActivityTypeEnum.TYPE_39.getCode().equals(discount.getType()))) {
return; return;
} }
Map<String, Integer> extendTypeMap = calculationDiscountResult.getDiscounts().stream().filter(o -> o.getExtendType() != null) Map<String, Integer> extendTypeMap = calculationDiscountResult.getDiscounts().stream().filter(o -> o.getExtendType() != null)
...@@ -209,9 +214,13 @@ public class CouponDiscountCalculation { ...@@ -209,9 +214,13 @@ public class CouponDiscountCalculation {
if (CollectionUtils.isEmpty(couponDiscounts)) { if (CollectionUtils.isEmpty(couponDiscounts)) {
return; return;
} }
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> discounts = couponDiscounts.stream().filter(discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType()) List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> discounts = couponDiscounts.stream().filter(
|| (ActivityTypeEnum.TYPE_31.getCode().equals(discount.getType())) || (ActivityTypeEnum.TYPE_32.getCode().equals(discount.getType()) discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType())
|| (ActivityTypeEnum.TYPE_37.getCode().equals(discount.getType())) || (ActivityTypeEnum.TYPE_38.getCode().equals(discount.getType()))))).collect(Collectors.toList()); || ActivityTypeEnum.TYPE_31.getCode().equals(discount.getType())
|| ActivityTypeEnum.TYPE_32.getCode().equals(discount.getType())
|| ActivityTypeEnum.TYPE_37.getCode().equals(discount.getType())
|| ActivityTypeEnum.TYPE_38.getCode().equals(discount.getType())
|| ActivityTypeEnum.TYPE_39.getCode().equals(discount.getType()))).collect(Collectors.toList());
if (CollectionUtils.isEmpty(discounts)) { if (CollectionUtils.isEmpty(discounts)) {
return; return;
} }
......
...@@ -48,8 +48,6 @@ public class SetMealCalculation { ...@@ -48,8 +48,6 @@ public class SetMealCalculation {
if (CollectionUtils.isEmpty(setMealProducts)) { if (CollectionUtils.isEmpty(setMealProducts)) {
return; return;
} }
//套餐可选商品现价
long productGroupTotalAmount = 0L;
// 存储当前享受限时特价折扣的商品数量 // 存储当前享受限时特价折扣的商品数量
Map<String, Integer> numberMap = new HashMap<>(); Map<String, Integer> numberMap = new HashMap<>();
// 当前商品行现价 // 当前商品行现价
...@@ -63,18 +61,6 @@ public class SetMealCalculation { ...@@ -63,18 +61,6 @@ public class SetMealCalculation {
} }
// cartGoods.setOriginalAmount(cartGoods.getOriginalPrice() * cartGoods.getQty()); // cartGoods.setOriginalAmount(cartGoods.getOriginalPrice() * cartGoods.getQty());
cartGoods.setPackPrice(cartGoods.getPackPrice() * cartGoods.getQty()); cartGoods.setPackPrice(cartGoods.getPackPrice() * cartGoods.getQty());
// 可选商品现总价
productGroupTotalAmount = 0l;
long productGroupAmount =
null == cartGoods.getProductGroupList() ? 0 :
cartGoods.getProductGroupList().stream().mapToLong(t -> (null != t.getFinalPrice() ?
t.getFinalPrice():0) * (null != t.getQty() ? t.getQty():0)).sum();
productGroupTotalAmount += productGroupAmount * cartGoods.getQty();
// 固定商品现总价
long productComboAmount = cartGoods.getProductComboList().stream().mapToLong(t -> (null != t.getFinalPrice() ?
t.getFinalPrice():0) * (null != t.getQty() ? t.getQty():0)).sum();
long productComboTotalAmount = productComboAmount * cartGoods.getQty();
long materialPrice = 0l; long materialPrice = 0l;
//套餐固定商品加料 //套餐固定商品加料
...@@ -108,18 +94,13 @@ public class SetMealCalculation { ...@@ -108,18 +94,13 @@ public class SetMealCalculation {
} }
//如果是商品券商品,不重新计算套餐价格 //如果是商品券商品,不重新计算套餐价格
if (StringUtils.isEmpty(cartGoods.getCouponCode())) { if (StringUtils.isEmpty(cartGoods.getCouponCode())
Long amount = null != cartGoods.getFinalPrice() ? cartGoods.getFinalPrice() * cartGoods.getQty() + productGroupTotalAmount + materialPrice : || (null !=calculationDiscountResult.getMonthlyEnjoyCardDiscount()
productGroupTotalAmount + productComboTotalAmount + materialPrice; && StringUtils.isNotBlank(calculationDiscountResult.getMonthlyEnjoyCardDiscount().getCouponCode())
cartGoods.setAmount(amount); && cartGoods.getCouponCode().equals(calculationDiscountResult.getMonthlyEnjoyCardDiscount().getCouponCode()))) {
} cartGoods.setAmount(cartGoods.getAmount() + materialPrice);
Long comboOriginalPriceAmount = null != cartGoods.getOriginalAmount() ? cartGoods.getOriginalAmount() : cartGoods.setOriginalAmount(cartGoods.getOriginalAmount() + materialPrice);
productComboTotalAmount; }
cartGoods.setOriginalAmount(productGroupTotalAmount + comboOriginalPriceAmount + materialPrice);
cartGoods.setOriginalPrice(null != cartGoods.getOriginalPrice() ? cartGoods.getOriginalPrice() :
productComboTotalAmount);
cartGoods.setFinalPrice(null != cartGoods.getFinalPrice() ? cartGoods.getFinalPrice() :
productComboTotalAmount);
// 套餐(固定商品)现价 // 套餐(固定商品)现价
// String toastMsg = getTotalAmount(cartGoods, productGroupAmount, numberMap, goodsMap); // String toastMsg = getTotalAmount(cartGoods, productGroupAmount, numberMap, goodsMap);
...@@ -156,16 +137,8 @@ public class SetMealCalculation { ...@@ -156,16 +137,8 @@ public class SetMealCalculation {
// 套餐优惠明细 // 套餐优惠明细
for (CartGoods cartGoods : shoppingCartGoodsResponseVo.getProducts()) { for (CartGoods cartGoods : shoppingCartGoodsResponseVo.getProducts()) {
if (ObjectUtils.equals(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(), cartGoods.getGoodsType()) && StringUtils.isBlank(cartGoods.getCouponCode())) { if (ObjectUtils.equals(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(), cartGoods.getGoodsType()) && StringUtils.isBlank(cartGoods.getCouponCode())) {
// discountAmount=(套餐原价-套餐售价)*数量
// productGroupDiscountAmount=可选商品现价总和
// discountAmount-productGroupDiscountAmount: 当前商品行套餐商品总优惠= 套餐原总价-套餐现总价-套餐可选商品的现总价
// int discountAmount = (cartGoods.getOriginalPrice().intValue() - cartGoods.getFinalPrice().intValue()) * cartGoods.getQty();
int productGroupDiscountAmount = cartGoods.getProductGroupList().stream().mapToInt(t -> t.getFinalPrice().intValue() * t.getQty()).sum();
// totalDiscountAmount += discountAmount - productGroupDiscountAmount * cartGoods.getQty();
// 添加套餐父商品 // 添加套餐父商品
ShoppingCartGoodsDto.CartGoodsDetailDto parentCartGoods = shoppingCartMccafeAdapter.convertCartGoods2DetailGoods(cartGoods, apportionGoods,duplicateGoodsMap); ShoppingCartGoodsDto.CartGoodsDetailDto parentCartGoods = shoppingCartMccafeAdapter.convertCartGoods2DetailGoods(cartGoods, apportionGoods,duplicateGoodsMap);
// parentCartGoods.setTotalDiscountAmount(parentCartGoods.getTotalDiscountAmount()+ cartGoods.getOriginalAmount().intValue() - cartGoods.getAmount().intValue());
// parentCartGoods.getActivityDiscountsDtos().add(getActivityDiscountsDto(discountAmount - productGroupDiscountAmount * cartGoods.getQty()));
// 添加套餐固定商品&可选商品: 做均摊 // 添加套餐固定商品&可选商品: 做均摊
parentCartGoods.setComboProducts(shoppingCartMccafeAdapter.convertComboxGoods2DetailGoods(cartGoods,parentCartGoods.getTotalDiscountAmount())); parentCartGoods.setComboProducts(shoppingCartMccafeAdapter.convertComboxGoods2DetailGoods(cartGoods,parentCartGoods.getTotalDiscountAmount()));
cartGoodsDetailDtos.add(parentCartGoods); cartGoodsDetailDtos.add(parentCartGoods);
......
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