From 5a3d9a4a119982785c1e2b018e1fc09081a00697 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 23 Oct 2025 15:25:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=95=86=E6=88=B7=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/order/excel/HardMchOrderExcelVo.java | 50 ++++++++++ .../order/HardOrderTotalController.java | 90 +++++++++++++++++- .../hard/mapper/order/HardOrderMapper.java | 2 + .../main/resources/file/商户交易流水导出.xlsx | Bin 0 -> 10132 bytes .../mapper/order/HardOrderMapper.xml | 22 +++++ .../resources/mapper/WalletManageMapper.xml | 12 +-- 6 files changed, 166 insertions(+), 10 deletions(-) create mode 100644 pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/excel/HardMchOrderExcelVo.java create mode 100644 pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/商户交易流水导出.xlsx diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/excel/HardMchOrderExcelVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/excel/HardMchOrderExcelVo.java new file mode 100644 index 000000000..edac50125 --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/excel/HardMchOrderExcelVo.java @@ -0,0 +1,50 @@ +package com.bsd.pjcloud.hard.api.vo.order.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 商户流水导出 + */ +@Data +@ColumnWidth(30) +public class HardMchOrderExcelVo { + + @ExcelProperty("商户") + private String merchantName; + + @ExcelProperty("姓名") + private String username; + + @ExcelProperty("手机号") + private String userMobile; + + @ExcelProperty("支付方式") + private String payType; + + @ExcelProperty("商品总价") + private Double totalPrice; + + @ExcelProperty("额外支付") + private Double extraPrice; + + @ExcelProperty("实际支付") + private Double payPrice; + + @ExcelProperty("退款金额") + private Double refundPrice; + + @ExcelProperty("订单支付时间") + private LocalDateTime payTime; + + /** + * 导出相关 + */ + @Schema(description = "列号") + private Long lineNumber; + +} 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 e1a02c57e..0a5a3a4f2 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 @@ -12,7 +12,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.admin.api.dto.UserInfo; import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; +import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; @@ -21,11 +23,11 @@ import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum; import com.bsd.pjcloud.hard.api.constant.order.HardPayTypeEnum; import com.bsd.pjcloud.hard.api.dto.order.HardDeptTotalDto; import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; -import com.bsd.pjcloud.hard.api.vo.order.HardDeptTotalVo; -import com.bsd.pjcloud.hard.api.vo.order.HardOrderCsVo; -import com.bsd.pjcloud.hard.api.vo.order.HardOrderPayTypeVo; -import com.bsd.pjcloud.hard.api.vo.order.HardOrderSbVo; +import com.bsd.pjcloud.hard.api.vo.order.*; +import com.bsd.pjcloud.hard.api.vo.order.excel.HardMchOrderExcelVo; +import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper; import com.bsd.pjcloud.hard.service.HardManagerService; +import com.bsd.pjcloud.hard.service.HardOrderService; import com.bsd.pjcloud.hard.service.HardOrderTotalService; import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; import com.bsd.pjcloud.wallet.api.vo.MchManageVo; @@ -54,9 +56,12 @@ import java.util.Map; @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class HardOrderTotalController { + private final HardOrderService hardOrderService; private final HardOrderTotalService hardOrderTotalService; private final HardManagerService hardManagerService; + private final HardOrderMapper hardOrderMapper; + private final RemoteMchService mchService; private final RemoteUserService userService; @@ -222,6 +227,83 @@ public class HardOrderTotalController { } } + @Operation(summary = "单个商户交易流水导出", description = "单个商户交易流水导出") + @PostMapping("/export-mch-cs") + @SysLog("单个商户交易流水导出") + public void exportMchCs(HttpServletResponse response, @RequestBody HardOrderDto dto) throws IOException { + dto.setOrderStatusCodes(HardOrderStatusEnum.getPayPrice()); + // 查询商户和下面的子商户 + 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); + } + } + // 查询商户 + MchManageVo mch = mchService.getById(dto.getMerchantId()).getData(); + if (ObjectUtil.isEmpty(mch)) throw new RuntimeException("商户不存在"); + + Long count = hardOrderMapper.count(dto, DataScope.of()); + if (count > 5000) throw new RuntimeException("导出数据超出5000条,请缩小查询范围"); + List list = hardOrderService.scopeList(dto, DataScope.of()); + List excelList = BeanUtils.toBean(list, HardMchOrderExcelVo.class); + + try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(ResourceUtil.getStream("file/商户交易流水导出.xlsx")).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); + Map map = new HashMap(); + if (ObjectUtil.isNotEmpty(dto.getPayTimeList())) { + map.put("timeSpan", " 到 "); + map.put("startTime", LocalDateTimeUtil.format(dto.getPayTimeList()[0], DatePattern.NORM_DATETIME_PATTERN)); + map.put("endTime", LocalDateTimeUtil.format(dto.getPayTimeList()[1], DatePattern.NORM_DATETIME_PATTERN)); + } + map.put("merchantName", mch.getName()); + if (ObjectUtil.isNotEmpty(excelList)) { + BigDecimal totalPriceSum = BigDecimal.ZERO; + BigDecimal extraPriceSum = BigDecimal.ZERO; + BigDecimal payPriceSum = BigDecimal.ZERO; + BigDecimal refundPriceSum = BigDecimal.ZERO; + Long lineNumber = 1L; + for (HardMchOrderExcelVo v : excelList) { + v.setLineNumber(lineNumber); + lineNumber++; + if (ObjectUtil.isNotEmpty(v.getTotalPrice())) { + totalPriceSum = totalPriceSum.add(BigDecimal.valueOf(v.getTotalPrice())); + v.setTotalPrice(BigDecimal.valueOf(v.getTotalPrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).doubleValue()); + } + if (ObjectUtil.isNotEmpty(v.getExtraPrice())) { + extraPriceSum = extraPriceSum.add(BigDecimal.valueOf(v.getExtraPrice())); + v.setExtraPrice(BigDecimal.valueOf(v.getExtraPrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).doubleValue()); + } + if (ObjectUtil.isNotEmpty(v.getPayPrice())) { + payPriceSum = payPriceSum.add(BigDecimal.valueOf(v.getPayPrice())); + v.setPayPrice(BigDecimal.valueOf(v.getPayPrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).doubleValue()); + } + if (ObjectUtil.isNotEmpty(v.getRefundPrice())) { + refundPriceSum = refundPriceSum.add(BigDecimal.valueOf(v.getRefundPrice())); + v.setRefundPrice(BigDecimal.valueOf(v.getRefundPrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).doubleValue()); + } + if (ObjectUtil.isNotEmpty(v.getPayType())) { + HardPayTypeEnum hardPayTypeEnum = HardPayTypeEnum.valueOfByType(v.getPayType()); + if (ObjectUtil.isNotEmpty(hardPayTypeEnum)) { + v.setPayType(hardPayTypeEnum.getDescription()); + } + } + } + map.put("totalPriceSum", totalPriceSum.divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).toString()); + map.put("extraPriceSum", extraPriceSum.divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).toString()); + map.put("payPriceSum", payPriceSum.divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).toString()); + map.put("refundPriceSum", refundPriceSum.divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).toString()); + } + excelWriter.fill(map, writeSheet); + excelWriter.fill(excelList, fillConfig, writeSheet); + } + } @Operation(summary = "商户交易记录导出", description = "商户交易记录导出") @PostMapping("/export-cs") 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 7f5ea38d6..1c4472a2f 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 @@ -112,6 +112,8 @@ public interface HardOrderMapper extends PjcloudBaseMapper { List scopeList(@Param("dto") HardOrderDto dto, DataScope dataScope); + Long count(HardOrderDto dto, DataScope dataScope); + List listSb(@Param("dto") HardOrderDto dto, DataScope dataScope); List listRefundSb(@Param("dto") HardOrderDto refundDto, @Param("refundDataScope") DataScope refundDataScope); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/商户交易流水导出.xlsx b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/商户交易流水导出.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..943218ced68cb26eaaa6faf46e97d27681647f93 GIT binary patch literal 10132 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 literal 0 HcmV?d00001 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 fb9d5dc12..045f97bf2 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 @@ -231,6 +231,28 @@ + +