From 73be7ff2317fea8194b7a6dc0452b64a511c7836 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 06 十一月 2024 18:42:38 +0800 Subject: [PATCH] 合并代码 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java | 107 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 83 insertions(+), 24 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java index 09f102d..b377ae8 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java @@ -41,11 +41,9 @@ import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; /** * <p> @@ -66,7 +64,63 @@ private SiteClient siteClient; @Resource private TChargingOrderService chargingOrderService; - +// @GetMapping(value = "/test") +// public R accountAdd() { +// TChargingBill tChargingBill = new TChargingBill(); +// Random random = new Random(); +// String randomDigits = random.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 +// .mapToObj(String::valueOf) +// .collect(Collectors.joining()); // 将其连接成一个字符串 +// tChargingBill.setCode("JSD"+randomDigits ); +// tChargingBill.setType(1); +// tChargingBill.setSiteId(0); +// tChargingBill.setBillTime(LocalDateTime.now().plusDays(1)); +// tChargingBill.setStatus(1); +// tChargingBill.setOrderState(2); +// tChargingBill.setBillType(1); +// chargingBillService.save(tChargingBill); +// TChargingBill tChargingBill1 = new TChargingBill(); +// Random random1 = new Random(); +// String randomDigits1 = random1.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 +// .mapToObj(String::valueOf) +// .collect(Collectors.joining()); // 将其连接成一个字符串 +// tChargingBill1.setCode("JSD"+randomDigits1); +// tChargingBill1.setType(2); +// tChargingBill1.setSiteId(13); +// tChargingBill1.setBillTime(LocalDateTime.now().plusDays(1)); +// tChargingBill1.setStatus(1); +// tChargingBill1.setOrderState(2); +// tChargingBill1.setBillType(1); +// chargingBillService.save(tChargingBill1); +// +// TChargingBill tChargingBil3 = new TChargingBill(); +// Random random2 = new Random(); +// String randomDigits2 = random2.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 +// .mapToObj(String::valueOf) +// .collect(Collectors.joining()); // 将其连接成一个字符串 +// tChargingBil3.setCode("JSD"+randomDigits2 ); +// tChargingBil3.setType(1); +// tChargingBil3.setSiteId(0); +// tChargingBil3.setBillTime(LocalDateTime.now().plusDays(1)); +// tChargingBil3.setStatus(1); +// tChargingBil3.setOrderState(2); +// tChargingBil3.setBillType(2); +// chargingBillService.save(tChargingBil3); +// TChargingBill tChargingBill14 = new TChargingBill(); +// Random random3 = new Random(); +// String randomDigits3 = random3.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 +// .mapToObj(String::valueOf) +// .collect(Collectors.joining()); // 将其连接成一个字符串 +// tChargingBill14.setCode("JSD"+randomDigits3); +// tChargingBill14.setType(2); +// tChargingBill14.setSiteId(13); +// tChargingBill14.setBillTime(LocalDateTime.now().plusDays(1)); +// tChargingBill14.setStatus(1); +// tChargingBill14.setOrderState(2); +// tChargingBill14.setBillType(2); +// chargingBillService.save(tChargingBill14); +// return R.ok(); +// } @PostMapping(value = "/accountBillList") @ApiOperation(value = "列表查询", tags = {"管理后台-账户结算账单"}) public R<AccountListVO> accountBillList(@RequestBody ChargingListQuery dto) { @@ -74,12 +128,13 @@ ChargingBillVO res = chargingBillService.chargingBillList1(dto); List<ChargingBillListVO> records = res.getList().getRecords(); accountListVO.setBillCount(records.size()); - accountListVO.setTotalAmount(res.getOrderAmount()); - accountListVO.setPaymentAmount(res.getPaymentAmount()); - accountListVO.setRefundAmount(res.getRefundAmount()); - accountListVO.setCommissionAmount(res.getCommissionAmount()); - accountListVO.setSharingAmount(res.getSharingAmount()); + accountListVO.setTotalAmount(res.getPaymentAmount().subtract(res.getRefundAmount()).subtract(res.getCommissionAmount()).subtract(res.getSharingAmount()).setScale(2, BigDecimal.ROUND_DOWN)); + accountListVO.setPaymentAmount(res.getPaymentAmount().setScale(2, BigDecimal.ROUND_DOWN)); + accountListVO.setRefundAmount(res.getRefundAmount().setScale(2, BigDecimal.ROUND_DOWN)); + accountListVO.setCommissionAmount(res.getCommissionAmount().setScale(2, BigDecimal.ROUND_DOWN)); + accountListVO.setSharingAmount(res.getSharingAmount().setScale(2, BigDecimal.ROUND_DOWN)); accountListVO.setList(res.getList()); + accountListVO.setOrderList(res.getExportList()); return R.ok(accountListVO); } @PostMapping(value = "/chargingBillList") @@ -245,14 +300,12 @@ chargingBillExport.setCode(byId.getCode()); chargingBillExport.setAccountType("微信商户"); chargingBillExport.setType(byId.getType().toString()); - chargingBillExport.setBillType("月账单"); LocalDateTime billTime = byId.getBillTime(); // 将billTime 减去一个月 转化为yyyy-MM格式字符串 billTime = billTime.minusMonths(1); chargingBillExport.setBillWeek(DateUtils.parseDateToStr("yyyy-MM",DateUtils.toDate(billTime))); chargingBillExport.setBillTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(billTime))); - chargingBillExport.setState("未出账"); List<Site> data = siteClient.getSiteByIds(Arrays.asList(byId.getSiteId())).getData(); if (!data.isEmpty()){ chargingBillExport.setSiteName(data.get(0).getName()); @@ -286,17 +339,20 @@ } BigDecimal paymentAmount = new BigDecimal("0"); BigDecimal refundAmount = new BigDecimal("0"); + BigDecimal commissionAmount = new BigDecimal("0"); + BigDecimal sharingAmount = new BigDecimal("0"); List<TChargingOrder> tChargingOrders = chargingOrderService.list(eq); // 累加支付金额 BigDecimal bigDecimal = new BigDecimal("0"); + BigDecimal bigDecimal1 = new BigDecimal("0.006"); + int i =1; for (TChargingOrder tChargingOrder : tChargingOrders) { // 账单信息 - paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()); - if (tChargingOrder.getRefundStatus()!=null && tChargingOrder.getRefundStatus()==2){ - refundAmount = refundAmount.add(tChargingOrder.getRefundAmount()); - } + paymentAmount = paymentAmount.add(tChargingOrder.getRechargeAmount()); + commissionAmount = commissionAmount.add(tChargingOrder.getPaymentAmount().multiply(bigDecimal1).setScale(2, BigDecimal.ROUND_DOWN)); + sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount()); // 退款信息 ChargingBillRefundExport chargingBillRefundExport = new ChargingBillRefundExport(); ChargingBillPayExport chargingBillPayExport = new ChargingBillPayExport(); @@ -316,13 +372,17 @@ chargingBillPayExport.setPlatformPay("支付宝小程序支付"); } - List<TChargingOrderRefund> one1 = tChargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getChargingOrderId, tChargingOrder.getId()).list(); + List<TChargingOrderRefund> one1 = tChargingOrderRefundService.lambdaQuery() + .eq(TChargingOrderRefund::getChargingOrderId, tChargingOrder.getId()) + .eq(TChargingOrderRefund::getRefundStatus, 2) + .list(); for (TChargingOrderRefund one : one1) { + refundAmount= refundAmount.add(one.getRefundAmount()); chargingBillRefundExport.setRechargeSerialNumber(tChargingOrder.getRechargeSerialNumber()); chargingBillRefundExport.setCode(tChargingOrder.getCode()); chargingBillRefundExport.setPayTime(tChargingOrder.getCreateTime()!=null?DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getCreateTime())):""); - if (tChargingOrder.getRefundTime()!=null){ - chargingBillRefundExport.setRefundTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getRefundTime()))); + if (one.getRefundTime()!=null){ + chargingBillRefundExport.setRefundTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(one.getRefundTime()))); } chargingBillRefundExport.setRefundMoney(one.getRefundAmount().toString()); chargingBillRefundExport.setRefundRemark(one.getRefundReason()); @@ -336,11 +396,11 @@ chargingBillPayExport.setRechargeSerialNumber(tChargingOrder.getRechargeSerialNumber()); chargingBillPayExport.setCode(tChargingOrder.getCode()); chargingBillPayExport.setPayTime(tChargingOrder.getPayTime()!=null?DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getPayTime())):""); - chargingBillPayExport.setPaymentAmount(tChargingOrder.getOrderAmount().toString()); + chargingBillPayExport.setPaymentAmount(tChargingOrder.getRechargeAmount().toString()); chargingBillPayExport.setTotal(""); chargingBillPayExports.add(chargingBillPayExport); i++; - bigDecimal = bigDecimal.add(tChargingOrder.getOrderAmount()); + bigDecimal = bigDecimal.add(tChargingOrder.getRechargeAmount()); } if (!chargingBillPayExports.isEmpty()){ chargingBillPayExports.get(0).setTotal(bigDecimal+""); @@ -353,13 +413,12 @@ String name = data1.get(0).getName(); chargingBillExport.setSiteName(name); } - } chargingBillExport.setPaymentAmount(paymentAmount); chargingBillExport.setRefundAmount(refundAmount); - chargingBillExport.setIncome(paymentAmount.subtract(refundAmount)); + chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount) + .subtract(sharingAmount).setScale(2, BigDecimal.ROUND_DOWN)); chargingBillExports.add(chargingBillExport); - // 导出 List<Map<String, Object>> sheetsList = new ArrayList<>(); for (int i1 = 1; i1 <= 3; i1++) { -- Gitblit v1.7.1