Commit ffb66ec0 by ping.wu

麦咖啡购物车可用券

parent b670c7f8
......@@ -47,4 +47,14 @@ public class GetMemberCouponListRequestDto {
*/
private Integer pageSize;
//以下为麦咖啡需要参数
private String appId;
private String unionId;
private String thirdPartyMemberId;
private String tag;
}
......@@ -116,9 +116,9 @@ public class ShoppingCartMCoffeeServiceImpl {
String spuId2 = spuId;
List<Long> productIds = new ArrayList<>();
//商品券校验
if(spuId.startsWith(CommonsConstant.COUPON_PREFIX)){
if (spuId.startsWith(CommonsConstant.COUPON_PREFIX)) {
couponCode = spuId.substring(CommonsConstant.COUPON_PREFIX.length());
spuId2 = validCoupon(partnerId, storeId, spuId, productIds,BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode());
spuId2 = validCoupon(partnerId, storeId, spuId, productIds, BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode());
goodsId = spuId2;
}
productIds.add(Long.parseLong(goodsId));
......@@ -133,7 +133,7 @@ public class ShoppingCartMCoffeeServiceImpl {
//商品券已添加情况校验
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = checkGoodsCoupon(oldCartGoodsList, operationType, couponCode);
CartGoods addCartGoods = convent2CartGoods(addShoppingCartGoodsRequestVo,goodsId);
CartGoods addCartGoods = convent2CartGoods(addShoppingCartGoodsRequestVo, goodsId);
setClassificationAndPrice(addCartGoods, productBeanListSpuClass);
//查询多个商品库存信息
// Integer checkQty = this.checkSkuQty(oldCartGoodsList, addCartGoods);
......@@ -159,9 +159,9 @@ public class ShoppingCartMCoffeeServiceImpl {
return ResponseUtil.success(shoppingCartGoodsResponseVo);
}
private String validCoupon(String partnerId, String storeId, String spuId, List<Long> productIds,String menuType) {
private String validCoupon(String partnerId, String storeId, String spuId, List<Long> productIds, String menuType) {
String spuId2;
CheckSpqInfoRequestDto checkSpqInfoRequestDto = new CheckSpqInfoRequestDto(partnerId, storeId, spuId.substring(CommonsConstant.COUPON_PREFIX.length()),menuType);
CheckSpqInfoRequestDto checkSpqInfoRequestDto = new CheckSpqInfoRequestDto(partnerId, storeId, spuId.substring(CommonsConstant.COUPON_PREFIX.length()), menuType);
CouponService couponService = SDKCommonBaseContextWare.getBean(CouponService.class);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = couponService.checkSpqInfo(checkSpqInfoRequestDto);
if (checkSpqInfoResponseDto == null) {
......@@ -320,9 +320,11 @@ public class ShoppingCartMCoffeeServiceImpl {
// 获取用户信息
CustomerInfoVo assortmentCustomerInfoVo = getCustomerInfoVo(shoppingCartInfoRequestVo.getSessionId());
String userId = assortmentCustomerInfoVo.getMemberId();
String thirdPartyMemberID = assortmentCustomerInfoVo.getThirdPartyMemberID();
String unionId = assortmentCustomerInfoVo.getUnionId();
String partnerId = shoppingCartInfoRequestVo.getPartnerId();
String storeId = shoppingCartInfoRequestVo.getShopId();
// String appId = shoppingCartInfoRequestVo.getAppId();
String appId = shoppingCartInfoRequestVo.getAppId();
//非商品券券号
String couponCode = shoppingCartInfoRequestVo.getCouponCode();
// String menuType = shoppingCartInfoRequestVo.getMenuType();
......@@ -335,7 +337,7 @@ public class ShoppingCartMCoffeeServiceImpl {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_ADD_INVAILD);
}
// 获取购物车商品-查询用户券-券码校验可用券
availableCoupon = couponDiscountCalculation.availableCoupon(partnerId, storeId, userId, couponCode, orderType, cartGoodsList);
availableCoupon = couponDiscountCalculation.availableCoupon(partnerId, storeId, userId, thirdPartyMemberID, unionId,appId, couponCode, orderType, cartGoodsList);
return ResponseUtil.success(availableCoupon);
}
......@@ -489,8 +491,8 @@ public class ShoppingCartMCoffeeServiceImpl {
/**
* 清除购物车商品券
*/
private void clearCartCouponGoods(String partnerId, String storeId, String userId, String sessionId,List<CartGoods> cartGoodsList) {
if(CollectionUtils.isEmpty(cartGoodsList)){
private void clearCartCouponGoods(String partnerId, String storeId, String userId, String sessionId, List<CartGoods> cartGoodsList) {
if (CollectionUtils.isEmpty(cartGoodsList)) {
return;
}
cartGoodsList = cartGoodsList.stream().filter(cartGoods -> cartGoods.getCouponCode() == null).collect(Collectors.toList());
......@@ -756,7 +758,7 @@ public class ShoppingCartMCoffeeServiceImpl {
private List<CartGoods> checkNewCartGoods(List<CartGoods> newCartGoods, CartGoods addCartGoods) {
Integer qty = addCartGoods.getQty() == null ? 0 : addCartGoods.getQty();
if(StringUtils.isNotBlank(addCartGoods.getCouponCode())){
if (StringUtils.isNotBlank(addCartGoods.getCouponCode())) {
newCartGoods.add(addCartGoods);
return newCartGoods;
}
......@@ -764,8 +766,8 @@ public class ShoppingCartMCoffeeServiceImpl {
boolean isadd = true;
if (CollectionUtils.isNotEmpty(newCartGoods)) {
for (CartGoods goods : newCartGoods) {
if (goods.getSkuId().equals(addCartGoods.getSkuId()) && goods.getSpuId().equals(addCartGoods.getSpuId())){
if(goods.getProductGroupList() != null && addCartGoods.getProductGroupList() !=null && goods.getProductGroupList().size() == addCartGoods.getProductGroupList().size()){
if (goods.getSkuId().equals(addCartGoods.getSkuId()) && goods.getSpuId().equals(addCartGoods.getSpuId())) {
if (goods.getProductGroupList() != null && addCartGoods.getProductGroupList() != null && goods.getProductGroupList().size() == addCartGoods.getProductGroupList().size()) {
}
}
......@@ -862,7 +864,7 @@ public class ShoppingCartMCoffeeServiceImpl {
}
public static CartGoods convent2CartGoods(MCoffeeAddGoodsRequestVo addShoppingCartGoodsRequestVo,String goodsId) {
public static CartGoods convent2CartGoods(MCoffeeAddGoodsRequestVo addShoppingCartGoodsRequestVo, String goodsId) {
String spuId = addShoppingCartGoodsRequestVo.getSpuId();
String skuId = addShoppingCartGoodsRequestVo.getSkuId();
// String goodsId = StringUtils.isEmpty(skuId) ? spuId : skuId;
......
......@@ -61,10 +61,10 @@ public class CouponDiscountCalculation {
private CouponClient mCoffeeCouponClient;
@Autowired
private CouponAdapter couponAdapter;
@Autowired
private RedisCache redisCache;
@Autowired
private CardBinClient cardBinClient;
// @Autowired
// private RedisCache redisCache;
// @Autowired
// private CardBinClient cardBinClient;
@Value("${coupon.app.id}")
private String appid;
......@@ -136,24 +136,24 @@ public class CouponDiscountCalculation {
}
}
public void getCoupon(CouponPromotionVO couponPromotionVO, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){
// 用户选择了查询优惠券信息
if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())) {
// 构建可用不可用优惠券
ActivityClassifyCouponBean activityClassifyCouponBean = availableCoupon(couponPromotionVO.getPartnerId()
, couponPromotionVO.getUserId(), couponPromotionVO.getStoreId(), couponPromotionVO.getCouponCode(), couponPromotionVO.getOrderType(),cartGoodsList);
if (Objects.equals(activityClassifyCouponBean, null)) {
// 构建一个空得订单券信息
activityClassifyCouponBean = new ActivityClassifyCouponBean();
activityClassifyCouponBean.setCouponNum(0);
activityClassifyCouponBean.setDisableCouponNum(0);
activityClassifyCouponBean.setUsableCouponNum(0);
activityClassifyCouponBean.setDisableCoupons(Lists.newArrayList());
activityClassifyCouponBean.setUsableCoupons(Lists.newArrayList());
}
shoppingCartGoodsResponseVo.setAvailableCoupon(activityClassifyCouponBean);
}
}
// public void getCoupon(CouponPromotionVO couponPromotionVO, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){
// // 用户选择了查询优惠券信息
// if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())) {
// // 构建可用不可用优惠券
// ActivityClassifyCouponBean activityClassifyCouponBean = availableCoupon(couponPromotionVO.getPartnerId()
// , couponPromotionVO.getUserId(), couponPromotionVO.getStoreId(), couponPromotionVO.getCouponCode(), couponPromotionVO.getOrderType(),cartGoodsList);
// if (Objects.equals(activityClassifyCouponBean, null)) {
// // 构建一个空得订单券信息
// activityClassifyCouponBean = new ActivityClassifyCouponBean();
// activityClassifyCouponBean.setCouponNum(0);
// activityClassifyCouponBean.setDisableCouponNum(0);
// activityClassifyCouponBean.setUsableCouponNum(0);
// activityClassifyCouponBean.setDisableCoupons(Lists.newArrayList());
// activityClassifyCouponBean.setUsableCoupons(Lists.newArrayList());
// }
// shoppingCartGoodsResponseVo.setAvailableCoupon(activityClassifyCouponBean);
// }
// }
......@@ -161,7 +161,7 @@ public class CouponDiscountCalculation {
/**
* 可选优惠券
*/
public ActivityClassifyCouponBean availableCoupon( String partnerId, String storeId,String userId
public ActivityClassifyCouponBean availableCoupon( String partnerId, String storeId,String userId,String thirdPartyMemberId,String unionId,String appId
, String couponCode, Integer orderType,List<CartGoods> cartGoods) {
List<CartGoods> tmpCartGoods = cartGoods.parallelStream().filter(k -> k.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)).collect(Collectors.toList());
......@@ -170,6 +170,11 @@ public class CouponDiscountCalculation {
// 获取会员服务的优惠券列表
GetMemberCouponListRequestDto getMemberCouponListRequestDto = new GetMemberCouponListRequestDto(partnerId, userId);
getMemberCouponListRequestDto.setStatusFlags(Arrays.asList(CouponStatus.STATUS_0.getCode()));
getMemberCouponListRequestDto.setAppId(appId);
getMemberCouponListRequestDto.setThirdPartyMemberId(thirdPartyMemberId);
getMemberCouponListRequestDto.setUnionId(unionId);
//麦咖啡固定值
getMemberCouponListRequestDto.setTag("mccafe");
getMemberCouponListRequestDto.setPageNum(1);
getMemberCouponListRequestDto.setPageSize(Integer.MAX_VALUE);
GetMemberCouponListResponseDto.Result result = getMemberCouponList(getMemberCouponListRequestDto);
......
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