小程序商品返回相关推荐

This commit is contained in:
gong
2025-12-24 17:42:08 +08:00
parent b1215acca5
commit ae65bf1814
5 changed files with 25 additions and 41 deletions

View File

@@ -28,7 +28,6 @@ import com.czg.service.product.mapper.ProdGroupMapper;
import com.czg.service.product.mapper.ProdGroupRelationMapper;
import com.czg.service.product.mapper.ProdSkuMapper;
import com.czg.service.product.mapper.ProductMapper;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -132,6 +131,21 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
if (data == null) {
throw new CzgException("商品不可售");
}
if (StrUtil.isBlank(data.getRelatedRecommend()) || "[]".equals(data.getRelatedRecommend())) {
data.setRelatedRecommendJson(new ArrayList<>());
} else {
List<ShopProductVo> productAllList = productMapper.selectGroupProductList(shopId, JSONArray.parseArray(data.getRelatedRecommend(), Long.class));
productAllList.forEach(item -> {
List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query()
.eq(ProdSku::getProductId, item.getId())
.eq(ProdSku::getIsGrounding, SystemConstants.OneZero.ONE)
.eq(ProdSku::getIsDel, SystemConstants.OneZero.ZERO), ProdSkuDTO.class);
item.setSkuList(skuList);
});
data.setRelatedRecommendJson(productAllList);
}
return data;
}
@@ -235,31 +249,6 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
return SystemConstants.OneZero.ZERO;
}
@Override
public List<ShopProductVo> queryProductRelatedList(Long productId) {
Product product = getOne(QueryWrapper.create().eq(Product::getId, productId)
.eq(Product::getShopId, StpKit.USER.getShopId())
.eq(Product::getIsDel, SystemConstants.OneZero.ZERO));
if (product == null) {
throw new CzgException("商品信息不存在");
}
if (StrUtil.isBlank(product.getRelatedRecommend()) || "[]".equals(product.getRelatedRecommend())) {
return new ArrayList<>();
}
List<ShopProductVo> productAllList = productMapper.selectGroupProductList(product.getShopId(), JSONArray.parseArray(product.getRelatedRecommend(), Long.class));
productAllList.forEach(item -> {
List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query()
.eq(ProdSku::getProductId, item.getId())
.eq(ProdSku::getIsGrounding, SystemConstants.OneZero.ONE)
.eq(ProdSku::getIsDel, SystemConstants.OneZero.ZERO), ProdSkuDTO.class);
item.setSkuList(skuList);
});
return productAllList;
}
/**
* 计算是否在可售时间内
*

View File

@@ -95,7 +95,8 @@
t1.pack_fee,
ifnull(t4.sales_volume, 0) as sales_volume,
t1.shop_id,
t1.is_stock
t1.is_stock,
t1.related_recommend
from tb_product t1
left join (select x.product_id,
x.id as sku_id,