From 740b27cadde1b1f96d475a0ade47d6bd70deab4b Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 06 十一月 2024 16:02:47 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java | 3 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 27 +++++--- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java | 10 +- ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java | 81 ++++++++++++++++++++++---- 5 files changed, 93 insertions(+), 30 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java index e486dd2..6a65354 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java @@ -76,7 +76,8 @@ }else{ tParkingRecordVO.setFeeDuration(tParkingRecordVO.getParkingDuration()-tParkingRecordVO.getFreeDuration()); } - + tParkingRecordVO.setOrderAmount(tParkingRecordVO.getOrderAmount().add(tParkingRecordVO.getTimeoutAmount())); + tParkingRecordVO.setParkingFee(tParkingRecordVO.getOrderAmount()); } pageInfo.setRecords(list); // 查询总数 diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml index 3831658..354d63e 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml @@ -30,7 +30,7 @@ <select id="pageList" resultType="com.ruoyi.chargingPile.api.vo.TParkingRecordVO"> select tpr.id, tpr.code,tpr.app_user_id, tpr.license_plate, tpr.vehicle_color, tpr.charging_order_id, tpr.parking_lot_id, tpr.in_parking_time, tpr.out_parking_time, - tpr.parking_duration, tpr.order_amount, tpr.status, tpr.out_parking_type, tpr.create_time,(tpr.order_amount - tpr.timeout_amount) as parkingFee,tpr.timeout_amount, + tpr.parking_duration, tpr.order_amount, tpr.status, tpr.out_parking_type, tpr.create_time,(tpr.order_amount + tpr.timeout_amount) as parkingFee,tpr.timeout_amount, tpr.free_duration,(tpr.parking_duration - tpr.free_duration) as feeDuration,ts.name as siteName from t_parking_record tpr left join t_parking_lot tpl on tpr.parking_lot_id = tpl.id 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 5f3c9f4..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,8 +128,7 @@ ChargingBillVO res = chargingBillService.chargingBillList1(dto); List<ChargingBillListVO> records = res.getList().getRecords(); accountListVO.setBillCount(records.size()); - accountListVO.setTotalAmount(res.getPaymentAmount().subtract(res.getRefundAmount()) - .subtract(res.getCommissionAmount().setScale(2,BigDecimal.ROUND_DOWN)).subtract(res.getSharingAmount()).setScale(2, BigDecimal.ROUND_DOWN)); + 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)); @@ -287,6 +340,7 @@ 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); // 累加支付金额 @@ -296,9 +350,9 @@ int i =1; for (TChargingOrder tChargingOrder : tChargingOrders) { // 账单信息 - paymentAmount = paymentAmount.add(tChargingOrder.getChargeAmount()); - commissionAmount = commissionAmount.add(tChargingOrder.getPaymentAmount().multiply(bigDecimal1).setScale(2, BigDecimal.ROUND_DOWN)) - ; + 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(); @@ -342,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.getChargeAmount().toString()); + chargingBillPayExport.setPaymentAmount(tChargingOrder.getRechargeAmount().toString()); chargingBillPayExport.setTotal(""); chargingBillPayExports.add(chargingBillPayExport); i++; - bigDecimal = bigDecimal.add(tChargingOrder.getChargeAmount()); + bigDecimal = bigDecimal.add(tChargingOrder.getRechargeAmount()); } if (!chargingBillPayExports.isEmpty()){ chargingBillPayExports.get(0).setTotal(bigDecimal+""); @@ -362,7 +416,8 @@ } chargingBillExport.setPaymentAmount(paymentAmount); chargingBillExport.setRefundAmount(refundAmount); - chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount).setScale(2, BigDecimal.ROUND_DOWN)); + chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount) + .subtract(sharingAmount).setScale(2, BigDecimal.ROUND_DOWN)); chargingBillExports.add(chargingBillExport); // 导出 List<Map<String, Object>> sheetsList = new ArrayList<>(); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java index 4085b34..b97dde3 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java @@ -266,7 +266,7 @@ if (data3!=null)tChargingOrder.setUserName(data3.getName()); // 累加实收金额 支付结算金额 if (tChargingOrder.getChargeAmount()!=null){ - paymentAmount = paymentAmount.add(tChargingOrder.getChargeAmount()); + paymentAmount = paymentAmount.add(tChargingOrder.getRechargeAmount()); } // 总金额 if (tChargingOrder.getOrderAmount()!=null){ @@ -383,7 +383,7 @@ chargingBillVO.setExportList(tChargingOrders); for (TChargingOrder tChargingOrder : tChargingOrders) { if (tChargingOrder.getOrderAmount()!=null){ - paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getChargeAmount()); + paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getRechargeAmount()); } // 累加订单金额 @@ -753,9 +753,9 @@ paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount()); } // 累加订单金额 - if (tChargingOrder.getOrderAmount()!=null){ - orderAmount = orderAmount.add(tChargingOrder.getPaymentAmount()); - orderAmountTotal = orderAmountTotal.add(tChargingOrder.getPaymentAmount()); + if (tChargingOrder.getRechargeAmount()!=null){ + orderAmount = orderAmount.add(tChargingOrder.getRechargeAmount()); + orderAmountTotal = orderAmountTotal.add(tChargingOrder.getRechargeAmount()); } // 累加累计电费 if (tChargingOrder.getElectrovalence()!=null){ diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index 4eec6ac..2ee75d4 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -1216,9 +1216,12 @@ BigDecimal income = new BigDecimal("0"); BigDecimal electronicMoney = new BigDecimal("0"); BigDecimal serviceMoney = new BigDecimal("0"); + BigDecimal commissionMoney = new BigDecimal("0"); + BigDecimal refundMoney = new BigDecimal("0"); + BigDecimal paymentMoney = new BigDecimal("0"); for (ChargingOrderVO chargingOrderVO : list) { - chargingOrderVO.setCommissionAmount(chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006"))); - chargingOrderVO.setPlatFormMoney(chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006"))); + chargingOrderVO.setCommissionAmount(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0")); + chargingOrderVO.setPlatFormMoney(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0")); chargingOrderVO.setUid(chargingOrderVO.getId()+""); TChargingGun data3 = chargingGunClient.getChargingGunById(chargingOrderVO.getChargingGunId()).getData(); TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderVO.getChargingPileId()).getData(); @@ -1259,6 +1262,8 @@ } } for (ChargingOrderVO chargingOrderVO : list1) { + paymentMoney= paymentMoney.add(chargingOrderVO.getPaymentAmount()!=null?chargingOrderVO.getPaymentAmount():new BigDecimal("0")); + commissionMoney = commissionMoney.add(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0")); if (chargingOrderVO.getChargingCapacity()!=null){ total = total.add(chargingOrderVO.getElectricity()); } @@ -1271,17 +1276,19 @@ chargingOrderVO.setChargingSecond(l); time+=l; } - electronicMoney = electronicMoney.add(chargingOrderVO.getElectrovalence()); - serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()); - - income = income.add(chargingOrderVO.getPaymentAmount()); - - - + List<TChargingOrderRefund> list2 = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getRefundStatus, 2) + .eq(TChargingOrderRefund::getChargingOrderId, chargingOrderVO.getId()).list(); + for (TChargingOrderRefund tChargingOrderRefund : list2) { + if (tChargingOrderRefund.getRefundStatus()==2){ + refundMoney = refundMoney.add(tChargingOrderRefund.getRefundTotalAmount()); + } + } + electronicMoney = electronicMoney.add(chargingOrderVO.getElectrovalence()!=null?chargingOrderVO.getElectrovalence():new BigDecimal("0")); + serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge():new BigDecimal("0")); } tCharingOrderVO.setTotal(total); tCharingOrderVO.setTime(time); - tCharingOrderVO.setIncome(income); + tCharingOrderVO.setIncome(income.subtract(commissionMoney)); tCharingOrderVO.setElectronicMoney(electronicMoney); tCharingOrderVO.setServiceMoney(serviceMoney); pageInfo.setRecords(list); -- Gitblit v1.7.1