From 67473ebd48956fad160368667887f0ef6ddb74f2 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 02 四月 2026 23:10:04 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 22 +++++++++-------------
1 files changed, 9 insertions(+), 13 deletions(-)
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 4883945..7002466 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
@@ -2361,24 +2361,22 @@
*
* @param vo
*/
- @Transactional
@Override
+ @Transactional
public R endChargeBillingCharge(TransactionRecordMessageVO vo) {
RLock lock = redissonClient.getLock("endOrder:" + vo.getTransaction_serial_number());
try {
boolean tryLock = lock.tryLock(60, 60, TimeUnit.SECONDS);
if(tryLock){
- Object cacheObject = redisService.getCacheObject("chargingOrderStatus:" + vo.getTransaction_serial_number());
- if(null != cacheObject && 5 == (int)cacheObject){
- return R.ok();
- }
TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, vo.getTransaction_serial_number()));
if (null == chargingOrder) {
- return R.ok();
+ log.error("订单不存在,订单号:{}", vo.getTransaction_serial_number());
+ return R.fail("订单不存在,订单号:" + vo.getTransaction_serial_number());
}
Integer status = chargingOrder.getStatus();
if (status == 5) {
- return R.ok();
+ log.info("订单已结算,订单号:{}", vo.getTransaction_serial_number());
+ return R.fail("订单已结算,订单号:" + vo.getTransaction_serial_number());
}
//如果使用优惠券需要判断优惠券是否满足使用条件
@@ -2686,7 +2684,6 @@
chargingOrder.setEndSoc(new BigDecimal(desc.getSoc()));
}
this.updateById(chargingOrder);
- redisService.setCacheObject("chargingOrderStatus:" + vo.getTransaction_serial_number(), 5, 100L, TimeUnit.SECONDS);
chargingOrder = this.getById(chargingOrder.getId());
Site site = siteClient.getSiteByIds(Arrays.asList(chargingOrder.getSiteId())).getData().get(0);
@@ -2809,13 +2806,12 @@
model.setAmount(amount);
R<Map<String, Object>> result = wxPaymentClient.refundOrderR(model);
if (200 == result.getCode()) {
- chargingOrderRefundService.save(chargingOrderRefund);
//手续费
Map<String, Object> amount1 = (Map<String, Object>) result.getData().get("amount");
Object refund_fee1 = amount1.get("refund_fee");
BigDecimal refund_fee = new BigDecimal(null == refund_fee1 ? "0" : refund_fee1.toString()).divide(new BigDecimal(100));
chargingOrderRefund.setRefundFee(refund_fee);
- chargingOrderRefundService.updateById(chargingOrderRefund);
+ chargingOrderRefundService.save(chargingOrderRefund);
}
}
if (2 == rechargePaymentType) {
@@ -2890,7 +2886,7 @@
}
TChargingOrderSummaryData summaryData = new TChargingOrderSummaryData();
summaryData.setChargingOrderId(chargingOrder.getId());
- summaryData.setChargingCapacity(chargingCapacity);
+ summaryData.setChargingCapacity(chargingCapacity.setScale(6, RoundingMode.HALF_EVEN));
summaryData.setChargingDuration(time);
summaryData.setIncome(paymentMoney.setScale(2, BigDecimal.ROUND_HALF_EVEN));
summaryData.setElectricPrice(electronic_reduce.setScale(2, BigDecimal.ROUND_HALF_EVEN));
@@ -4395,10 +4391,10 @@
long between = ChronoUnit.SECONDS.between(startTime, endTime);
time += between;
}
-
+
TChargingOrderSummaryData summaryData = new TChargingOrderSummaryData();
summaryData.setChargingOrderId(chargingOrderVO.getId());
- summaryData.setChargingCapacity(chargingCapacity);
+ summaryData.setChargingCapacity(chargingCapacity.setScale(6, RoundingMode.HALF_EVEN));
summaryData.setChargingDuration(time);
summaryData.setIncome(paymentMoney.setScale(2, BigDecimal.ROUND_HALF_EVEN));
summaryData.setElectricPrice(electronic_reduce.setScale(2, BigDecimal.ROUND_HALF_EVEN));
--
Gitblit v1.7.1