Commit 767e22ae by 孙昱

Merge branch 'feature/20210312_麦咖啡P5V9月享卡2.0_yu.sun'

# Conflicts:
#	assortment-shoppingcart-sdk/pom.xml
#	assortment-shoppingcart-sdk/readme.md
#	shopping-cart-application-service/pom.xml
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
parents 6bef2739 b032435d
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>assortment-shoppingcart-sdk</artifactId> <artifactId>assortment-shoppingcart-sdk</artifactId>
<version>1.2.6.RELEASE</version> <version>1.2.7.RELEASE</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
...@@ -15,4 +15,5 @@ ...@@ -15,4 +15,5 @@
| 1.2.3.RELEASE| 麦咖啡商品券门槛金额字段| 孙昱 | 2021-02-04 | | 1.2.3.RELEASE| 麦咖啡商品券门槛金额字段| 孙昱 | 2021-02-04 |
| 1.2.4.RELEASE| 多小料| 刘鹏飞 | 2021-03-03 | | 1.2.4.RELEASE| 多小料| 刘鹏飞 | 2021-03-03 |
| 1.2.5.RELEASE| 频次券| 梁崇福 | 2021-03-09 | | 1.2.5.RELEASE| 频次券| 梁崇福 | 2021-03-09 |
| 1.2.6.RELEASE| 多规格加料校验| 梁崇福 | 2021-03-25 | | 1.2.6.RELEASE| 多规格加料校验| 梁崇福 | 2021-03-25 |
\ No newline at end of file | 1.2.7.RELEASE| 麦咖啡月享卡2.0| 孙昱 | 2021-04-15 |
...@@ -80,7 +80,13 @@ public class CartGoods { ...@@ -80,7 +80,13 @@ public class CartGoods {
/** /**
* 是否为种子券商品 1:是;0:否 * 是否为种子券商品 1:是;0:否
*/ */
private int isSeedCouponGoods; private int isMonthCardGoods;
/**
* 是否使用月享卡2.0
* 1 是
* 0 否
*/
private int isUseMonthCard;
/** /**
* 是否是太阳蛋商品 * 是否是太阳蛋商品
*/ */
...@@ -314,6 +320,12 @@ public class CartGoods { ...@@ -314,6 +320,12 @@ public class CartGoods {
* 月享卡类型:1.月享卡(单商品购买);2.月享卡(多商品购买);3.普通月卡 * 月享卡类型:1.月享卡(单商品购买);2.月享卡(多商品购买);3.普通月卡
*/ */
private Integer type; private Integer type;
/**
* 是否使用月享卡2.0
* 1 是
* 0 否
*/
private int isUseMonthCard;
} }
@Data @Data
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-shoppingcart-sdk</artifactId> <artifactId>assortment-shoppingcart-sdk</artifactId>
<version>1.2.6.RELEASE</version> <version>1.2.7.RELEASE</version>
</dependency> </dependency>
<!-- 再来一单查询订单信息 --> <!-- 再来一单查询订单信息 -->
<dependency> <dependency>
......
...@@ -331,8 +331,11 @@ public class ShoppingCartMccafeAdapter { ...@@ -331,8 +331,11 @@ public class ShoppingCartMccafeAdapter {
* 1. 商品券:cartGoodsDetailDto.couponCode非空,保留ApportionGoods#ApportionDetails#apportionType中32的 * 1. 商品券:cartGoodsDetailDto.couponCode非空,保留ApportionGoods#ApportionDetails#apportionType中32的
* 2. 普通商品:cartGoodsDetailDto.couponCode空,去掉32的 * 2. 普通商品:cartGoodsDetailDto.couponCode空,去掉32的
*/ */
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails> apportionDetails = apportionGoods.getApportionDetails().stream().filter(detail -> !detail.getActivityType().equals(ActivityTypeEnum.TYPE_32.getCode()) List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails> apportionDetails = apportionGoods.getApportionDetails().stream()
&& !detail.getActivityType().equals(ActivityTypeEnum.TYPE_104.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_2.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_21.getCode())).collect(Collectors.toList()); .filter(detail -> !detail.getActivityType().equals(ActivityTypeEnum.TYPE_32.getCode())
&& !detail.getActivityType().equals(ActivityTypeEnum.TYPE_37.getCode())
&& !detail.getActivityType().equals(ActivityTypeEnum.TYPE_38.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_104.getCode())
&& !detail.getActivityType().equals(ActivityTypeEnum.TYPE_2.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_21.getCode())).collect(Collectors.toList());
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails detail : apportionDetails) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails detail : apportionDetails) {
List<ActivityDiscountsDto> currentDiscount = activityDiscountsDtoList.stream().filter(discount -> ObjectUtils.equals(discount.getActivityCode(), detail.getActivityCode())).collect(Collectors.toList()); List<ActivityDiscountsDto> currentDiscount = activityDiscountsDtoList.stream().filter(discount -> ObjectUtils.equals(discount.getActivityCode(), detail.getActivityCode())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(currentDiscount)) { if (CollectionUtils.isNotEmpty(currentDiscount)) {
......
...@@ -88,10 +88,6 @@ public class ActivityCalculationDiscountRequestDto { ...@@ -88,10 +88,6 @@ public class ActivityCalculationDiscountRequestDto {
*/ */
private String activityCode; private String activityCode;
/** /**
* 是否为种子券商品
*/
private Integer isSeedCouponGoods;
/**
* 购物车商品行uid(种子券商品才传) * 购物车商品行uid(种子券商品才传)
*/ */
private String cartGoodsUid; private String cartGoodsUid;
......
...@@ -57,6 +57,12 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -57,6 +57,12 @@ public class ActivityCalculationDiscountResponseDto {
* 总的优惠信息集合 * 总的优惠信息集合
*/ */
private List<Discount> discounts; private List<Discount> discounts;
/**
* 月享卡2.0优惠
*/
private MonthCardDiscount monthlyEnjoyCardDiscount;
/** /**
* 商品优惠信息 * 商品优惠信息
*/ */
...@@ -115,6 +121,30 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -115,6 +121,30 @@ public class ActivityCalculationDiscountResponseDto {
private SendPoint sendPointVo; private SendPoint sendPointVo;
@Data
public static class MonthCardDiscount{
/**
* 月享卡2.0优惠总额
*/
private Long discountAmount;
/**
* 月享卡券号
*/
private String couponCode;
/**
* 券标识
*/
private String couponLogo;
/**
* 优惠标识
*/
private String discountLogo;
/**
* 优惠描述
*/
private String discountDesc;
}
@Data @Data
public static class ActivityPrompt { public static class ActivityPrompt {
......
package cn.freemud.entities.dto.shoppingCart; package cn.freemud.entities.dto.shoppingCart;
import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.OrderProductAddInfo; import cn.freemud.entities.dto.OrderProductAddInfo;
import cn.freemud.entities.dto.activity.ActivityDiscountsDto; import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
import cn.freemud.entities.dto.activity.ShareDiscountActivityDto; import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
...@@ -92,6 +93,12 @@ public class ShoppingCartGoodsDto { ...@@ -92,6 +93,12 @@ public class ShoppingCartGoodsDto {
* 订单享受的促销活动 * 订单享受的促销活动
*/ */
private List<ActivityDiscountsDto> activityDiscountsDtos; private List<ActivityDiscountsDto> activityDiscountsDtos;
/**
* 月享卡2.0优惠集合
*/
private ActivityCalculationDiscountResponseDto.CalculationDiscountResult.MonthCardDiscount monthCardDiscount;
/** /**
* 扣减库存 * 扣减库存
*/ */
......
...@@ -41,4 +41,17 @@ public class BatchOperateCartGoodsRequestVo extends BaseRequestVo{ ...@@ -41,4 +41,17 @@ public class BatchOperateCartGoodsRequestVo extends BaseRequestVo{
*/ */
private List<BatchGoodsInfoVo> goodsInfos; private List<BatchGoodsInfoVo> goodsInfos;
/**
* 根据券号清除当前购物车中月卡及商品信息
*/
private String redundancyCouponCode;
/**
* 是否使用月享卡2.0
* 1 是
* 0 否
*/
private int isUseMonthCard;
} }
\ No newline at end of file
...@@ -238,15 +238,15 @@ public class CartGoods { ...@@ -238,15 +238,15 @@ public class CartGoods {
/** /**
* 是否是月享卡商品 * 是否是月享卡商品
*/ */
private int isMonthCard; private int isMonthCard = 0;
/** /**
* 是否是太阳蛋商品 * 是否是太阳蛋商品
*/ */
private int isSunnyCoupon=0; private int isSunnyCoupon=0;
/** /**
* 是否为种子券商品 1:是;0:否 * 是否为月享卡商品 1:是;0:否
*/ */
private int isSeedCouponGoods; private int isMonthCardGoods = 0;
/** /**
* 月享卡信息 * 月享卡信息
*/ */
......
package cn.freemud.entities.vo;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
@Data
public class ClearCouponCodeRequestVo extends BaseRequestVo {
@NotEmpty(message = "券号不可为空")
private String redundancyCouponCode;
/**
* 是否使用月享卡2.0
* 1 是
* 0 否
*/
private int isUseMonthCard;
}
...@@ -29,4 +29,10 @@ public class MonthCardVo { ...@@ -29,4 +29,10 @@ public class MonthCardVo {
* 月享卡类型:1.月享卡(单商品购买);2.月享卡(多商品购买);3.普通月卡 * 月享卡类型:1.月享卡(单商品购买);2.月享卡(多商品购买);3.普通月卡
*/ */
private Integer type; private Integer type;
/**
* 是否使用月享卡2.0
* 1 是
* 0 否
*/
private int isUseMonthCard = 1;
} }
...@@ -69,6 +69,13 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -69,6 +69,13 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
* 优惠券code列表 * 优惠券code列表
*/ */
private List<couponCode> couponCodes; private List<couponCode> couponCodes;
/**
* 是否使用月享卡2.0
* 1 是
* 0 否
*/
private Integer isUseMonthCard = 1;
/** /**
* 优惠券对应的活动号 * 优惠券对应的活动号
*/ */
......
...@@ -36,6 +36,7 @@ public enum ActivityTypeEnum { ...@@ -36,6 +36,7 @@ public enum ActivityTypeEnum {
TYPE_32(32, "商品券"), TYPE_32(32, "商品券"),
TYPE_33(33, "换购券"), TYPE_33(33, "换购券"),
TYPE_37(37, "月享卡种子券"), TYPE_37(37, "月享卡种子券"),
TYPE_38(38,"月享卡2.0"),
TYPE_5(5, "整单满金额折"), TYPE_5(5, "整单满金额折"),
TYPE_51(51, "每满金额折"), TYPE_51(51, "每满金额折"),
TYPE_52(52, "阶梯满金额折"), TYPE_52(52, "阶梯满金额折"),
......
...@@ -102,7 +102,6 @@ public enum ResponseResult { ...@@ -102,7 +102,6 @@ public enum ResponseResult {
SHOPPING_CART_BUY_ONE_SEND_GOODS_ERR("44033", "寄件活动商品错误"), SHOPPING_CART_BUY_ONE_SEND_GOODS_ERR("44033", "寄件活动商品错误"),
SHOPPING_CART_COUPON_MIX_NOT_EXIST("44034", "券商品不存在"), SHOPPING_CART_COUPON_MIX_NOT_EXIST("44034", "券商品不存在"),
SHOPPING_CART_QTY_LIMIT_ERR("44035", "该商品单次购买数量限制为10,请知晓"), SHOPPING_CART_QTY_LIMIT_ERR("44035", "该商品单次购买数量限制为10,请知晓"),
SHOPPING_CART_SEED_COUPON_VALID("44037","券商品数量不可大于券数量"),
SHOPPING_CART_MATERIA_QTY_LIMIT_ERR("44038", "商品加料超过最大限制"), SHOPPING_CART_MATERIA_QTY_LIMIT_ERR("44038", "商品加料超过最大限制"),
/** /**
......
...@@ -20,6 +20,7 @@ import cn.freemud.service.CommonService; ...@@ -20,6 +20,7 @@ import cn.freemud.service.CommonService;
import cn.freemud.service.impl.ItemServiceImpl; 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.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest; import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest;
...@@ -197,7 +198,7 @@ public class CalculationServiceImpl { ...@@ -197,7 +198,7 @@ public class CalculationServiceImpl {
calculationDiscountResult == null ? new ArrayList<>() : calculationDiscountResult.getApportionGoods(); calculationDiscountResult == null ? new ArrayList<>() : calculationDiscountResult.getApportionGoods();
Map<String, String> duplicateGoodsMap = new HashMap<>(); Map<String, String> duplicateGoodsMap = new HashMap<>();
cartGoodsList.stream().collect(Collectors.groupingBy(CartGoods::getGoodsId, Collectors.counting())).forEach((goodsId, count) -> { cartGoodsList.stream().filter(cartGoods -> !StringUtils.equals(cartGoods.getSkuId(),"9999")).collect(Collectors.groupingBy(CartGoods::getGoodsId, Collectors.counting())).forEach((goodsId, count) -> {
duplicateGoodsMap.put(goodsId,String.format("%s,0", count)); duplicateGoodsMap.put(goodsId,String.format("%s,0", count));
}); });
for (int i = 0, len = cartGoodsList.size(); i < len; i++) { for (int i = 0, len = cartGoodsList.size(); i < len; i++) {
...@@ -251,7 +252,7 @@ public class CalculationServiceImpl { ...@@ -251,7 +252,7 @@ public class CalculationServiceImpl {
} }
} }
List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts(); List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts().stream().filter(p-> !StringUtils.equals("9999",p.getSkuId())).collect(Collectors.toList());
List<String> productIds = products.stream().map(t -> t.getSkuId()).collect(Collectors.toList()); List<String> productIds = products.stream().map(t -> t.getSkuId()).collect(Collectors.toList());
//调用商品的接口获取商品键位 //调用商品的接口获取商品键位
...@@ -405,9 +406,11 @@ public class CalculationServiceImpl { ...@@ -405,9 +406,11 @@ public class CalculationServiceImpl {
calculationDiscountGoods.setGoodsQuantity(goodsQuantity); calculationDiscountGoods.setGoodsQuantity(goodsQuantity);
calculationDiscountGoods.setOriginalPrice(originalPrice); calculationDiscountGoods.setOriginalPrice(originalPrice);
calculationDiscountGoods.setMemberDiscount(memberDiscount); calculationDiscountGoods.setMemberDiscount(memberDiscount);
//新增咖啡月卡券券号
calculationDiscountGoods.setCouponCode(cartGoods.getCouponCode());
calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid()); calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid());
//新增咖啡月卡券券号,同一行商品才替换券号,防止不同商品券相同sku之间的覆盖
if (cartGoods.getCartGoodsUid().equals(calculationDiscountGoods.getCartGoodsUid())) {
calculationDiscountGoods.setCouponCode(StringUtils.isEmpty(cartGoods.getCouponCode()) ? null : cartGoods.getCouponCode());
}
ArrayList<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material> materials = new ArrayList<>(); ArrayList<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material> materials = new ArrayList<>();
//可选搭配 //可选搭配
......
...@@ -105,9 +105,9 @@ public class BatchGoodsInfoVo { ...@@ -105,9 +105,9 @@ public class BatchGoodsInfoVo {
*/ */
private int isMonthCard; private int isMonthCard;
/** /**
* 是否为种子券商品 1:是;0:否 * 是否为月享卡商品
*/ */
private int isSeedCouponGoods; private int isMonthCardGoods;
/** /**
* 月享卡加购信息 * 月享卡加购信息
*/ */
......
...@@ -144,9 +144,9 @@ public class MCoffeeAddGoodsRequestVo { ...@@ -144,9 +144,9 @@ public class MCoffeeAddGoodsRequestVo {
*/ */
private int isMonthCard; private int isMonthCard;
/** /**
* 是否为种子券商品 1:是;0:否 * 是否为月享卡商品
*/ */
private int isSeedCouponGoods; private int isMonthCardGoods;
/** /**
* 月享卡加购信息 * 月享卡加购信息
*/ */
......
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