食堂预定

This commit is contained in:
zjf committed 2025-08-12 15:11:00 +08:00
1 parent b432b80324
commit 94e6a9428d
3 files changed
+22 -5

No files matched your search

@@ -155,8 +155,9 @@ public class CanteenOnlineSpuController {
@GetMapping("/app/getCanteenSpuList")
@Operation(summary = "获取在线点餐的菜品列表", description = "1.通过分类id,可以不填,默认查全部,2.商户id,必传")
public R<List<APPOnlineSpuVO>> getCanteenSpuList(@RequestParam(value = "categoryId", required = false) String categoryId,
@RequestParam(value = "merchantId") String merchantId) {
return canteenOnlineSpuService.getCanteenOnlineSpuList(categoryId, merchantId);
@RequestParam(value = "merchantId") String merchantId,
@RequestParam(value = "time")String time) {
return canteenOnlineSpuService.getCanteenOnlineSpuList(categoryId, merchantId,time);
}
@@ -21,7 +21,7 @@ public interface CanteenOnlineSpuService extends IService<CanteenOnlineSpuEntity
* @param merchantId
* @return
*/
R<List<APPOnlineSpuVO>> getCanteenOnlineSpuList(String categoryId, String merchantId);
R<List<APPOnlineSpuVO>> getCanteenOnlineSpuList(String categoryId, String merchantId,String time);
/**
@@ -7,9 +7,11 @@ import com.bsd.pjcloud.canteen.dto.CanteenOnlineSpuUpdateStockReqDTO;
import com.bsd.pjcloud.canteen.dto.canteenonline.CanteenOnlineSpuSaveDto;
import com.bsd.pjcloud.canteen.dto.canteenonline.CanteenOnlineSpuSaveItemDto;
import com.bsd.pjcloud.canteen.entity.CanteenCategoryEntity;
import com.bsd.pjcloud.canteen.entity.CanteenDailyMenuEntity;
import com.bsd.pjcloud.canteen.entity.CanteenOnlineCategoryEntity;
import com.bsd.pjcloud.canteen.entity.CanteenOnlineSpuEntity;
import com.bsd.pjcloud.canteen.mapper.CanteenCategoryMapper;
import com.bsd.pjcloud.canteen.mapper.CanteenDailyMenuMapper;
import com.bsd.pjcloud.canteen.mapper.CanteenOnlineCategoryMapper;
import com.bsd.pjcloud.canteen.mapper.CanteenOnlineSpuMapper;
import com.bsd.pjcloud.canteen.service.CanteenOnlineSpuService;
@@ -40,13 +42,27 @@ public class CanteenOnlineSpuServiceImpl extends ServiceImpl<CanteenOnlineSpuMap
private final CanteenCategoryMapper categoryMapper;
private final CanteenOnlineCategoryMapper canteenOnlineCategoryMapper;
private final CanteenDailyMenuMapper canteenDailyMenuMapper;
@Override
public R<List<APPOnlineSpuVO>> getCanteenOnlineSpuList(String categoryId, String merchantId) {
public R<List<APPOnlineSpuVO>> getCanteenOnlineSpuList(String categoryId, String merchantId,String time) {
LambdaQueryWrapper<CanteenOnlineSpuEntity> canteenOnlineSpuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
canteenOnlineSpuEntityLambdaQueryWrapper.eq(StringUtils.isNotEmpty(categoryId), CanteenOnlineSpuEntity::getCategoryId, categoryId);
canteenOnlineSpuEntityLambdaQueryWrapper.eq(CanteenOnlineSpuEntity::getMerchantId, merchantId);
List<CanteenOnlineSpuEntity> canteenSpuEntities = baseMapper.selectList(canteenOnlineSpuEntityLambdaQueryWrapper);
List<APPOnlineSpuVO> bean = BeanUtils.toBean(canteenSpuEntities, APPOnlineSpuVO.class);
//根据商户查询当前日期的每日菜谱,查询每日菜谱上架的菜的id,然后在从在线订餐的列表筛选出今天有上新的数据
LambdaQueryWrapper<CanteenDailyMenuEntity> dailyMenuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
dailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getMerchantId, merchantId);
dailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getStartTime,time);
List<CanteenDailyMenuEntity> dailyMenuEntities = canteenDailyMenuMapper.selectList(dailyMenuEntityLambdaQueryWrapper);
List<Long> linkSpuIds = dailyMenuEntities.stream().map(d -> d.getSpuId()).collect(Collectors.toList());
//从canteenSpuEntities中筛选出今天有上新的数据
List<CanteenOnlineSpuEntity> finallyCanteenSpuEntities =
canteenSpuEntities.stream().filter(c -> {
return c.getLinkSpuId() == null || linkSpuIds.contains(c.getLinkSpuId());
}).collect(Collectors.toList());
List<APPOnlineSpuVO> bean = BeanUtils.toBean(finallyCanteenSpuEntities, APPOnlineSpuVO.class);
return R.ok(bean);
}