|
|
@@ -1653,10 +1653,41 @@ public class StoreInfoController {
|
|
|
Set<Integer> excludedStoreIds = new HashSet<>(blacklistedStoreIds);
|
|
|
excludedStoreIds.addAll(followedStoreIds);
|
|
|
|
|
|
+ // 查询所有有头图的店铺ID(img_type 为 20 或 21)
|
|
|
+ Set<Integer> storesWithHeadImg = new HashSet<>();
|
|
|
+ try {
|
|
|
+ LambdaQueryWrapper<StoreImg> headImgWrapper = new LambdaQueryWrapper<>();
|
|
|
+ headImgWrapper.in(StoreImg::getImgType, Arrays.asList(20, 21)) // 20:头图单图模式, 21:头图多图模式
|
|
|
+ .eq(StoreImg::getDeleteFlag, 0);
|
|
|
+ List<StoreImg> headImgList = storeImgMapper.selectList(headImgWrapper);
|
|
|
+
|
|
|
+ if (!CollectionUtils.isEmpty(headImgList)) {
|
|
|
+ for (StoreImg storeImg : headImgList) {
|
|
|
+ if (storeImg.getStoreId() != null) {
|
|
|
+ storesWithHeadImg.add(storeImg.getStoreId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ log.info("查询到有头图的店铺数量: {}", storesWithHeadImg.size());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("查询有头图的店铺失败 - error: {}", e.getMessage(), e);
|
|
|
+ // 如果查询失败,返回空结果
|
|
|
+ return R.data(new Page<>(pageNum, pageSize, 0));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果没有有头图的店铺,直接返回空结果
|
|
|
+ if (storesWithHeadImg.isEmpty()) {
|
|
|
+ log.info("没有找到有头图的店铺");
|
|
|
+ return R.data(new Page<>(pageNum, pageSize, 0));
|
|
|
+ }
|
|
|
+
|
|
|
// 构建查询条件
|
|
|
LambdaQueryWrapper<StoreInfo> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(StoreInfo::getDeleteFlag, 0); // 未删除
|
|
|
|
|
|
+ // 只查询有头图的店铺
|
|
|
+ queryWrapper.in(StoreInfo::getId, storesWithHeadImg);
|
|
|
+
|
|
|
// 排除被拉黑和已关注的店铺
|
|
|
if (!excludedStoreIds.isEmpty()) {
|
|
|
queryWrapper.notIn(StoreInfo::getId, excludedStoreIds);
|