diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardCarVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardCarVo.java index 59dabb76..7cc03382 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardCarVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardCarVo.java @@ -21,4 +21,9 @@ public class HardCarVo extends HardCarEntity { // 购买次数【统计使用】 private Long payCount; + // 统计使用 + private Long merchantId; + + private String merchantName; + } 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 6826b0ec..d8072519 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 @@ -124,10 +124,16 @@ public class HardCanteenTotalController { return R.ok(canteenTotalService.productTotal(page, dto, null)); } - @Operation(summary = "菜品出售记录", description = "菜品出售记录") + @Operation(summary = "菜品出售统计", description = "菜品出售统计") @PostMapping("/proudct-query") public R> proudctQuery(@ParameterObject Page page, @RequestBody HardCarDto dto) { return R.ok(canteenTotalService.proudctQuery(page, dto)); } + @Operation(summary = "菜品出售商户统计", description = "菜品出售商户统计") + @PostMapping("/proudct-mch-query") + public R> proudctMchQuery(@ParameterObject Page page, @RequestBody HardCarDto dto) { + return R.ok(canteenTotalService.proudctMchQuery(page, dto)); + } + } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardCarMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardCarMapper.java index 3ced5bcf..85c6cb09 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardCarMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardCarMapper.java @@ -37,6 +37,11 @@ public interface HardCarMapper extends PjcloudBaseMapper { Page proudctQuery(Page page, @Param("dto") HardCarDto dto); + /** + * 菜品出售商户统计 + */ + Page proudctMchQuery(Page page, HardCarDto dto); + List listByDept(@Param("dto") HardOrderDto dto, DataScope dataScope); List listByHourType(@Param("dto") HardOrderDto dto); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardCanteenTotalService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardCanteenTotalService.java index fb4d6ebd..7dec6c5f 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardCanteenTotalService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardCanteenTotalService.java @@ -47,10 +47,15 @@ public interface HardCanteenTotalService { Page productTotal(Page page, HardOrderDto dto, DataScope dataScope); /** - * 菜品出售记录 + * 菜品出售统计 */ Page proudctQuery(Page page, HardCarDto dto); + /** + * 菜品出售商户统计 + */ + Page proudctMchQuery(Page page, HardCarDto 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 bb62b299..f3c8045d 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 @@ -188,7 +188,7 @@ public class HardCanteenTotalServiceImpl implements HardCanteenTotalService { } /** - * 菜品出售记录 + * 菜品出售统计 */ @Override public Page proudctQuery(Page page, HardCarDto dto) { @@ -196,6 +196,29 @@ public class HardCanteenTotalServiceImpl implements HardCanteenTotalService { return hardCarMapper.proudctQuery(page, dto); } + /** + * 菜品出售商户统计 + */ + @Override + public Page proudctMchQuery(Page page, HardCarDto dto) { + dto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); + Page pageList = hardCarMapper.proudctMchQuery(page, dto); + List records = pageList.getRecords(); + // 查询商户 + if (ObjectUtil.isNotEmpty(records)) { + List mchIdList = records.stream().map(HardCarVo::getMerchantId).distinct().filter(ObjectUtil::isNotEmpty).toList(); + if (ObjectUtil.isNotEmpty(mchIdList)) { + List mchList = remoteMchService.getByIds(mchIdList).getData(); + if (ObjectUtil.isNotEmpty(mchList)) { + for (HardCarVo i : records) { + mchList.stream().filter(m -> ObjectUtil.equals(i.getMerchantId(), m.getId())).findFirst().ifPresent(mch -> i.setMerchantName(mch.getName())); + } + } + } + } + return pageList; + } + /** * 食堂菜品购买部门统计 */ 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 b7256ed5..7347db5a 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 @@ -231,6 +231,41 @@ order by SUM(a.product_count) desc + + - - \ No newline at end of file