diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/hard/PanelCanteenVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/hard/PanelCanteenVo.java index 24b724761..34fae2692 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/hard/PanelCanteenVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/hard/PanelCanteenVo.java @@ -14,6 +14,11 @@ import java.util.List; @NoArgsConstructor public class PanelCanteenVo { + /** + * 商品名 + */ + private String productName; + /** * 用餐时间段(早中晚) */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java index deeb74537..b58ff08e1 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java @@ -140,4 +140,9 @@ public interface HardOrderMapper extends PjcloudBaseMapper { * 用餐数据统计(根据时间段和日期分类统计) */ List groupByTimeAndHourType(@Param("dto") PanelCanteenDto dto); + + /** + * 用餐数据统计(根据时间段和日期分类统计) + */ + List top(@Param("dto") PanelCanteenDto dto); } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index dfce50910..68a41257e 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -1,5 +1,7 @@ package com.bsd.pjcloud.hard.service.impl.order; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; import cn.hutool.json.JSONUtil; @@ -1376,9 +1378,31 @@ public class HardOrderServiceImpl extends ServiceImpl userIds = list.stream().map(HardOrderVo::getUserId).filter(ObjectUtil::isNotEmpty).distinct().toList(); if (ObjectUtil.isNotEmpty(userIds)) { - List userList = userService.getUserDeptByIds(new ArrayList<>(userIds)).getData(); + List userList = userService.getUserDeptByIds(userIds).getData(); if (ObjectUtil.isNotEmpty(userList)) { - DataUtil.convertUserDeptList(list, CollectionUtils.convertMap(userList, UserVO::getUserId)); + Map map = CollectionUtils.convertMap(userList, UserVO::getUserId); + for (HardOrderVo item : list) { + UserVO userVO = map.get(item.getUserId()); + if (ObjectUtil.isEmpty(userVO)) continue; + item.setUsername(userVO.getName()); + item.setUserMobile(userVO.getPhone()); + item.setUserAvatar(userVO.getAvatar()); + } + } + } + }); + // 当前部门 + CompletableFuture currentDeptFuture = CompletableFuture.runAsync(() -> { + RequestContextHolder.setRequestAttributes(requestAttributes); + List deptIds = list.stream().map(HardOrderVo::getUserDeptId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(deptIds)) { + Map deptList = deptService.getDeptByDeptIds(deptIds).getData(); + if (ObjectUtil.isNotEmpty(deptList)) { + for (HardOrderVo item : list) { + SysDept dept = deptList.get(item.getUserDeptId()); + if (ObjectUtil.isEmpty(dept)) continue; + item.setUserDeptName(dept.getName()); + } } } }); @@ -1428,6 +1452,6 @@ public class HardOrderServiceImpl extends ServiceImpl groupByTimeAndCustomHour(PanelCanteenDto dto) { - return List.of(); + return null; } /** @@ -85,7 +85,7 @@ public class PanelCanteenServiceImpl implements PanelCanteenService { */ @Override public List top(PanelCanteenDto dto) { - return null; + return hardOrderMapper.top(dto); } private List generatePanelCanteenList(LocalDateTime[] totalTimeList) { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml index fe7039d37..da11eef8b 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml @@ -577,4 +577,27 @@ + + \ No newline at end of file