diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/hard/PanelPorductVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/hard/PanelPorductVo.java index b09f2291d..e0a3fbe5e 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/hard/PanelPorductVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/hard/PanelPorductVo.java @@ -113,6 +113,20 @@ public class PanelPorductVo { } + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class ProductListByTimeItemVo { + + private String timeStr; + + private LocalDateTime time; + + private List list; + + } + @Data @Builder @AllArgsConstructor diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/panel/PanelNutritionController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/panel/PanelNutritionController.java index 963f5036c..d7c7c6df0 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/panel/PanelNutritionController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/panel/PanelNutritionController.java @@ -100,7 +100,7 @@ public class PanelNutritionController { @PostMapping(value = "/repurchase") @Operation(summary = "复购排行榜") public R> repurchase(@RequestBody PanelProductDto dto) { - dto.setDateRangeType(DateRangeTypeEnum.THIS_YEAR); + dto.setDateRangeType(DateRangeTypeEnum.TODAY); if (ObjectUtil.isNotEmpty(dto.getDateRangeType()) && ObjectUtil.isEmpty(dto.getTotalTimeList())) { dto.setTotalTimeList(DateRangeTool.transitionDateTypeToDateTimeList(dto.getDateRangeType())); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/panel/PanelShopController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/panel/PanelShopController.java index be9a386b0..d5b9b49d5 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/panel/PanelShopController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/panel/PanelShopController.java @@ -146,4 +146,19 @@ public class PanelShopController { return R.ok(panelShopService.todayTrend(dto)); } + + @PostMapping(value = "/hot-product") + @Operation(summary = "热卖商品") + public R> hotProduct(@RequestBody PanelProductDto dto) { + dto.setDateRangeType(DateRangeTypeEnum.THIS_WEEK); + if (ObjectUtil.isNotEmpty(dto.getDateRangeType()) && ObjectUtil.isEmpty(dto.getTotalTimeList())) { + dto.setTotalTimeList(DateRangeTool.transitionDateTypeToDateTimeList(dto.getDateRangeType())); + } + dto.setMchTypeCodes(List.of(MerchantTypeEnum.SELF_SUPERMARKET.getType())); + dto.setOrderStatus(HardOrderStatusEnum.getPayPrice()); + dto.setLimit(10L); + return R.ok(panelShopService.hotProduct(dto)); + } + + } 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 13b16f645..2c6d75541 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 @@ -168,4 +168,6 @@ public interface HardOrderMapper extends PjcloudBaseMapper { List shopGroupByMonthAndHourType(@Param("dto") PanelProductDto dto); List shopGroupByTimeAndHourType(@Param("dto") PanelProductDto dto); + + List shopGroupByProduct(@Param("dto") PanelProductDto dto); } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/PanelShopService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/PanelShopService.java index 71668485b..ab4bcfd0c 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/PanelShopService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/PanelShopService.java @@ -26,4 +26,9 @@ public interface PanelShopService { * 当天超市购买次数趋势统计 */ List todayTrend(PanelProductDto dto); + + /** + * 热卖商品 + */ + List hotProduct(PanelProductDto dto); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/panel/PanelShopServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/panel/PanelShopServiceImpl.java index 27cb42f8f..c8d3fd377 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/panel/PanelShopServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/panel/PanelShopServiceImpl.java @@ -133,6 +133,14 @@ public class PanelShopServiceImpl implements PanelShopService { return result.stream().sorted(Comparator.comparingInt(PanelPorductVo::getOrder)).toList(); } + /** + * 热卖商品 + */ + @Override + public List hotProduct(PanelProductDto dto) { + return hardOrderMapper.shopGroupByProduct(dto); + } + private void disposePanelCanteenVoSetMchName(List list) { if (ObjectUtil.isEmpty(list)) return; // 商户名 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 b27a5e4cb..150d45bb3 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 @@ -846,4 +846,24 @@ group by date(o.create_time), o.merchant_id order by date(o.create_time), sum(c.product_count) desc + + \ No newline at end of file