From df65f525e22b3c8c54083fb3c25c81c21c1b00f3 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 27 二月 2025 16:19:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 64 +++++++++++++++++++++++++-------
1 files changed, 50 insertions(+), 14 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 122a6b8..6a24a15 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
@@ -859,7 +859,7 @@
chargingGun.setStatus(4);
chargingGunClient.updateChargingGunById(chargingGun);
//推送状态给三方平台
- tcecClient.pushChargingGunStatus(chargingGun.getId(), chargingGun.getStatus());
+ tcecClient.pushChargingGunStatus(chargingGun.getFullNumber(), chargingGun.getStatus());
}
redisService.setCacheObject("AQJC_" + order.getChargingGunId(), preChargeCheck1, 24L, TimeUnit.HOURS);
this.updateById(order);
@@ -915,9 +915,15 @@
amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue());
amount.setCurrency("CNY");
model.setAmount(amount);
- R<String> orderR = wxPaymentClient.refundOrderR(model);
+ R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model);
if(200 == orderR.getCode()){
chargingOrderRefundService.save(chargingOrderRefund);
+ //手续费
+ Map<String, Object> amount1 = (Map<String, Object>) orderR.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);
}
}
if(2 == rechargePaymentType){
@@ -1323,8 +1329,8 @@
}
}
- 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.setCommissionAmount(chargingOrderVO.getRechargeAmount()!=null?chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0"));
+ chargingOrderVO.setPlatFormMoney(chargingOrderVO.getRechargeAmount()!=null?chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
chargingOrderVO.setUid(chargingOrderVO.getId()+"");
TChargingGun data3 = allGun.stream().filter(e->e.getId().equals(chargingOrderVO.getChargingGunId())).findFirst().orElse(null);
TChargingPile data2 = allPile.stream().filter(e->e.getId().equals(chargingOrderVO.getChargingPileId())).findFirst().orElse(null);
@@ -1378,7 +1384,9 @@
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.getRechargeAmount()!=null){
+ commissionMoney = commissionMoney.add(chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN));
+ }
if (chargingOrderVO.getChargingCapacity()!=null){
total = total.add(chargingOrderVO.getElectricity()!=null?chargingOrderVO.getElectricity():new BigDecimal("0"));
}
@@ -1399,7 +1407,8 @@
}
tCharingOrderVO.setTotal(total);
tCharingOrderVO.setTime(time);
- tCharingOrderVO.setIncome(paymentMoney.subtract(commissionMoney));
+// tCharingOrderVO.setIncome(paymentMoney.subtract(commissionMoney));
+ tCharingOrderVO.setIncome(paymentMoney);
tCharingOrderVO.setElectronicMoney(electronicMoney);
tCharingOrderVO.setServiceMoney(serviceMoney);
pageInfo.setRecords(list);
@@ -1577,7 +1586,7 @@
chargingOrderListVO.setChargingCapacity(chargingOrderListVO.getElectricity());
BigDecimal bigDecimal = new BigDecimal("0.006");
if (chargingOrderListVO.getOrderAmount()!=null){
- chargingOrderListVO.setCommissionAmount(chargingOrderListVO.getPaymentAmount().multiply(bigDecimal));
+ chargingOrderListVO.setCommissionAmount(chargingOrderListVO.getRechargeAmount().multiply(bigDecimal));
}
chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getPaymentAmount());
chargingOrderListVO.setUid(chargingOrderListVO.getId()+"");
@@ -2007,6 +2016,9 @@
@GlobalTransactional(rollbackFor = Exception.class)
public R endChargeBillingCharge(TransactionRecordMessageVO vo) {
TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, vo.getTransaction_serial_number()));
+ if(null == chargingOrder){
+ return R.ok();
+ }
Integer status = chargingOrder.getStatus();
if(status == 5){
return R.ok();
@@ -2358,7 +2370,7 @@
chargingGunClient.updateChargingGunById(chargingGun);
//推送状态给三方平台
if(2 == chargingOrder.getOrderSource()){
- tcecClient.pushChargingGunStatus(chargingGun.getId(), chargingGun.getStatus());
+ tcecClient.pushChargingGunStatus(chargingGun.getFullNumber(), chargingGun.getStatus());
}
//添加积分
@@ -2428,9 +2440,15 @@
amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue());
amount.setCurrency("CNY");
model.setAmount(amount);
- R<String> orderR = wxPaymentClient.refundOrderR(model);
- if(200 == orderR.getCode()){
+ 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);
}
}
if(2 == rechargePaymentType){
@@ -2586,12 +2604,18 @@
amount.setTotal(tChargingOrder.getRechargeAmount().multiply(new BigDecimal(100)).intValue());
amount.setCurrency("CNY");
model.setAmount(amount);
- R<String> orderR = wxPaymentClient.refundOrderR(model);
+ R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model);
if(200 == orderR.getCode()){
tChargingOrder.setRefundStatus(2);
tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
this.baseMapper.updateById(tChargingOrder);
chargingOrderRefundService.save(chargingOrderRefund);
+ //手续费
+ Map<String, Object> amount1 = (Map<String, Object>) orderR.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);
}
}
@@ -2648,12 +2672,18 @@
amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
amount.setCurrency("CNY");
model.setAmount(amount);
- R<String> orderR = wxPaymentClient.refundOrderR(model);
+ R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model);
if(200 == orderR.getCode()){
tChargingOrder.setRefundStatus(2);
tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
shoppingOrderService.updateById(tChargingOrder);
shoppingOrderRefundService.save(chargingOrderRefund);
+ //手续费
+ Map<String, Object> amount1 = (Map<String, Object>) orderR.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);
+ shoppingOrderRefundService.updateById(chargingOrderRefund);
}
}
@@ -2707,12 +2737,18 @@
amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
amount.setCurrency("CNY");
model.setAmount(amount);
- R<String> orderR = wxPaymentClient.refundOrderR(model);
+ R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model);
if(200 == orderR.getCode()){
tChargingOrder.setRefundStatus(2);
tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
vipOrderService.updateById(tChargingOrder);
vipOrderRefundService.save(chargingOrderRefund);
+ //手续费
+ Map<String, Object> amount1 = (Map<String, Object>) orderR.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);
+ vipOrderRefundService.updateById(chargingOrderRefund);
}
}
@@ -2836,7 +2872,7 @@
}
if (tChargingOrder.getPaymentAmount()!=null){
paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
- orderCommission = orderCommission.add(tChargingOrder.getPaymentAmount().multiply(new BigDecimal("0.006"))
+ orderCommission = orderCommission.add(tChargingOrder.getRechargeAmount().multiply(new BigDecimal("0.006"))
.setScale(2,BigDecimal.ROUND_DOWN));
}
--
Gitblit v1.7.1