Преглед на файлове

店铺满减/个人超级会员权益

Aslee преди 3 години
родител
ревизия
ad25e1736a

+ 11 - 5
src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java

@@ -125,7 +125,7 @@ public class CartClubServiceImpl implements CartClubService {
                         // 默认所有商品未选中状态(前端要求)
                         cartItemVo.setIsChecked(false);
                         // 价格是否可见
-                        boolean priceVisible = (cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && userIdentity == 2) || svipUserFlag);
+                        boolean priceVisible = (cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && (userIdentity == 2 || svipUserFlag)));
                         // 是否库存充足
                         boolean isStocked = (cartItemVo.getStock() != null && cartItemVo.getStock() > 0 && cartItemVo.getStock() >= cartItemVo.getMin() && cartItemVo.getStock() >= cartItemVo.getNumber());
                         if (priceVisible && isStocked) {
@@ -460,11 +460,14 @@ public class CartClubServiceImpl implements CartClubService {
         List<Integer> promotionsIds = new ArrayList<>();
         // 用户身份
         Integer userIdentity = baseMapper.getIdentityByUserId(userId);
+        // 超级会员标识
+        Integer svipUserId = baseMapper.getSvipUserIdByUserId(userId);
+        boolean svipUserFlag = null != svipUserId;
         // 获取购物车商品列表(不区分供应商)
         cartList = cartClubMapper.getCartProductList(userId);
         if (null != cartList && cartList.size()>0) {
             // 移除价格不可见商品
-            cartList.removeIf(cartItemVo -> !(cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && userIdentity == 2)));
+            cartList.removeIf(cartItemVo -> !(cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && (userIdentity == 2 || svipUserFlag))));
             cartList.forEach(cartItemVo -> {
                 // 设置商品图片及税费
                 boolean taxFlag = productService.setCartItemImgAndTax(cartItemVo);
@@ -633,8 +636,11 @@ public class CartClubServiceImpl implements CartClubService {
         if (null != cartList && cartList.size()>0) {
             // 用户身份
             Integer userIdentity = baseMapper.getIdentityByUserId(userId);
+            // 超级会员标识
+            Integer svipUserId = baseMapper.getSvipUserIdByUserId(userId);
+            boolean svipUserFlag = null != svipUserId;
             // 移除价格不可见商品
-            cartList.removeIf(cartItemVo -> !(cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && userIdentity == 2)));
+            cartList.removeIf(cartItemVo -> !(cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && (userIdentity == 2 || svipUserFlag))));
             return cartList.size();
         } else {
             return 0;
@@ -713,7 +719,7 @@ public class CartClubServiceImpl implements CartClubService {
                     List<CartItemVo> productList = cartClubMapper.getCartProductsByShopIdAndProductIds(userId, shop.getShopId(), finalIdList);
                     if (null != productList && productList.size()>0) {
                         // 去除价格不可见商品
-                        productList.removeIf(cartItemVo -> !(cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && userIdentity == 2)));
+                        productList.removeIf(cartItemVo -> !(cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && (userIdentity == 2 || svipUserFlag))));
                         // 去除库存不足商品
                         productList.removeIf(cartItemVo -> !(cartItemVo.getStock() != null && cartItemVo.getStock() > 0 && cartItemVo.getStock() >= cartItemVo.getMin() && cartItemVo.getStock() >= cartItemVo.getNumber()));
                         // 迭代器设置商品信息
@@ -955,7 +961,7 @@ public class CartClubServiceImpl implements CartClubService {
         Integer svipUserId = baseMapper.getSvipUserIdByUserId(cartDto.getUserId());
         boolean svipUserFlag = null != svipUserId;
         // 价格不可见商品
-        if (!(cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && userIdentity == 2))) {
+        if (!(cartItemVo.getPriceFlag() == 0 || (cartItemVo.getPriceFlag() == 2 && (userIdentity == 2 || svipUserFlag)))) {
             return ResponseJson.error("商品价格不可见!", null);
         }
         cartItemVo.setNumber(cartDto.getProductCount());

+ 1 - 1
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -468,7 +468,7 @@ public class SubmitServiceImpl implements SubmitService {
                 // 超级会员优惠商品详情
                 SvipProductPo svipProductPo = submitMapper.getSvipProductDetails(productId);
                 // 是否以超级会员优惠价格购买
-                boolean svipPriceFlag = null != svipProductPo && 1 == svipProductPo.getSvipProductFlag() || orderParamBo.getSvipUserFlag();
+                boolean svipPriceFlag = null != svipProductPo && 1 == svipProductPo.getSvipProductFlag() && orderParamBo.getSvipUserFlag();
                 // 是否是促销赠品
                 if (productType == 2) {
                     // 促销赠品数+1