diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java index 0f5012359..6d16d86ec 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java @@ -38,6 +38,7 @@ import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -79,13 +80,14 @@ public class HardOrderTotalController { public R> pageListCs(@RequestBody HardOrderDto dto) { dto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); // 查询商户和下面的子商户 - List mchDtoIds = dto.getMchIds(); - if (ObjectUtil.isNotEmpty(mchDtoIds) && mchDtoIds.size() == 1) { - Long mchId = mchDtoIds.get(0); - List mchList = mchService.getByParentId(mchId).getData(); + List mchDtoIds = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(dto.getMerchantId())) { + List mchList = mchService.getByParentId(dto.getMerchantId()).getData(); if (ObjectUtil.isNotEmpty(mchList)) { List mchIds = mchList.stream().map(MchManageVo::getId).toList(); + mchDtoIds.add(dto.getMerchantId()); mchDtoIds.addAll(mchIds); + dto.setMerchantId(null); dto.setMchIds(mchDtoIds); } } @@ -184,6 +186,18 @@ public class HardOrderTotalController { @PreAuthorize("@pms.hasPermission('hard_hardTotal_export_cs')") public void exportTk(HttpServletResponse response, HardOrderDto dto) throws IOException { dto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); + // 查询商户和下面的子商户 + List mchDtoIds = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(dto.getMerchantId())) { + List mchList = mchService.getByParentId(dto.getMerchantId()).getData(); + if (ObjectUtil.isNotEmpty(mchList)) { + List mchIds = mchList.stream().map(MchManageVo::getId).toList(); + mchDtoIds.add(dto.getMerchantId()); + mchDtoIds.addAll(mchIds); + dto.setMerchantId(null); + dto.setMchIds(mchDtoIds); + } + } List list = hardOrderTotalService.listCs(dto); try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(ResourceUtil.getStream("file/商户交易金额汇总.xlsx")).build()) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); 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 7528d3372..5a79ff927 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 @@ -207,6 +207,7 @@ left join hard_manager m on a.hard_id = m.id + and a.hard_id is not null and m.type in