From 8f66cc95054dbab961eea557e489795507d0d55e Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 18 Apr 2025 11:52:46 +0800 Subject: [PATCH] =?UTF-8?q?h5=E6=AF=8F=E6=97=A5=E8=8F=9C=E8=B0=B1=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E9=87=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/CanteenDailyMenuMapper.java | 7 ++ .../impl/CanteenDailyMenuServiceImpl.java | 110 +++++++++--------- .../mapper/CanteenDailyMenuMapper.xml | 31 +++++ 3 files changed, 94 insertions(+), 54 deletions(-) diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java index 5cecab07f..dcc9b3c59 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java @@ -1,7 +1,10 @@ package com.bsd.pjcloud.canteen.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.canteen.dto.app.DailyMenuDTO; import com.bsd.pjcloud.canteen.vo.ADCanteenDailyMenuListVO; import com.bsd.pjcloud.canteen.vo.DailyMenuVO; +import com.bsd.pjcloud.canteen.vo.app.DailyMenuAppVO; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; import com.bsd.pjcloud.canteen.entity.CanteenDailyMenuEntity; @@ -27,4 +30,8 @@ public interface CanteenDailyMenuMapper extends PjcloudBaseMapper getCanteenMenuList(@Param("day") String day, @Param("hourType") Integer hourType, @Param("categoryId") Long categoryId, @Param("merchantId") Long merchantId,DataScope dataScope); + + + + Page selectTimeFoodPage(@Param("page")Page page, DailyMenuDTO dailyMenuDTO); } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java index b2eddadd9..7ce8a7cf1 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java @@ -143,63 +143,65 @@ public class CanteenDailyMenuServiceImpl extends ServiceImpl canteenDailyMenuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); - canteenDailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getMerchantId, dailyMenuDTO.getMerchantId()); - canteenDailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getStartTime, dailyMenuDTO.getStartTime()); - canteenDailyMenuEntityLambdaQueryWrapper.eq(dailyMenuDTO.getHourType() != null, - CanteenDailyMenuEntity::getHourType, dailyMenuDTO.getHourType()); +// LambdaQueryWrapper canteenDailyMenuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// canteenDailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getMerchantId, dailyMenuDTO.getMerchantId()); +// canteenDailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getStartTime, dailyMenuDTO.getStartTime()); +// canteenDailyMenuEntityLambdaQueryWrapper.eq(dailyMenuDTO.getHourType() != null, +// CanteenDailyMenuEntity::getHourType, dailyMenuDTO.getHourType()); +// +// //查询 +// LambdaQueryWrapper onlineFoodSpuDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// onlineFoodSpuDOLambdaQueryWrapper.eq(null != dailyMenuDTO.getCategoryId(), CanteenSpuEntity::getCategoryId, dailyMenuDTO.getCategoryId()); +// onlineFoodSpuDOLambdaQueryWrapper.eq(CanteenSpuEntity::getIsShow, "1"); +// List spuEntities = canteenSpuService.list(onlineFoodSpuDOLambdaQueryWrapper); +// +// if (CollectionUtils.isNotEmpty(spuEntities)){ +// List spuIds = spuEntities.stream().map(CanteenSpuEntity::getId).collect(Collectors.toList()); +// canteenDailyMenuEntityLambdaQueryWrapper.notIn(CanteenDailyMenuEntity::getSpuId, spuIds); +// } +// +// Page pageData = baseMapper.selectPage(page, canteenDailyMenuEntityLambdaQueryWrapper); +// List canteenDailyMenuEntities = pageData.getRecords(); +// if (CollectionUtils.isNotEmpty(canteenDailyMenuEntities)) { +// List spuIds = canteenDailyMenuEntities.stream().map(CanteenDailyMenuEntity::getSpuId).distinct().collect(Collectors.toList()); +// LambdaQueryWrapper spuDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// onlineFoodSpuDOLambdaQueryWrapper.in(CanteenSpuEntity::getId, spuIds); +// List list = canteenSpuService.list(spuDOLambdaQueryWrapper); +// // 按 id 分组成 Map +// Map spuEntityMap = list.stream() +// .collect(Collectors.toMap(CanteenSpuEntity::getId, spu -> spu)); +// // 构造新的 VO 列表 +// List dailyMenuVOList = canteenDailyMenuEntities.stream() +// .map(menu -> { +// DailyMenuAppVO vo = new DailyMenuAppVO(); +// BeanUtils.copyProperties(menu, vo); // 拷贝通用属性 +// CanteenSpuEntity spuEntity = spuEntityMap.get(menu.getSpuId()); +// if (spuEntity != null) { +// vo.setSpuId(spuEntity.getId()); +// vo.setStock(spuEntity.getStock()); +// vo.setPrice(spuEntity.getPrice()); +// vo.setPicUrl(spuEntity.getPicUrl()); +// vo.setName(spuEntity.getName()); +// vo.setSort(spuEntity.getSort()); +// vo.setIsShow(spuEntity.getIsShow()); +// // 其他需要的字段 +// } +// return vo; +// }) +// .collect(Collectors.toList()); +//// dailyMenuVOList.sort(Comparator.comparing(DailyMenuAppVO::getSort)); +// // 修改排序逻辑,处理null值情况 +// dailyMenuVOList.sort(Comparator.comparing( +// DailyMenuAppVO::getSort, +// Comparator.nullsFirst(Comparator.naturalOrder()) +// )); +// pageData.setRecords(dailyMenuVOList); - //查询 - LambdaQueryWrapper onlineFoodSpuDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); - onlineFoodSpuDOLambdaQueryWrapper.eq(null != dailyMenuDTO.getCategoryId(), CanteenSpuEntity::getCategoryId, dailyMenuDTO.getCategoryId()); - onlineFoodSpuDOLambdaQueryWrapper.eq(CanteenSpuEntity::getIsShow, "1"); - List spuEntities = canteenSpuService.list(onlineFoodSpuDOLambdaQueryWrapper); - - if (CollectionUtils.isNotEmpty(spuEntities)){ - List spuIds = spuEntities.stream().map(CanteenSpuEntity::getId).collect(Collectors.toList()); - canteenDailyMenuEntityLambdaQueryWrapper.notIn(CanteenDailyMenuEntity::getSpuId, spuIds); - } - - Page pageData = baseMapper.selectPage(page, canteenDailyMenuEntityLambdaQueryWrapper); - List canteenDailyMenuEntities = pageData.getRecords(); - if (CollectionUtils.isNotEmpty(canteenDailyMenuEntities)) { - List spuIds = canteenDailyMenuEntities.stream().map(CanteenDailyMenuEntity::getSpuId).distinct().collect(Collectors.toList()); - LambdaQueryWrapper spuDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); - onlineFoodSpuDOLambdaQueryWrapper.in(CanteenSpuEntity::getId, spuIds); - List list = canteenSpuService.list(spuDOLambdaQueryWrapper); - // 按 id 分组成 Map - Map spuEntityMap = list.stream() - .collect(Collectors.toMap(CanteenSpuEntity::getId, spu -> spu)); - // 构造新的 VO 列表 - List dailyMenuVOList = canteenDailyMenuEntities.stream() - .map(menu -> { - DailyMenuAppVO vo = new DailyMenuAppVO(); - BeanUtils.copyProperties(menu, vo); // 拷贝通用属性 - CanteenSpuEntity spuEntity = spuEntityMap.get(menu.getSpuId()); - if (spuEntity != null) { - vo.setSpuId(spuEntity.getId()); - vo.setStock(spuEntity.getStock()); - vo.setPrice(spuEntity.getPrice()); - vo.setPicUrl(spuEntity.getPicUrl()); - vo.setName(spuEntity.getName()); - vo.setSort(spuEntity.getSort()); - vo.setIsShow(spuEntity.getIsShow()); - // 其他需要的字段 - } - return vo; - }) - .collect(Collectors.toList()); -// dailyMenuVOList.sort(Comparator.comparing(DailyMenuAppVO::getSort)); - // 修改排序逻辑,处理null值情况 - dailyMenuVOList.sort(Comparator.comparing( - DailyMenuAppVO::getSort, - Comparator.nullsFirst(Comparator.naturalOrder()) - )); - pageData.setRecords(dailyMenuVOList); + Page pageData=baseMapper.selectTimeFoodPage(page,dailyMenuDTO); return pageData; - } +// } - return null; +// return null; } // 发送mq消息 diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml index 22db42b53..28fe8003a 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml @@ -82,4 +82,35 @@ + \ No newline at end of file