Browse Source

fix 同步商品特定价格、专属渠道用户属性

zoujiajian 2 years ago
parent
commit
44866b750a

+ 10 - 17
netflix-service/src/main/java/com/cyksj/service/mange/goods/CmsGoodsDonServiceImpl.java

@@ -1,7 +1,6 @@
 package com.cyksj.service.mange.goods;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.cyksj.mapper.GoodsDonMapper;
@@ -13,10 +12,8 @@ import com.ejlchina.searcher.BeanSearcher;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
 import java.util.List;
 import java.util.Optional;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * @author chan
@@ -50,20 +47,16 @@ public class CmsGoodsDonServiceImpl extends ServiceImpl<GoodsDonMapper, GoodsDon
 		}
 		if (!skuViews.isEmpty()) {
 			//是否有特定价格规格
-			if (goods.getIsSp() || goods.getIsOwns()) {
-				AtomicBoolean isSp = new AtomicBoolean(false);
-				AtomicBoolean isOwns = new AtomicBoolean(false);
-				skuViews.stream().forEach(sku->{
-					if (sku.getSpecificPrice().compareTo(BigDecimal.ZERO) > 0) {
-						isSp.set(true);
-					}
-					if (StrUtil.isNotBlank(sku.getUserOwns())) {
-						isOwns.set(true);
-					}
-				});
-				goods.setIsSp(isSp.get());
-				goods.setIsOwns(isOwns.get());
-			}
+			int spSkuCount = goodsDonSkuMapper.selectCount(Wrappers.lambdaQuery(GoodsDonSku.class)
+					.eq(GoodsDonSku::getGoodsId, goodsId)
+					.gt(GoodsDonSku::getSpecificPrice, 0)
+					.eq(GoodsDonSku::getStatus, true));
+			int userOwnsSkuCount = goodsDonSkuMapper.selectCount(Wrappers.lambdaQuery(GoodsDonSku.class)
+					.eq(GoodsDonSku::getGoodsId, goodsId)
+					.isNotNull(GoodsDonSku::getUserOwns)
+					.eq(GoodsDonSku::getStatus, true));
+			goods.setIsSp(spSkuCount > 0 ? true : false);
+			goods.setIsOwns(userOwnsSkuCount > 0 ? true : false);
 
 			GoodsDonSku min = skuViews.get(0);
 			goods.setMinPrice(min.getPrice());

+ 2 - 2
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -694,8 +694,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 
 	@Override
 	public UserSharedDto getUserShredDtoByDsCode(String dsCode) {
-		Long sharedId = null;
-		Long dsPopularizeId = null;
+		Long sharedId = 0l;
+		Long dsPopularizeId = 0l;
 		dsCode = dsCode.trim();
 		User sharedUser = getOne(Wrappers.lambdaQuery(User.class)
 				.eq(User::getShowId, dsCode).last("limit 1"));