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