Commit 9da90a12 by chongfu.liang

Merge branch 'feature/20210310-第x件y折-lcf'

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyAndGiftsPromotionService.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/GiftSharingService.java
parents d8cc819f c8091aba
...@@ -412,6 +412,7 @@ public class ShoppingCartConvertAdapter { ...@@ -412,6 +412,7 @@ public class ShoppingCartConvertAdapter {
Integer qty = addShoppingCartGoodsRequestVo.getQty() == null ? 1 : addShoppingCartGoodsRequestVo.getQty(); Integer qty = addShoppingCartGoodsRequestVo.getQty() == null ? 1 : addShoppingCartGoodsRequestVo.getQty();
CartGoods cartGoods = new CartGoods(); CartGoods cartGoods = new CartGoods();
cartGoods.setGoodsId(goodsId); cartGoods.setGoodsId(goodsId);
cartGoods.setAddCartTime(System.currentTimeMillis());
cartGoods.setSpuId(spuId); cartGoods.setSpuId(spuId);
cartGoods.setSkuId(skuId); cartGoods.setSkuId(skuId);
cartGoods.setQty(qty); cartGoods.setQty(qty);
......
...@@ -10,6 +10,7 @@ import lombok.NoArgsConstructor; ...@@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID;
@Data @Data
public class ActivityCalculationDiscountResponseDto { public class ActivityCalculationDiscountResponseDto {
...@@ -201,6 +202,7 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -201,6 +202,7 @@ public class ActivityCalculationDiscountResponseDto {
* 购物车商品行uid * 购物车商品行uid
*/ */
private String cartGoodsUid; private String cartGoodsUid;
private Boolean zeroDiscount;
} }
@Data @Data
......
...@@ -119,6 +119,10 @@ public class CalculationSharingDiscountRequestDto { ...@@ -119,6 +119,10 @@ public class CalculationSharingDiscountRequestDto {
*/ */
private Long originalPrice; private Long originalPrice;
/** /**
* 加车时间
*/
private Long addCartTime;
/**
* 折扣比例 * 折扣比例
* 例如8折为80 * 例如8折为80
*/ */
......
...@@ -171,6 +171,8 @@ public class CalculationSharingDiscountResponseDto { ...@@ -171,6 +171,8 @@ public class CalculationSharingDiscountResponseDto {
private Long thresholdAmount; private Long thresholdAmount;
private SendPointDto sendPointVo; private SendPointDto sendPointVo;
private Date endTime; private Date endTime;
private Boolean zeroDiscount;
} }
@Data @Data
......
...@@ -21,7 +21,9 @@ import cn.freemud.enums.ActivityTypeEnum; ...@@ -21,7 +21,9 @@ import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.CalculationGoodsType; import cn.freemud.enums.CalculationGoodsType;
import cn.freemud.service.active.ActiveService; import cn.freemud.service.active.ActiveService;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO; import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -75,6 +77,7 @@ public class PlatformActiveServiceImpl implements ActiveService { ...@@ -75,6 +77,7 @@ public class PlatformActiveServiceImpl implements ActiveService {
Map<String, CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods> discountForGift = this.getDiscountForGift(discountResult); Map<String, CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods> discountForGift = this.getDiscountForGift(discountResult);
for (ProductBeanDTO product : products) { for (ProductBeanDTO product : products) {
String k = product.getPid(); String k = product.getPid();
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods goods = discountForGift.get(k); CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods goods = discountForGift.get(k);
......
...@@ -77,8 +77,10 @@ import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBase ...@@ -77,8 +77,10 @@ import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBase
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.sun.org.apache.xpath.internal.operations.Bool; import com.sun.org.apache.xpath.internal.operations.Bool;
import javafx.util.Pair; import javafx.util.Pair;
import javafx.util.Pair;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -194,7 +196,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -194,7 +196,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
/** /**
* 从微信卡券向购物车中添加商品 * 从微信卡券向购物车中添加商品
*/ */
...@@ -1340,6 +1341,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1340,6 +1341,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount discountDTO = result.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get(); ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount discountDTO = result.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get();
convert2SendPoint(result, discountDTO); convert2SendPoint(result, discountDTO);
} }
result.setValidCouponMap(validCouponMap); result.setValidCouponMap(validCouponMap);
result.setSpqIdToCartUuid(spqIdToCartUuid); result.setSpqIdToCartUuid(spqIdToCartUuid);
result.setDeliveryAmount(distributionFee); result.setDeliveryAmount(distributionFee);
...@@ -1423,6 +1425,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1423,6 +1425,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
calculationDiscountGoods.setGoodsId(cartGoods.getGoodsId()); calculationDiscountGoods.setGoodsId(cartGoods.getGoodsId());
calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid()); calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid());
calculationDiscountGoods.setAddCartTime(cartGoods.getAddCartTime() == null ? 0 : cartGoods.getAddCartTime());
calculationDiscountGoods.setGoodsQuantity(cartGoods.getQty()); calculationDiscountGoods.setGoodsQuantity(cartGoods.getQty());
calculationDiscountGoods.setOriginalPrice(cartGoods.getFinalPrice()); calculationDiscountGoods.setOriginalPrice(cartGoods.getFinalPrice());
calculationDiscountGoods.setMemberDiscount(cartGoods.getMemberDiscount()); calculationDiscountGoods.setMemberDiscount(cartGoods.getMemberDiscount());
......
...@@ -17,6 +17,7 @@ import tk.mybatis.mapper.genid.GenId; ...@@ -17,6 +17,7 @@ import tk.mybatis.mapper.genid.GenId;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
......
...@@ -12,6 +12,7 @@ import cn.freemud.service.impl.calculate.promotion.*; ...@@ -12,6 +12,7 @@ import cn.freemud.service.impl.calculate.promotion.*;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum; import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
...@@ -18,6 +18,7 @@ import cn.freemud.service.CouponService; ...@@ -18,6 +18,7 @@ import cn.freemud.service.CouponService;
import cn.freemud.service.active.ActiveFactory; import cn.freemud.service.active.ActiveFactory;
import cn.freemud.service.active.ActiveService; import cn.freemud.service.active.ActiveService;
import cn.freemud.service.impl.AssortmentSdkService; import cn.freemud.service.impl.AssortmentSdkService;
import cn.freemud.service.impl.calculate.promotion.GiftSharingService;
import cn.freemud.service.thirdparty.CalculationClient; import cn.freemud.service.thirdparty.CalculationClient;
import cn.freemud.utils.PropertyConvertUtil; import cn.freemud.utils.PropertyConvertUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -25,8 +26,11 @@ import com.freemud.application.sdk.api.log.ErrorLog; ...@@ -25,8 +26,11 @@ import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum; import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import javafx.util.Pair;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -61,6 +65,9 @@ public class CalculationSharingDiscountService { ...@@ -61,6 +65,9 @@ public class CalculationSharingDiscountService {
@Autowired @Autowired
private ActiveFactory activeFactory; private ActiveFactory activeFactory;
@Autowired
private GiftSharingService giftSharingService;
public CalculationSharingDiscountResponseDto.CalculationDiscountResult getCalculationSharingDiscountResult(String menuType public CalculationSharingDiscountResponseDto.CalculationDiscountResult getCalculationSharingDiscountResult(String menuType
, String partnerId , String partnerId
, String storeId , String storeId
...@@ -213,6 +220,7 @@ public class CalculationSharingDiscountService { ...@@ -213,6 +220,7 @@ public class CalculationSharingDiscountService {
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount discountDTO = result.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get(); CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount discountDTO = result.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get();
convert2SendPoint(result, discountDTO); convert2SendPoint(result, discountDTO);
} }
result.setValidCouponMap(validCouponMap); result.setValidCouponMap(validCouponMap);
result.setSpqIdToCartUuid(spqIdToCartUuid); result.setSpqIdToCartUuid(spqIdToCartUuid);
result.setDeliveryAmount(deliveryAmount); result.setDeliveryAmount(deliveryAmount);
...@@ -258,6 +266,7 @@ public class CalculationSharingDiscountService { ...@@ -258,6 +266,7 @@ public class CalculationSharingDiscountService {
calculationDiscountGoods.setGoodsId(cartGoods.getGoodsId()); calculationDiscountGoods.setGoodsId(cartGoods.getGoodsId());
calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid()); calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid());
calculationDiscountGoods.setGoodsQuantity(cartGoods.getQty()); calculationDiscountGoods.setGoodsQuantity(cartGoods.getQty());
calculationDiscountGoods.setAddCartTime(cartGoods.getAddCartTime() == null ? 0 : cartGoods.getAddCartTime());
//if (cartGoods.getGoodsType().equals(GoodsTypeEnum.SET_MEAL_GOODS)) //if (cartGoods.getGoodsType().equals(GoodsTypeEnum.SET_MEAL_GOODS))
if (CollectionUtils.isNotEmpty(cartGoods.getProductGroupList()) || CollectionUtils.isNotEmpty(cartGoods.getProductComboList())) { if (CollectionUtils.isNotEmpty(cartGoods.getProductGroupList()) || CollectionUtils.isNotEmpty(cartGoods.getProductComboList())) {
calculationDiscountGoods.setOriginalPrice(cartGoods.getFinalPrice()!=null ? cartGoods.getFinalPrice() : cartGoods.getOriginalPrice()); calculationDiscountGoods.setOriginalPrice(cartGoods.getFinalPrice()!=null ? cartGoods.getFinalPrice() : cartGoods.getOriginalPrice());
...@@ -324,6 +333,7 @@ public class CalculationSharingDiscountService { ...@@ -324,6 +333,7 @@ public class CalculationSharingDiscountService {
CalculationSharingDiscountRequestDto.CalculationDiscountGoods calculationDiscountGoods = new CalculationSharingDiscountRequestDto.CalculationDiscountGoods(); CalculationSharingDiscountRequestDto.CalculationDiscountGoods calculationDiscountGoods = new CalculationSharingDiscountRequestDto.CalculationDiscountGoods();
calculationDiscountGoods.setGoodsId(goodsId); calculationDiscountGoods.setGoodsId(goodsId);
calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid()); calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid());
calculationDiscountGoods.setAddCartTime(cartGoods.getAddCartTime() == null ? 0 : cartGoods.getAddCartTime());
calculationDiscountGoods.setGoodsQuantity(cartGoods.getQty()); calculationDiscountGoods.setGoodsQuantity(cartGoods.getQty());
calculationDiscountGoods.setOriginalPrice(originalPrice); calculationDiscountGoods.setOriginalPrice(originalPrice);
calculationDiscountGoods.setMemberDiscount(100); calculationDiscountGoods.setMemberDiscount(100);
...@@ -337,6 +347,7 @@ public class CalculationSharingDiscountService { ...@@ -337,6 +347,7 @@ public class CalculationSharingDiscountService {
CalculationSharingDiscountRequestDto.CalculationDiscountGoods calculationDiscountGoods = new CalculationSharingDiscountRequestDto.CalculationDiscountGoods(); CalculationSharingDiscountRequestDto.CalculationDiscountGoods calculationDiscountGoods = new CalculationSharingDiscountRequestDto.CalculationDiscountGoods();
calculationDiscountGoods.setGoodsId(goodsId); calculationDiscountGoods.setGoodsId(goodsId);
calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid()); calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid());
calculationDiscountGoods.setAddCartTime(cartGoods.getAddCartTime() == null ? 0 : cartGoods.getAddCartTime());
calculationDiscountGoods.setGoodsQuantity(cartGoods.getQty()); calculationDiscountGoods.setGoodsQuantity(cartGoods.getQty());
calculationDiscountGoods.setOriginalPrice(originalPrice); calculationDiscountGoods.setOriginalPrice(originalPrice);
calculationDiscountGoods.setMemberDiscount(100); calculationDiscountGoods.setMemberDiscount(100);
......
package cn.freemud.service.impl.calculate.promotion; package cn.freemud.service.impl.calculate.promotion;
import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.activity.ActivityDiscountsDto; import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
import cn.freemud.entities.dto.activity.ActivityQueryDto; import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto; import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
...@@ -15,14 +16,13 @@ import cn.freemud.service.active.ActiveService; ...@@ -15,14 +16,13 @@ import cn.freemud.service.active.ActiveService;
import cn.freemud.service.impl.AssortmentSdkService; import cn.freemud.service.impl.AssortmentSdkService;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO; import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import javafx.util.Pair;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
......
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