Commit 6782d598 by 胡博文

Merge branch 'feature/feature/mn-coupon-bowen-0830'

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
parents 1e16ec9b d92f3331
...@@ -104,6 +104,12 @@ public class CartGoods { ...@@ -104,6 +104,12 @@ public class CartGoods {
* 商品券code * 商品券code
*/ */
private String couponCode; private String couponCode;
/**
* 0 可用 1 不可用 (结算页识别是否需要传买M赠N券code)
* 默认不可用,经过算价后进行更新。
*/
private Integer canUseCoupon = 1;
/** /**
* 商品券门槛金额 * 商品券门槛金额
*/ */
......
...@@ -36,6 +36,8 @@ public class CartParamDto { ...@@ -36,6 +36,8 @@ public class CartParamDto {
private String cartGoodsUid; private String cartGoodsUid;
private Integer canUseCoupon;
private Integer qty; private Integer qty;
private MealClearOperationEnum operationType; private MealClearOperationEnum operationType;
......
...@@ -941,6 +941,16 @@ public interface ShoppingCartBaseService { ...@@ -941,6 +941,16 @@ public interface ShoppingCartBaseService {
BaseResponse<List<CartGoods>> updateGoodsQty(CartParamDto cartParamDto, String trackingNo); BaseResponse<List<CartGoods>> updateGoodsQty(CartParamDto cartParamDto, String trackingNo);
/** /**
* 更新券状态
*
* @param cartParamDto
* @param trackingNo
* @return
*/
BaseResponse updateGoodsCouponStatus(CartParamDto cartParamDto, String trackingNo);
/**
* 查询组织机构 * 查询组织机构
* @param partnerId * @param partnerId
* @param storeId * @param storeId
......
...@@ -194,6 +194,11 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -194,6 +194,11 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
} }
} }
@Override
public BaseResponse updateGoodsCouponStatus(CartParamDto cartParamDto, String trackingNo) {
return null;
}
/** /**
* 获取当前购物车版本 * 获取当前购物车版本
* 默认0 * 默认0
......
...@@ -442,6 +442,11 @@ public class MealCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -442,6 +442,11 @@ public class MealCartBaseServiceImpl implements ShoppingCartBaseService {
} }
@Override @Override
public BaseResponse updateGoodsCouponStatus(CartParamDto cartParamDto, String trackingNo) {
return null;
}
@Override
public void checkNoProductExistMenu(CheckCartRequest checkCartRequest, Set<String> keySet) { public void checkNoProductExistMenu(CheckCartRequest checkCartRequest, Set<String> keySet) {
// 当商品不存在于菜单中且不是商品券时,需置空移除 // 当商品不存在于菜单中且不是商品券时,需置空移除
List<String> removeList = new ArrayList<>(); List<String> removeList = new ArrayList<>();
......
...@@ -248,6 +248,32 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -248,6 +248,32 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
} }
} }
/**
* 更新购物车券状态
*
* @param cartParamDto
* @param trackingNo
* @return
*/
@Override
public BaseResponse updateGoodsCouponStatus(CartParamDto cartParamDto, String trackingNo) {
try {
String redisKey = getShoppingCartGoodsKey(cartParamDto);
BoundHashOperations<String, String, CartGoods> operations = redisTemplate.boundHashOps(redisKey);
CartGoods cartGoods = operations.get(cartParamDto.getCartGoodsUid());
if (cartGoods != null) {
// 更新券状态
cartGoods.setCanUseCoupon(cartParamDto.getCanUseCoupon());
operations.put(cartParamDto.getCartGoodsUid(), cartGoods);
}
//return this.getCartGoodsList(cartParamDto, trackingNo);
} catch (Exception e) {
ShoppingSdkLogUtil.printErrorLog("assortment-shoppingcart-sdk", trackingNo, e.getMessage(), "updateGoodsCouponStatus", cartParamDto, e, Level.ERROR);
}
return CartResponseUtil.success();
}
@Override @Override
public BaseResponse clear(CartParamDto cartParamDto, String trackingNo) { public BaseResponse clear(CartParamDto cartParamDto, String trackingNo) {
try { try {
......
...@@ -128,6 +128,11 @@ public class ShoppingCartMallBaseServiceImpl implements ShoppingCartBaseService ...@@ -128,6 +128,11 @@ public class ShoppingCartMallBaseServiceImpl implements ShoppingCartBaseService
} }
@Override @Override
public BaseResponse updateGoodsCouponStatus(CartParamDto cartParamDto, String trackingNo) {
return null;
}
@Override
public BaseResponse clear(CartParamDto cartParamDto, String trackingNo) { public BaseResponse clear(CartParamDto cartParamDto, String trackingNo) {
try { try {
redisTemplate.delete(this.getShoppingCartGoodsKey(cartParamDto)); redisTemplate.delete(this.getShoppingCartGoodsKey(cartParamDto));
......
...@@ -102,6 +102,11 @@ public class CreateOrderVo { ...@@ -102,6 +102,11 @@ public class CreateOrderVo {
private Byte marketingType; private Byte marketingType;
/** /**
* 1、结算页 0
*/
private Integer flag;
/**
* 到店类型 orderType 传1的时候 如果reachStoreTyp为空转成订单类型4 如果不为空存储4(打包带走)和5(店内就餐) * 到店类型 orderType 传1的时候 如果reachStoreTyp为空转成订单类型4 如果不为空存储4(打包带走)和5(店内就餐)
*/ */
private Integer reachStoreType; private Integer reachStoreType;
......
...@@ -57,6 +57,11 @@ public class ShoppingCartInfoRequestVo { ...@@ -57,6 +57,11 @@ public class ShoppingCartInfoRequestVo {
*/ */
private Integer flag; private Integer flag;
/** /**
* 1 为结算页用券
*/
private Integer useCouponFlag;
/**
* 优惠券code * 优惠券code
*/ */
private String couponCode; private String couponCode;
......
...@@ -667,6 +667,8 @@ public class CheckOrder { ...@@ -667,6 +667,8 @@ public class CheckOrder {
.useCustomerScore(createOrderVo.getUseCustomerScore()) .useCustomerScore(createOrderVo.getUseCustomerScore())
.buyMemberCard(buyMemberCard) .buyMemberCard(buyMemberCard)
.menuType(createOrderVo.getMenuType()) .menuType(createOrderVo.getMenuType())
.useCouponFlag(1)//结算页
//.flag(1)
// 预定单类型传递 购物车中进行查询 // 预定单类型传递 购物车中进行查询
.bizType(createOrderVo.getBizType()) .bizType(createOrderVo.getBizType())
.build(); .build();
......
...@@ -106,7 +106,6 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -106,7 +106,6 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
// 获取购物车和加车商品信息 // 获取购物车和加车商品信息
CheckBussinessRulesBO checkBussinessRulesBO = this.getShoppingCartInfo(listCartGoodsBO); CheckBussinessRulesBO checkBussinessRulesBO = this.getShoppingCartInfo(listCartGoodsBO);
// 业务校验,例如商品数量库存之类的信息 // 业务校验,例如商品数量库存之类的信息
AddGoodsToShoppingCartBO addGoodsToShoppingCartBO = this.checkBusinessRules(listCartGoodsBO, checkBussinessRulesBO); AddGoodsToShoppingCartBO addGoodsToShoppingCartBO = this.checkBusinessRules(listCartGoodsBO, checkBussinessRulesBO);
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
package cn.freemud.entities.vo; package cn.freemud.entities.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -93,6 +94,12 @@ public class CartGoods { ...@@ -93,6 +94,12 @@ public class CartGoods {
* 商品券code * 商品券code
*/ */
private String couponCode; private String couponCode;
/**
* 0 可用 1 不可用 (结算页识别是否需要传买M赠N券code)
*/
@JsonIgnore
private Integer canUseCoupon = 1;
/** /**
* 商品券名称 * 商品券名称
*/ */
......
...@@ -57,6 +57,8 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -57,6 +57,8 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
* 结算页会查询用户优惠券,点餐页不会查询用户优惠券 * 结算页会查询用户优惠券,点餐页不会查询用户优惠券
*/ */
private Integer flag; private Integer flag;
//1:结算页
private Integer useCouponFlag;
/** /**
* 优惠券code * 优惠券code
*/ */
......
...@@ -342,9 +342,9 @@ public abstract class AbstractShoppingCartImpl implements ShoppingCartNewService ...@@ -342,9 +342,9 @@ public abstract class AbstractShoppingCartImpl implements ShoppingCartNewService
//外卖场景下 查询门店配送信息 //外卖场景下 查询门店配送信息
if(BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)){ if(BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)){
calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, orderType,isMember, cartGoodsList, coupons, sendGoodsList,BusinessTypeEnum.getByType(menuType).getCode(),deliveryAmount,null); calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, orderType,isMember, cartGoodsList, coupons, sendGoodsList,BusinessTypeEnum.getByType(menuType).getCode(),deliveryAmount,null, null);
}else{ }else{
calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, orderType,isMember, cartGoodsList, coupons, sendGoodsList,BusinessTypeEnum.getByType(menuType).getCode(),null,null); calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, orderType,isMember, cartGoodsList, coupons, sendGoodsList,BusinessTypeEnum.getByType(menuType).getCode(),null,null, null);
} }
return calculationDiscountResult; return calculationDiscountResult;
......
...@@ -97,7 +97,7 @@ public interface ShoppingCartNewService { ...@@ -97,7 +97,7 @@ public interface ShoppingCartNewService {
boolean isMember, boolean isMember,
List<CartGoods> cartGoodsList, List<CartGoods> cartGoodsList,
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons,
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType,Long distributionFee,Integer bizType); List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType,Long distributionFee,Integer bizType, Integer accountFlag);
List<CartGoods> updateCartGoodsLegal(CartGoods cartGoods, String userId, ShoppingCartGoodsBaseResponseVo shoppingCartGoodsResponseVo, AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<CartGoods> oldAllCartGoodsList); List<CartGoods> updateCartGoodsLegal(CartGoods cartGoods, String userId, ShoppingCartGoodsBaseResponseVo shoppingCartGoodsResponseVo, AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<CartGoods> oldAllCartGoodsList);
......
...@@ -20,7 +20,9 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare; ...@@ -20,7 +20,9 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
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.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant;
import com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BizTypeEnum;
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.request.CheckCartRequest; import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import com.freemud.sdk.api.assortment.shoppingcart.request.GetProductInfoRequest; import com.freemud.sdk.api.assortment.shoppingcart.request.GetProductInfoRequest;
...@@ -37,6 +39,7 @@ import cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.Children ...@@ -37,6 +39,7 @@ import cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.Children
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -101,6 +104,37 @@ public class AssortmentSdkService { ...@@ -101,6 +104,37 @@ public class AssortmentSdkService {
return updateNowBuyGoodsQtyBySdk(buyType,partnerId, userId, storeId, cartGoodsUid, qty, tableNumber, shoppingCartService,bizType); return updateNowBuyGoodsQtyBySdk(buyType,partnerId, userId, storeId, cartGoodsUid, qty, tableNumber, shoppingCartService,bizType);
} }
/**
* 更新购物车 买M赠N券商品状态
*
* @param partnerId 商户号
* @param userId 用户id
* @param storeId 门店id
* @return
*/
public void updateGoodsCouponStatus(String partnerId, String userId, String storeId, List<CartGoods> cartGoods,ShoppingCartBaseService shoppingCartService,Integer bizType) {
com.freemud.sdk.api.assortment.shoppingcart.domain.CartParamDto cartParamDto = getCartParamDto(partnerId, storeId, userId);
for (CartGoods cartGood : cartGoods) {
int buyType = 0 ;
cartParamDto.setCartGoodsUid(cartGood.getCartGoodsUid());
// 0 表示券可用 1 表示不可用
cartParamDto.setCanUseCoupon(0);
// cartParamDto.setTableNumber(tableNumber);
cartParamDto.setUserId(userId);
cartParamDto.setBizType(bizType);
//立即购买==1 ,设置新的缓存key
if(buyType == ShoppingCartConstant.NOW_BUY_TYPE) {
cartParamDto.setBuyType(buyType);
}
shoppingCartService.updateGoodsCouponStatus(cartParamDto, LogThreadLocal.getTrackingNo());
}
}
/** /**
* 调用聚合sdk获取缓存中购物车信息 * 调用聚合sdk获取缓存中购物车信息
* *
......
...@@ -790,7 +790,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -790,7 +790,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
} }
@Override @Override
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(String partnerId, String storeId, String userId, String appId, Integer orderType, boolean isMember, List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList, String menuType, Long distributionFee,Integer bizType) { public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(String partnerId, String storeId, String userId, String appId, Integer orderType, boolean isMember, List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList, String menuType, Long distributionFee,Integer bizType, Integer accoutFlag) {
ActivityCalculationDiscountRequestDto activityCalculationDiscountRequestDto = getActivityCalculationDiscountRequestDto(partnerId, storeId, userId, appId, orderType); ActivityCalculationDiscountRequestDto activityCalculationDiscountRequestDto = getActivityCalculationDiscountRequestDto(partnerId, storeId, userId, appId, orderType);
List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>();
// 校验后有效的商品券map // 校验后有效的商品券map
......
...@@ -138,6 +138,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -138,6 +138,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
String menuType = addShoppingCartGoodsRequestVo.getMenuType(); String menuType = addShoppingCartGoodsRequestVo.getMenuType();
Integer orderType = addShoppingCartGoodsRequestVo.getOrderType(); Integer orderType = addShoppingCartGoodsRequestVo.getOrderType();
addShoppingCartGoodsRequestVo.setShopId(storeId); addShoppingCartGoodsRequestVo.setShopId(storeId);
Integer accountType = 0; //非结算页
//清空临时购物车 //清空临时购物车
// 构造请求参数,进行清空购物车 // 构造请求参数,进行清空购物车
if(ShoppingCartConstant.NOW_BUY_TYPE == addShoppingCartGoodsRequestVo.getBuyType()) { if(ShoppingCartConstant.NOW_BUY_TYPE == addShoppingCartGoodsRequestVo.getBuyType()) {
...@@ -189,7 +190,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -189,7 +190,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
ActivityQueryDto activityQueryDto = activityAdapter.getActivityQueryDto(partnerId, storeId, userId, appId, addShoppingCartGoodsRequestVo.getOrderType()); ActivityQueryDto activityQueryDto = activityAdapter.getActivityQueryDto(partnerId, storeId, userId, appId, addShoppingCartGoodsRequestVo.getOrderType());
ActivityCalculationDiscountResponseDto.CalculationDiscountResult discountResult = null; ActivityCalculationDiscountResponseDto.CalculationDiscountResult discountResult = null;
discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType, partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), allCartGoodsList, new ArrayList<>(), null, deliveryAmount, null,null); discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType, partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), allCartGoodsList, new ArrayList<>(), null, deliveryAmount, null,null, accountType);
sharingCartService.distribute(discountResult, allCartGoodsList, shoppingCartGoodsResponseVo, null, null, null, activityQueryDto, menuType, deliveryAmount, ShoppingCartConstant.ADD_AND_UPDATE, partnerId, null, userId, storeId); sharingCartService.distribute(discountResult, allCartGoodsList, shoppingCartGoodsResponseVo, null, null, null, activityQueryDto, menuType, deliveryAmount, ShoppingCartConstant.ADD_AND_UPDATE, partnerId, null, userId, storeId);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId);
...@@ -245,6 +246,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -245,6 +246,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
String receiveId = updateShoppingCartGoodsQtyRequestVo.getReceiveId(); String receiveId = updateShoppingCartGoodsQtyRequestVo.getReceiveId();
String menuType = updateShoppingCartGoodsQtyRequestVo.getMenuType(); String menuType = updateShoppingCartGoodsQtyRequestVo.getMenuType();
Integer orderType=updateShoppingCartGoodsQtyRequestVo.getOrderType(); Integer orderType=updateShoppingCartGoodsQtyRequestVo.getOrderType();
Integer accountFlag = 0;// 非结算页
// 先验证商品是否存在 // 先验证商品是否存在
CartGoods cartGoods = assortmentSdkService.getCartGoodsBySdk(partnerId, userId, storeId, cartGoodsUid, "", shoppingCartBaseService,null); CartGoods cartGoods = assortmentSdkService.getCartGoodsBySdk(partnerId, userId, storeId, cartGoodsUid, "", shoppingCartBaseService,null);
...@@ -283,7 +285,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -283,7 +285,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
, new ArrayList() //券 , new ArrayList() //券
, null //加价购商品 , null //加价购商品
, deliveryAmount , deliveryAmount
, null,null); , null,null, accountFlag);
sharingCartService.distribute(discountResult sharingCartService.distribute(discountResult
, cartGoodsList , cartGoodsList
...@@ -364,6 +366,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -364,6 +366,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
String couponCode = shoppingCartInfoRequestVo.getCouponCode(); String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode(); String activityCode = shoppingCartInfoRequestVo.getActivityCode();
List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
Integer accountFlag = shoppingCartInfoRequestVo.getFlag();
// 兼容老版本 // 兼容老版本
if (CollectionUtils.isNotEmpty(couponCodes) && StringUtils.isEmpty(couponCode)) { if (CollectionUtils.isNotEmpty(couponCodes) && StringUtils.isEmpty(couponCode)) {
ChooseCouponVo otherCouponCode = couponCodes.stream() ChooseCouponVo otherCouponCode = couponCodes.stream()
...@@ -441,7 +444,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -441,7 +444,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
, coupons , coupons
, sendGoods , sendGoods
, deliveryAmount , deliveryAmount
, null,null); , null,null, accountFlag);
sharingCartService.distribute(calculationSharingDiscountResult sharingCartService.distribute(calculationSharingDiscountResult
, cartGoodsList , cartGoodsList
, shoppingCartGoodsResponseVo , shoppingCartGoodsResponseVo
...@@ -529,6 +532,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -529,6 +532,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
String storeId = shoppingCartInfoRequestVo.getShopId(); String storeId = shoppingCartInfoRequestVo.getShopId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode(); String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode(); String activityCode = shoppingCartInfoRequestVo.getActivityCode();
Integer accountFlag = shoppingCartInfoRequestVo.getFlag();
List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) { if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) {
ChooseCouponVo otherCouponCode = couponCodes.stream() ChooseCouponVo otherCouponCode = couponCodes.stream()
...@@ -598,7 +602,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -598,7 +602,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
, coupons , coupons
, shoppingCartInfoRequestVo.getSendGoods() , shoppingCartInfoRequestVo.getSendGoods()
, deliveryAmount , deliveryAmount
, shoppingCartInfoRequestVo,null); , shoppingCartInfoRequestVo,null, accountFlag);
// 活动校验 // 活动校验
calculationSharingValidatorService.validator(discountResult calculationSharingValidatorService.validator(discountResult
...@@ -630,8 +634,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -630,8 +634,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
@Override @Override
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse( public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(
String partnerId, String storeId, String userId, String appId, Integer orderType,boolean isMember, List<CartGoods> cartGoodsList, String partnerId, String storeId, String userId, String appId, Integer orderType, boolean isMember, List<CartGoods> cartGoodsList,
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType,Long distributionFee,Integer bizType) { List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList, String menuType, Long distributionFee, Integer bizType, Integer accountFlag) {
return null; return null;
} }
......
...@@ -427,7 +427,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService { ...@@ -427,7 +427,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
if (CollectionUtils.isEmpty(cartGoodsList)) { if (CollectionUtils.isEmpty(cartGoodsList)) {
return; return;
} }
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, orderType, isMember, cartGoodsList, new ArrayList<>(), new ArrayList<>(), BusinessTypeEnum.SAAS_MALL.getCode(), 0L,null); ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, orderType, isMember, cartGoodsList, new ArrayList<>(), new ArrayList<>(), BusinessTypeEnum.SAAS_MALL.getCode(), 0L,null, null);
if(calculationDiscountResult == null) { if(calculationDiscountResult == null) {
return; return;
} }
...@@ -556,7 +556,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService { ...@@ -556,7 +556,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
@Override @Override
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(String partnerId, String storeId, String userId, String appId, Integer orderType, boolean isMember, public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(String partnerId, String storeId, String userId, String appId, Integer orderType, boolean isMember,
List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType,Long distributionFee,Integer bizType) { List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType,Long distributionFee,Integer bizType, Integer accountFlag) {
ActivityCalculationDiscountRequestDto activityCalculationDiscountRequestDto = getActivityCalculationDiscountRequestDto(partnerId, storeId, userId, appId, orderType); ActivityCalculationDiscountRequestDto activityCalculationDiscountRequestDto = getActivityCalculationDiscountRequestDto(partnerId, storeId, userId, appId, orderType);
List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>();
cartGoodsList = cartGoodsList.stream().filter(t -> !isWeightProduct(t)).collect(Collectors.toList()); cartGoodsList = cartGoodsList.stream().filter(t -> !isWeightProduct(t)).collect(Collectors.toList());
......
...@@ -83,7 +83,7 @@ public class CalculationSharingDiscountService { ...@@ -83,7 +83,7 @@ public class CalculationSharingDiscountService {
, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons , List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons
, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList , List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList
, Long deliveryAmount , Long deliveryAmount
, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo,Integer bizType) { , ShoppingCartInfoRequestVo shoppingCartInfoRequestVo,Integer bizType, Integer accountFlag) {
ActivityCalculationDiscountRequestDto calculationSharingDiscountRequestDto = this.commonSharingDto(partnerId, storeId, userId, appId, orderType); ActivityCalculationDiscountRequestDto calculationSharingDiscountRequestDto = this.commonSharingDto(partnerId, storeId, userId, appId, orderType);
...@@ -155,9 +155,16 @@ public class CalculationSharingDiscountService { ...@@ -155,9 +155,16 @@ public class CalculationSharingDiscountService {
coupon.setCode(checkSpqInfo.getCouponCode()); coupon.setCode(checkSpqInfo.getCouponCode());
coupon.setActivityCode(checkSpqInfo.getActiveCode()); coupon.setActivityCode(checkSpqInfo.getActiveCode());
ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon calculationDiscountCoupon = coupons.stream().filter(p -> coupon.getActivityCode().equals(p.getActivityCode()) && coupon.getCode().equals(p.getCode())).findFirst().orElse(null); ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon calculationDiscountCoupon = coupons.stream().filter(p -> coupon.getActivityCode().equals(p.getActivityCode()) && coupon.getCode().equals(p.getCode())).findFirst().orElse(null);
accountFlag = accountFlag == null ? 0 : accountFlag;
if (calculationDiscountCoupon == null) { if (calculationDiscountCoupon == null) {
if (GoodsTypeEnum.BUY_M_SEND_N_COUPON.getGoodsType().equals(cartGoods.getGoodsType()) && accountFlag == 1 ){
if (cartGoods.getCanUseCoupon() == 0) {
coupons.add(coupon); coupons.add(coupon);
} }
} else {
coupons.add(coupon);
}
}
// 添加商品券代表的商品放入促销 // 添加商品券代表的商品放入促销
String goodsId = StringUtils.isNotBlank(checkSpqInfo.getSkuId()) ? checkSpqInfo.getSkuId() : checkSpqInfo.getSpuId(); String goodsId = StringUtils.isNotBlank(checkSpqInfo.getSkuId()) ? checkSpqInfo.getSkuId() : checkSpqInfo.getSpuId();
this.setSpqDiscountGoods(calculationDiscountGoodsList, cartGoods, goodsId, checkSpqInfo.getPrice(), couponCode); this.setSpqDiscountGoods(calculationDiscountGoodsList, cartGoods, goodsId, checkSpqInfo.getPrice(), couponCode);
......
...@@ -10,3 +10,5 @@ env=dev ...@@ -10,3 +10,5 @@ env=dev
apollo.cluster=default apollo.cluster=default
apollo.bootstrap.enabled=true apollo.bootstrap.enabled=true
apollo.bootstrap.namespaces=shopping_cart,micro_progeram_commons apollo.bootstrap.namespaces=shopping_cart,micro_progeram_commons
...@@ -25,3 +25,7 @@ management.endpoint.shutdown.enabled=true ...@@ -25,3 +25,7 @@ management.endpoint.shutdown.enabled=true
#management.security.enabled=false #management.security.enabled=false
management.health.rabbit.enabled=false management.health.rabbit.enabled=false
apollo.plugin.namespace=openstore.gray.rule apollo.plugin.namespace=openstore.gray.rule
spring.redis.host= 212.129.146.110
spring.redis.port=6382
spring.redis.password=LvA6SmLAitP2kG
\ No newline at end of file
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