Commit 7e7f20a2 by ping.wu

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

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