Commit d6650e2f by ping.wu

validCouponMap 获取信息取商品对象CouponCode字段,

商品券统一取商品对象CouponCode字段
parent 986a7e29
......@@ -366,7 +366,7 @@ public interface ShoppingCartBaseService {
.collect(Collectors.toList());
}
for (CartGoods cartGoods : cartGoodsByProduct) {
DetailVO detail = detailsMap.get(cartGoods.getSpuId());
DetailVO detail = detailsMap.get(cartGoods.getCouponCode());
String activeCode = detail != null ? detail.getActiveCode() : "";
if (couponOrderWayMap == null || couponOrderWayMap.isEmpty() || !couponOrderWayMap.get(activeCode)) {
orderWayFlag = true;
......
......@@ -109,15 +109,15 @@ public class DistributeAdapter {
Map<String, List<String>> spqIdToCartUuid = discountResult == null ? new HashMap<>() : discountResult.getSpqIdToCartUuidMap();
if (MapUtils.isNotEmpty(validCouponMap) && MapUtils.isNotEmpty(spqIdToCartUuid) && discountResult != null){
List<String> activityCodeList = discountResult.getDiscounts().stream().map(p -> p.getActivityCode()).collect(Collectors.toList());
for (String spqId : validCouponMap.keySet()) {
CheckSpqInfoResponseDto sqpInfo = validCouponMap.get(spqId);
for (String couponCode : validCouponMap.keySet()) {
CheckSpqInfoResponseDto sqpInfo = validCouponMap.get(couponCode);
if (!activityCodeList.contains(sqpInfo.getCouponCode())){ // 表示商品券不够启用金额
List<String> uuidList = spqIdToCartUuid.get(sqpInfo.getCouponCode());
if (CollectionUtils.isNotEmpty(uuidList)){
List<CartGoods> newCartList = cartGoodsList.stream().filter(p -> !uuidList.contains(p.getCartGoodsUid())).collect(Collectors.toList());
assortmentSdkService.setShoppingCart(bo.getPartnerId(), bo.getShopId(), bo.getUserId(), newCartList, null, null, this.shoppingCartBaseService,null);
cartGoodsList = newCartList;
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(spqId);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(couponCode);
commonSetMessageBO.setChanged(true);
commonSetMessageBO.setToastMsg("当前购物车金额低于【" + checkSpqInfoResponseDto.getCouponName() + "】优惠券起用金额门槛,券已自动移除购物车");
}
......
......@@ -234,7 +234,7 @@ public abstract class AbstractAddGoodsService implements AddGoodsService {
String couponCode = CommonUtils.getCouponCode(baseRequestBO.getCouponCode(), spuId);
cartGoods.setAddCartTime(System.currentTimeMillis());
cartGoods.setSpuId(couponCode);
// cartGoods.setSpuId(couponCode);
cartGoods.setSkuId(StringUtils.isEmpty(spqBO.getSkuId()) ? spqBO.getSpuId() : spqBO.getSkuId());
cartGoods.setOriginalPrice(0L);
cartGoods.setOriginalAmount(0L);
......
......@@ -445,11 +445,11 @@ public class AbstractApportionService implements GetShoppingCartGoodsApportionSe
for (CartGoods product : cartGoodsList) {
//循环购物车商品券
if (CommonUtils.isProductCoupon(product.getCouponCode(), product.getCartGoodsUid())) {
String spqId = product.getCartGoodsUid().substring(CommonsConstant.COUPON_PREFIX.length());
String couponCode = product.getCouponCode();
// 计算优惠信息时,已将券校验过,放在map中
Map<String, CheckSpqInfoResponseDto> validCouponMap = discountResult == null ? new HashMap<>() : discountResult.getValidCouponMap();
if (MapUtils.isNotEmpty(validCouponMap)) {
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(spqId);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(couponCode);
if (checkSpqInfoResponseDto != null) {
product.setOriginalPrice(checkSpqInfoResponseDto.getPrice());
product.setSpuId(checkSpqInfoResponseDto.getSpuId());
......
......@@ -52,8 +52,9 @@ public class DistributeServiceImpl implements DistributeService {
originalAmount = 0L;amount = 0L;packageAmount = 0L;
if (CommonUtils.isProductCoupon(cartGoods.getCouponCode(), cartGoods.getCartGoodsUid())){
Map<String, CheckSpqInfoResponseDto> validCouponMap = discountResult.getValidCouponMap();
if (validCouponMap != null && validCouponMap.get(cartGoods.getSpuId()) != null){
cartGoods.setSpuId(validCouponMap.get(cartGoods.getSpuId()).getSpuId());
if (validCouponMap != null && validCouponMap.get(cartGoods.getCouponCode()) != null){
//商品spuId
cartGoods.setSpuId(validCouponMap.get(cartGoods.getCouponCode()).getSpuId());
}
}
......
......@@ -164,11 +164,11 @@ public class PlatformApportionService extends AbstractApportionService {
//循环购物车商品券
for (CartGoods cartGoods : cartGoodsList) {
if (cartGoods.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)) {
String spqId = cartGoods.getCartGoodsUid().substring(CommonsConstant.COUPON_PREFIX.length());
String couponCode = cartGoods.getCouponCode();
// 计算优惠信息时,已将券校验过,放在map中
Map<String, CheckSpqInfoResponseDto> validCouponMap = discountResult == null ? new HashMap<>() : discountResult.getValidCouponMap();
if (MapUtils.isNotEmpty(validCouponMap)) {
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(spqId);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(couponCode);
if (checkSpqInfoResponseDto != null) {
cartGoods.setOriginalPrice(checkSpqInfoResponseDto.getPrice());
cartGoods.setSpuId(checkSpqInfoResponseDto.getSpuId());
......
......@@ -194,7 +194,7 @@ public interface ShoppingCartNewService {
cartGoods.setGoodsType(GoodsTypeEnum.COUPON_GOODS.getGoodsType());
// 商品券Id
String spqId = spuId.substring(CommonsConstant.COUPON_PREFIX.length());
cartGoods.setSpuId(spqId);
// cartGoods.setSpuId(spqId);
cartGoods.setSkuId(spuId2);
cartGoods.setOriginalPrice(0L);
cartGoods.setOriginalAmount(0L);
......
......@@ -126,15 +126,15 @@ public class CouponPromotionService implements IPromotionService {
Map<String, List<String>> spqIdToCartUuid = calculationDiscountResult == null ? new HashMap<>() : calculationDiscountResult.getSpqIdToCartUuid();
if (MapUtils.isNotEmpty(validCouponMap) && MapUtils.isNotEmpty(spqIdToCartUuid) && calculationDiscountResult != null){
List<String> activityCodeList = calculationDiscountResult.getCouponDiscounts().stream().map(p -> p.getCouponCode()).collect(Collectors.toList());
for (String spqId : validCouponMap.keySet()) {
CheckSpqInfoResponseDto sqpInfo = validCouponMap.get(spqId);
for (String couponCode : validCouponMap.keySet()) {
CheckSpqInfoResponseDto sqpInfo = validCouponMap.get(couponCode);
if (!activityCodeList.contains(sqpInfo.getCouponCode())){ // 表示商品券不够启用金额
List<String> uuidList = spqIdToCartUuid.get(sqpInfo.getCouponCode());
if (CollectionUtils.isNotEmpty(uuidList)){
List<CartGoods> newCartList = cartGoodsList.stream().filter(p -> !uuidList.contains(p.getCartGoodsUid())).collect(Collectors.toList());
assortmentSdkService.setShoppingCart(activityQueryDto.getPartnerId(), activityQueryDto.getStoreId(), userLoginInfoDto.getMemberId(), newCartList, null, null, this.shoppingCartBaseService,activityQueryDto.getBizType());
cartGoodsList = newCartList;
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(spqId);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(couponCode);
shoppingCartGoodsResponseVo.setChanged(true);
shoppingCartGoodsResponseVo.setToastMsg("当前购物车金额低于【" + checkSpqInfoResponseDto.getCouponName() + "】优惠券起用金额门槛,券已自动移除购物车");
}
......
......@@ -262,6 +262,7 @@ public class ProductServiceImpl implements ProductService {
*/
private boolean checkProductOrderWay(List<CartGoods> cartGoodsList, Map<String, GetCouponDetailResponseDto.Details> detailsMap, Map<String, Boolean> couponOrderWayMap) {
boolean orderWayFlag = false;
// TODO: 21-11-5 判断券商品待删除
List<CartGoods> cartGoodsByProduct = cartGoodsList.stream()
.filter(cartGoods -> cartGoods.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX))
.collect(Collectors.toList());
......@@ -271,7 +272,7 @@ public class ProductServiceImpl implements ProductService {
.collect(Collectors.toList());
}
for (CartGoods cartGoods : cartGoodsByProduct) {
GetCouponDetailResponseDto.Details detail = detailsMap.get(cartGoods.getSpuId());
GetCouponDetailResponseDto.Details detail = detailsMap.get(cartGoods.getCouponCode());
String activeCode = detail != null ? detail.getActiveCode() : "";
if (couponOrderWayMap == null || couponOrderWayMap.isEmpty() || !couponOrderWayMap.get(activeCode)) {
orderWayFlag = true;
......
......@@ -115,15 +115,15 @@ public class CouponSharingService {
Map<String, List<String>> spqIdToCartUuid = calculationDiscountResult == null ? new HashMap<>() : calculationDiscountResult.getSpqIdToCartUuid();
if (MapUtils.isNotEmpty(validCouponMap) && MapUtils.isNotEmpty(spqIdToCartUuid) && calculationDiscountResult != null){
List<String> activityCodeList = calculationDiscountResult.getDiscounts().stream().map(p -> p.getActivityCode()).collect(Collectors.toList());
for (String spqId : validCouponMap.keySet()) {
CheckSpqInfoResponseDto sqpInfo = validCouponMap.get(spqId);
for (String couponCode : validCouponMap.keySet()) {
CheckSpqInfoResponseDto sqpInfo = validCouponMap.get(couponCode);
if (!activityCodeList.contains(sqpInfo.getCouponCode())){ // 表示商品券不够启用金额
List<String> uuidList = spqIdToCartUuid.get(sqpInfo.getCouponCode());
if (CollectionUtils.isNotEmpty(uuidList)){
List<CartGoods> newCartList = cartGoodsList.stream().filter(p -> !uuidList.contains(p.getCartGoodsUid())).collect(Collectors.toList());
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, newCartList, null, null, this.shoppingCartBaseService,bizType);
cartGoodsList = newCartList;
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(spqId);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(couponCode);
shoppingCartGoodsResponseVo.setChanged(true);
shoppingCartGoodsResponseVo.setToastMsg("当前购物车金额低于【" + checkSpqInfoResponseDto.getCouponName() + "】优惠券起用金额门槛,券已自动移除购物车");
}
......
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