From 307b332e4a239c53788ab8b464877c9e4dc5cfaf Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 13 Aug 2025 21:13:20 +0800 Subject: [PATCH] 11 --- .../controller/CanteenCategoryController.java | 2 +- .../order/HardCanteenTotalController.java | 4 +-- .../order/HardCanteenTotalServiceImpl.java | 34 +++++++++++++++---- .../resources/mapper/order/HardCarMapper.xml | 3 ++ 4 files changed, 32 insertions(+), 11 deletions(-) diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenCategoryController.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenCategoryController.java index fe9b76cb8..7950861e2 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenCategoryController.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenCategoryController.java @@ -145,7 +145,7 @@ public class CanteenCategoryController { wrapper.like(StringUtils.isNotBlank(name), CanteenCategoryEntity::getName, name); wrapper.orderByAsc(CanteenCategoryEntity::getSort); wrapper.apply(StringUtils.isNotEmpty(categoryType), "FIND_IN_SET({0}, your_column_name)", categoryType); - List list = canteenCategoryService.listScope(wrapper); + List list = canteenCategoryService.list(wrapper); return R.ok(list); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCanteenTotalController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCanteenTotalController.java index 5a2c7bd46..c2628bbf1 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCanteenTotalController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCanteenTotalController.java @@ -59,13 +59,12 @@ public class HardCanteenTotalController { /** * 近一周各个食堂菜品购买统计 */ - @Inner(value = false) @Operation(summary = "近一周各个食堂菜品购买统计", description = "近一周各个食堂菜品购买统计") @PostMapping("/app/product-by-canteen") public R>>> productByCanteen(@RequestBody HardAppProductByCanteenDto dto) { PjcloudUser user = SecurityUtils.getUser(); if (ObjectUtil.isNotEmpty(user)) { - dto.setUserId(user.getId()); + // dto.setUserId(user.getId()); } return R.ok(canteenTotalService.productByCanteen(dto)); } @@ -73,7 +72,6 @@ public class HardCanteenTotalController { /** * 个人菜品喜好排行 */ - @Inner(value = false) @Operation(summary = "个人菜品喜好排行", description = "个人菜品喜好排行") @PostMapping("/app/product-like-top") public R> productLikeTop(@RequestBody HardAppProductLikeTopDto dto) { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardCanteenTotalServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardCanteenTotalServiceImpl.java index 6d6492112..466b7dbf1 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardCanteenTotalServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardCanteenTotalServiceImpl.java @@ -10,6 +10,7 @@ import com.bsd.pjcloud.canteen.api.feign.RemoteCanteenCategoryService; import com.bsd.pjcloud.canteen.entity.CanteenCategoryEntity; import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; +import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum; import com.bsd.pjcloud.hard.api.constant.total.DateRangeTypeEnum; @@ -114,6 +115,7 @@ public class HardCanteenTotalServiceImpl implements HardCanteenTotalService { } List totalList = hardCarMapper.productByCanteen(dto); + disposeProductByCanteen(totalList); if (ObjectUtil.isNotEmpty(totalList)) { for (Map> map : result) { @@ -121,13 +123,13 @@ public class HardCanteenTotalServiceImpl implements HardCanteenTotalService { String canteenName = entry.getKey(); List currentCanteenList = entry.getValue(); for (HardAppProductByCanteenVo vo : currentCanteenList) { - dateList.stream().filter(item -> ObjectUtil.equals(item.getCanteenName(), canteenName) && ObjectUtil.equals(item.getTime(), vo.getTime())).findFirst().ifPresent(target -> { - target.setCanteenId(vo.getCanteenId()); - target.setCanteenName(canteenName); - target.setPayCount(vo.getPayCount()); - target.setTotalPrice(vo.getTotalPrice()); - target.setTimeCount(vo.getTimeCount()); - target.setPayUserCount(vo.getPayUserCount()); + totalList.stream().filter(item -> ObjectUtil.equals(item.getCanteenName(), canteenName) && ObjectUtil.equals(item.getTime(), vo.getTime())).findFirst().ifPresent(target -> { + vo.setCanteenId(target.getCanteenId()); + vo.setCanteenName(canteenName); + vo.setPayCount(target.getPayCount()); + vo.setTotalPrice(target.getTotalPrice()); + vo.setTimeCount(target.getTimeCount()); + vo.setPayUserCount(target.getPayUserCount()); }); } } @@ -340,4 +342,22 @@ public class HardCanteenTotalServiceImpl implements HardCanteenTotalService { } } } + + private void disposeProductByCanteen(List list) { + if (ObjectUtil.isEmpty(list)) return; + // 处理商户 + List canteenIdList = list.stream().map(HardAppProductByCanteenVo::getCanteenId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(canteenIdList)) { + List mchList = remoteMchService.getByIds(canteenIdList).getData(); + if (ObjectUtil.isNotEmpty(mchList)) { + Map mchMap = CollectionUtils.convertMap(mchList, MchManageVo::getId); + for (HardAppProductByCanteenVo i : list) { + MchManageVo mch = mchMap.get(i.getCanteenId()); + if (ObjectUtil.isNotEmpty(mch)) { + i.setCanteenName(mch.getName()); + } + } + } + } + } } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardCarMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardCarMapper.xml index 0fac99a77..84a3b8377 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardCarMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardCarMapper.xml @@ -300,6 +300,7 @@ left join pjcloudx_canteen.canteen_spu s on a.product_id = s.id a.del_flag = '0' + and s.category_id is not null and o.user_id = #{dto.userId} @@ -318,6 +319,7 @@ group by s.category_id order by s.category_id + limit 5