|
@@ -7,13 +7,17 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import shop.alien.entity.store.StoreCuisine;
|
|
import shop.alien.entity.store.StoreCuisine;
|
|
|
import shop.alien.entity.store.StoreCuisineCategory;
|
|
import shop.alien.entity.store.StoreCuisineCategory;
|
|
|
|
|
+import shop.alien.entity.store.StoreInfo;
|
|
|
import shop.alien.entity.store.StoreTable;
|
|
import shop.alien.entity.store.StoreTable;
|
|
|
|
|
+import shop.alien.entity.store.dto.StoreInfoWithHomepageCuisinesDTO;
|
|
|
import shop.alien.mapper.StoreCuisineCategoryMapper;
|
|
import shop.alien.mapper.StoreCuisineCategoryMapper;
|
|
|
import shop.alien.mapper.StoreCuisineMapper;
|
|
import shop.alien.mapper.StoreCuisineMapper;
|
|
|
|
|
+import shop.alien.mapper.StoreInfoMapper;
|
|
|
import shop.alien.mapper.StoreTableMapper;
|
|
import shop.alien.mapper.StoreTableMapper;
|
|
|
import shop.alien.dining.service.StoreInfoService;
|
|
import shop.alien.dining.service.StoreInfoService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -30,6 +34,7 @@ public class StoreInfoServiceImpl implements StoreInfoService {
|
|
|
private final StoreTableMapper storeTableMapper;
|
|
private final StoreTableMapper storeTableMapper;
|
|
|
private final StoreCuisineCategoryMapper storeCuisineCategoryMapper;
|
|
private final StoreCuisineCategoryMapper storeCuisineCategoryMapper;
|
|
|
private final StoreCuisineMapper storeCuisineMapper;
|
|
private final StoreCuisineMapper storeCuisineMapper;
|
|
|
|
|
+ private final StoreInfoMapper storeInfoMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<StoreTable> getTablesByStoreId(Integer storeId) {
|
|
public List<StoreTable> getTablesByStoreId(Integer storeId) {
|
|
@@ -96,4 +101,37 @@ public class StoreInfoServiceImpl implements StoreInfoService {
|
|
|
})
|
|
})
|
|
|
.collect(java.util.stream.Collectors.toList());
|
|
.collect(java.util.stream.Collectors.toList());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public StoreInfoWithHomepageCuisinesDTO getStoreInfoWithHomepageCuisines(Integer storeId) {
|
|
|
|
|
+ log.info("根据商铺ID查询店铺信息和首页展示美食价目表, storeId={}", storeId);
|
|
|
|
|
+
|
|
|
|
|
+ // 1. 查询店铺信息
|
|
|
|
|
+ StoreInfo storeInfo = storeInfoMapper.selectById(storeId);
|
|
|
|
|
+ if (storeInfo == null) {
|
|
|
|
|
+ throw new RuntimeException("店铺不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 2. 查询首页展示的美食价目表(is_homepage_display = 1,上架状态 = 1,审核通过 = 1)
|
|
|
|
|
+ LambdaQueryWrapper<StoreCuisine> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapper.eq(StoreCuisine::getStoreId, storeId);
|
|
|
|
|
+ wrapper.eq(StoreCuisine::getDeleteFlag, 0);
|
|
|
|
|
+ wrapper.eq(StoreCuisine::getIsHomepageDisplay, 1); // 首页展示
|
|
|
|
|
+ wrapper.eq(StoreCuisine::getShelfStatus, 1); // 上架状态
|
|
|
|
|
+ wrapper.eq(StoreCuisine::getStatus, 1); // 审核通过
|
|
|
|
|
+ wrapper.orderByDesc(StoreCuisine::getCreatedTime); // 按创建时间倒序
|
|
|
|
|
+
|
|
|
|
|
+ List<StoreCuisine> homepageCuisines = storeCuisineMapper.selectList(wrapper);
|
|
|
|
|
+ if (homepageCuisines == null) {
|
|
|
|
|
+ homepageCuisines = new ArrayList<>();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 3. 构建返回DTO
|
|
|
|
|
+ StoreInfoWithHomepageCuisinesDTO dto = new StoreInfoWithHomepageCuisinesDTO();
|
|
|
|
|
+ dto.setStoreInfo(storeInfo);
|
|
|
|
|
+ dto.setHomepageCuisines(homepageCuisines);
|
|
|
|
|
+
|
|
|
|
|
+ log.info("查询完成, storeId={}, 首页展示美食数量={}", storeId, homepageCuisines.size());
|
|
|
|
|
+ return dto;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|