Commit 7e7f20a2 by ping.wu

返回选择的优惠券列表,校验是否使用

parent 0ad7494f
...@@ -555,7 +555,7 @@ public class CouponAdapter { ...@@ -555,7 +555,7 @@ public class CouponAdapter {
couponPromotionVO.setStoreId(shoppingCartInfoRequestVo.getShopId()); couponPromotionVO.setStoreId(shoppingCartInfoRequestVo.getShopId());
// 删除配送券-> 商品券使用逻辑组装 fisherman购物车配送券组装 // 删除配送券-> 商品券使用逻辑组装 fisherman购物车配送券组装
String couponCode1 = shoppingCartInfoRequestVo.getCouponCode(); String couponCode1 = shoppingCartInfoRequestVo.getCouponCode();
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
if(CollectionUtils.isNotEmpty(couponCodes)){ if(CollectionUtils.isNotEmpty(couponCodes)){
Set<String > setCoupons = new HashSet<>(); Set<String > setCoupons = new HashSet<>();
couponCodes.forEach(c -> setCoupons.add(c.getCouponCode())); couponCodes.forEach(c -> setCoupons.add(c.getCouponCode()));
......
...@@ -311,7 +311,7 @@ public class ShoppingCartController { ...@@ -311,7 +311,7 @@ public class ShoppingCartController {
* @param couponCodes * @param couponCodes
* @return * @return
*/ */
private BaseResponse verifyCouponCodes (List<ShoppingCartInfoRequestVo.couponCode> couponCodes){ private BaseResponse verifyCouponCodes (List<ChooseCouponVo> couponCodes){
if (CollectionUtils.isNotEmpty(couponCodes) && couponCodes.size() > 1) { if (CollectionUtils.isNotEmpty(couponCodes) && couponCodes.size() > 1) {
long count = couponCodes.stream().filter(c -> c.getCouponType().compareTo(CouponTypeEnum.TYPE_1.getCode()) == 0 long count = couponCodes.stream().filter(c -> c.getCouponType().compareTo(CouponTypeEnum.TYPE_1.getCode()) == 0
|| c.getCouponType().compareTo(CouponTypeEnum.TYPE_3.getCode()) == 0).count(); || c.getCouponType().compareTo(CouponTypeEnum.TYPE_3.getCode()) == 0).count();
......
package cn.freemud.entities.vo;
import lombok.Data;
@Data
public class ChooseCouponVo {
/**
* 优惠券
*/
private String couponCode;
/**
* 活动号
*/
private String activityCode;
/**
* 顺序
*/
private Integer index;
/**
* 优惠券类型
*/
private Integer couponType;
}
...@@ -184,6 +184,11 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV ...@@ -184,6 +184,11 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
*/ */
private Integer verCompat = 0; private Integer verCompat = 0;
/**
* 选中的可用优惠券集合
*/
private List<ChooseCouponVo> couponCodes;
@Data @Data
public static class chooseGood { public static class chooseGood {
......
...@@ -69,7 +69,7 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -69,7 +69,7 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
/** /**
* 优惠券code列表 * 优惠券code列表
*/ */
private List<couponCode> couponCodes; private List<ChooseCouponVo> couponCodes;
/** /**
* 是否使用月享卡2.0 * 是否使用月享卡2.0
......
...@@ -437,10 +437,10 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -437,10 +437,10 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
String appId = shoppingCartInfoRequestVo.getAppId(); String appId = shoppingCartInfoRequestVo.getAppId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode(); String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode(); String activityCode = shoppingCartInfoRequestVo.getActivityCode();
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
// 兼容老版本 // 兼容老版本
if (CollectionUtils.isNotEmpty(couponCodes) && StringUtils.isEmpty(couponCode)) { if (CollectionUtils.isNotEmpty(couponCodes) && StringUtils.isEmpty(couponCode)) {
ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream() ChooseCouponVo otherCouponCode = couponCodes.stream()
.filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode()) != 0) .filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode()) != 0)
.findFirst().orElse(null); .findFirst().orElse(null);
if (otherCouponCode != null) { if (otherCouponCode != null) {
...@@ -645,9 +645,9 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -645,9 +645,9 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
String couponCode = shoppingCartInfoRequestVo.getCouponCode(); String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode(); String activityCode = shoppingCartInfoRequestVo.getActivityCode();
// 兼容老购物车 // 兼容老购物车
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) { if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) {
ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream() ChooseCouponVo otherCouponCode = couponCodes.stream()
.filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode())!=0) .filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode())!=0)
.findFirst().orElse(null); .findFirst().orElse(null);
if (otherCouponCode !=null) { if (otherCouponCode !=null) {
......
...@@ -368,10 +368,10 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -368,10 +368,10 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
List<CartGoods> cartGoodsList = new ArrayList<>(); List<CartGoods> cartGoodsList = new ArrayList<>();
String couponCode = shoppingCartInfoRequestVo.getCouponCode(); String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode(); String activityCode = shoppingCartInfoRequestVo.getActivityCode();
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
// 兼容老版本 // 兼容老版本
if (CollectionUtils.isNotEmpty(couponCodes) && StringUtils.isEmpty(couponCode)) { if (CollectionUtils.isNotEmpty(couponCodes) && StringUtils.isEmpty(couponCode)) {
ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream() ChooseCouponVo otherCouponCode = couponCodes.stream()
.filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode()) != 0) .filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode()) != 0)
.findFirst().orElse(null); .findFirst().orElse(null);
if (otherCouponCode != null) { if (otherCouponCode != null) {
...@@ -534,9 +534,9 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -534,9 +534,9 @@ 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();
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) { if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) {
ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream() ChooseCouponVo otherCouponCode = couponCodes.stream()
.filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode())!=0) .filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode())!=0)
.findFirst().orElse(null); .findFirst().orElse(null);
if (otherCouponCode !=null) { if (otherCouponCode !=null) {
...@@ -928,7 +928,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -928,7 +928,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
return customerInfoVo1; return customerInfoVo1;
} }
private List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> buildCoupons(List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> oldCoupons, List<ShoppingCartInfoRequestVo.couponCode> coupons){ private List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> buildCoupons(List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> oldCoupons, List<ChooseCouponVo> coupons){
// ApiLog.info("批量使用优惠券前,oldCoupons,coupons",oldCoupons,coupons); // ApiLog.info("批量使用优惠券前,oldCoupons,coupons",oldCoupons,coupons);
...@@ -945,7 +945,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -945,7 +945,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
if (coupons != null) { if (coupons != null) {
for(int x = 0 ; x < coupons.size() ; x++){ for(int x = 0 ; x < coupons.size() ; x++){
ShoppingCartInfoRequestVo.couponCode cp = coupons.get(x); ChooseCouponVo cp = coupons.get(x);
if(codes.contains(cp.getCouponCode())){ if(codes.contains(cp.getCouponCode())){
continue; continue;
} }
......
...@@ -83,6 +83,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum; ...@@ -83,6 +83,7 @@ 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.service.ShoppingCartBaseService; import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import com.freemud.sdk.api.assortment.shoppingcart.util.ShoppingSdkLogUtil;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import javafx.util.Pair; import javafx.util.Pair;
import ma.glasnost.orika.MapperFacade; import ma.glasnost.orika.MapperFacade;
...@@ -625,10 +626,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -625,10 +626,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String appId = shoppingCartInfoRequestVo.getAppId(); String appId = shoppingCartInfoRequestVo.getAppId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode(); String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode(); String activityCode = shoppingCartInfoRequestVo.getActivityCode();
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
// 兼容老版本 // 兼容老版本
if (CollectionUtils.isNotEmpty(couponCodes) && StringUtils.isEmpty(couponCode)) { if (CollectionUtils.isNotEmpty(couponCodes) && StringUtils.isEmpty(couponCode)) {
ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream() ChooseCouponVo otherCouponCode = couponCodes.stream()
.filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode()) != 0) .filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode()) != 0)
.findFirst().orElse(null); .findFirst().orElse(null);
if (otherCouponCode != null) { if (otherCouponCode != null) {
...@@ -780,8 +781,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -780,8 +781,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
// 添加购物车商品总价和加价购商品总价,现在是自己计算,后面需要优化为促销计算, 这段要删除 // 添加购物车商品总价和加价购商品总价,现在是自己计算,后面需要优化为促销计算, 这段要删除
shoppingCartGoodsResponseVo.setShoppingCartGoodsAmount(0L); shoppingCartGoodsResponseVo.setShoppingCartGoodsAmount(0L);
if (CollectionUtils.isNotEmpty(shoppingCartGoodsResponseVo.getProducts())){ if (CollectionUtils.isNotEmpty(shoppingCartGoodsResponseVo.getProducts())){
long shoppincCartGoodsAmount = shoppingCartGoodsResponseVo.getProducts().stream().mapToLong(CartGoods::getAmount).sum(); long shoppingCartGoodsAmount = shoppingCartGoodsResponseVo.getProducts().stream().mapToLong(CartGoods::getAmount).sum();
shoppingCartGoodsResponseVo.setShoppingCartGoodsAmount(shoppincCartGoodsAmount); shoppingCartGoodsResponseVo.setShoppingCartGoodsAmount(shoppingCartGoodsAmount);
} }
if (CollectionUtils.isNotEmpty(shoppingCartInfoRequestVo.getSendGoods())){ if (CollectionUtils.isNotEmpty(shoppingCartInfoRequestVo.getSendGoods())){
...@@ -825,8 +826,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -825,8 +826,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
// 校验入参券是否可用 // 校验入参券是否可用
if (!checkAvailableCoupon(shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo.getCouponCode())){ if (!checkAvailableCoupon(shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo.getCouponCode())){
return ResponseUtil.error(ResponseResult.SHOPPING_CART_COUPON_NOT_USE); return ResponseUtil.error(ResponseResult.SHOPPING_CART_COUPON_NOT_USE);
}; }
// TODO: 21-7-15 待优化
shoppingCartGoodsResponseVo.setCouponCodes(shoppingCartInfoRequestVo.getCouponCodes());
return ResponseUtil.success(shoppingCartGoodsResponseVo); return ResponseUtil.success(shoppingCartGoodsResponseVo);
} }
...@@ -1001,10 +1003,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1001,10 +1003,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId(); String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode(); String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode(); String activityCode = shoppingCartInfoRequestVo.getActivityCode();
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ChooseCouponVo> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) { if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) {
// fisherman 这里可能会有问题 如果只有配送券的情况下 这里 过滤掉了 得检查后面的逻辑 是否用了list去做事情 // fisherman 这里可能会有问题 如果只有配送券的情况下 这里 过滤掉了 得检查后面的逻辑 是否用了list去做事情
ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream() ChooseCouponVo otherCouponCode = couponCodes.stream()
.filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode())!=0) .filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode())!=0)
.findFirst().orElse(null); .findFirst().orElse(null);
if (otherCouponCode !=null) { if (otherCouponCode !=null) {
...@@ -2822,7 +2824,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -2822,7 +2824,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
} }
private List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> buildCoupons(List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> oldCoupons, private List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> buildCoupons(List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> oldCoupons,
List<ShoppingCartInfoRequestVo.couponCode> coupons){ List<ChooseCouponVo> coupons){
// ApiLog.info("批量使用优惠券前,oldCoupons,coupons",oldCoupons,coupons); // ApiLog.info("批量使用优惠券前,oldCoupons,coupons",oldCoupons,coupons);
...@@ -2839,7 +2841,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -2839,7 +2841,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if (coupons != null) { if (coupons != null) {
for(int x = 0 ; x < coupons.size() ; x++){ for(int x = 0 ; x < coupons.size() ; x++){
ShoppingCartInfoRequestVo.couponCode cp = coupons.get(x); ChooseCouponVo cp = coupons.get(x);
if(codes.contains(cp.getCouponCode())){ if(codes.contains(cp.getCouponCode())){
continue; continue;
} }
......
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