From 10eed6e3043756b902b576e7b2ceeef4419508ef Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 31 十月 2024 17:30:13 +0800
Subject: [PATCH] 修改
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 105 +++++++++++++++++++++++++++++++++++++---------------
1 files changed, 75 insertions(+), 30 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 c8a46bd..33bd961 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
@@ -256,11 +256,13 @@
myChargingOrderInfo.setChargeMode(chargingGun.getChargeMode());
String name = chargingGunClient.getAllName(chargingOrder.getChargingGunId()).getData();
myChargingOrderInfo.setName(name);
- if(null != chargingOrder.getAppUserCarId()){
- TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(chargingOrder.getAppUserCarId())).getData().get(0);
- myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate());
- }else{
- myChargingOrderInfo.setLicensePlate("无");
+ if(Objects.nonNull(chargingOrder.getAppUserCarId())){
+ TAppUserCar tAppUserCar = appUserCarClient.getCarById(chargingOrder.getAppUserCarId().toString()).getData();
+ if(null != tAppUserCar){
+ myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate());
+ }else{
+ myChargingOrderInfo.setLicensePlate("无");
+ }
}
myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
@@ -387,7 +389,7 @@
TChargingOrder one = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getChargingGunId, addChargingOrder.getId())
.in(TChargingOrder::getStatus, Arrays.asList(1, 2, 3)).eq(TChargingOrder::getDelFlag, 0));
if(null != one){
- return AjaxResult.error("充电枪正在充电桩中,启动失败");
+ return AjaxResult.error("充电枪正在充电中,启动失败");
}
//查询当前充电枪是否有正在支付的订单
one = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getChargingGunId, addChargingOrder.getId())
@@ -447,6 +449,7 @@
chargingOrder.setVipDiscountAmount(BigDecimal.ZERO);
chargingOrder.setOrderSource(0);
chargingOrder.setTitle("【充电桩充电】" + chargingPile.getNumber() + "号桩/" + tChargingGun.getCode() + "号枪");
+ chargingOrder.setStatus(1);
Site site = siteClient.getSiteByIds(Arrays.asList(tChargingGun.getSiteId())).getData().get(0);
Integer accountingStrategyId = tChargingGun.getAccountingStrategyId();
@@ -685,9 +688,6 @@
String code = chargingOrder.getCode();
String key = "AQJC_" + chargingOrder.getChargingGunId();
List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData();
- if(null == data || data.size() == 0){
- return false;
- }
log.error(code + ":-------------------开始检查调起充电结果-------------------" + data.toString());
if(data.size() != 0){
PlatformStartChargingReply platformStartChargingReply = data.get(1);
@@ -737,7 +737,7 @@
counter = (null == counter ? 0 : counter) + 1;
boot_failed_map.put(code, counter);
//启动失败
- preChargeCheck1.setStartupSuccess(3);
+ preChargeCheck1.setStartupSuccess(1);
preChargeCheck1.setFailureCause(0);
redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
return false;
@@ -981,16 +981,17 @@
chargingOrder.setId(Long.valueOf(id));
chargingOrder.setAppUserId(order.getAppUserId());
chargingOrder.setEndTime(LocalDateTime.now());
+ chargingOrder.setStatus(4);
chargingOrder.setEndMode(1);
this.updateById(chargingOrder);
- String code1 = chargingOrder.getCode();
- TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
+ String code1 = order.getCode();
+ TChargingGun chargingGun = chargingGunClient.getChargingGunById(order.getChargingGunId()).getData();
//异步线程处理停机
ExecutorService cachedThreadPool = Executors.newFixedThreadPool(1);
cachedThreadPool.execute(()->{
//调用硬件停止充电,停止成功后开始计算费用退款
- TChargingPile chargingPile = chargingPileClient.getChargingPileById(chargingOrder.getChargingPileId()).getData();
+ TChargingPile chargingPile = chargingPileClient.getChargingPileById(order.getChargingPileId()).getData();
PlatformStopCharging platformStopCharging = new PlatformStopCharging();
platformStopCharging.setCharging_pile_code(chargingPile.getCode());
platformStopCharging.setCharging_gun_code(chargingGun.getCode());
@@ -1102,7 +1103,7 @@
String code = Double.valueOf(Math.random() * 1000).intValue() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
appUserIntegralChange.setCode(code);
appUserIntegralChange.setAppUserId(appUser1.getId());
- appUserIntegralChange.setChangeType(5);
+ appUserIntegralChange.setChangeType(4);
appUserIntegralChange.setHistoricalIntegral(appUser1.getPoints());
appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1);
appUserIntegralChange.setCreateTime(LocalDateTime.now());
@@ -1693,7 +1694,6 @@
chargingOrderListInfoVO.setCouponDiscountAmount(chargingOrder.getCouponDiscountAmount());
chargingOrderListInfoVO.setVipDiscountAmount(chargingOrder.getVipDiscountAmount());
chargingOrderListInfoVO.setSharingAmount(chargingOrder.getSharingAmount());
- chargingOrderListInfoVO.setCommissionAmount(chargingOrder.getCommissionAmount());
// 查询费用明细列表
List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery()
.eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrder.getId())
@@ -1773,7 +1773,7 @@
public void endChargeBillingCharge(TransactionRecordMessageVO vo) {
TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, vo.getTransaction_serial_number()));
Integer status = chargingOrder.getStatus();
- if(status == 4 || status == 5){
+ if(status == 5){
return;
}
@@ -1866,9 +1866,7 @@
} catch (ParseException e) {
throw new RuntimeException(e);
}
- System.err.println(start.getTime() + "\n" + end.getTime() + "\n" + lists.get(0).getStart() + "\n" + lists.get(0).getEnd());
-
-
+
for (AccountingStrategyDetailOrderVo strategyDetail : lists) {
BigDecimal sharp_peak_charge = strategyDetail.getChargingCapacity();
TChargingOrderAccountingStrategy chargingOrderAccountingStrategy = new TChargingOrderAccountingStrategy();
@@ -2031,7 +2029,7 @@
}
}
- order.setServiceCharge(periodServicePrice_total);
+ order.setServiceCharge(periodServicePrice_total.setScale(2, RoundingMode.DOWN));
order.setPaymentAmount(payAmount);
order.setRefundAmount(refundAmount);
order.setRefundStatus(1);
@@ -2111,7 +2109,7 @@
chargingOrderRefund.setRefundTitle("充电完成退款");
chargingOrderRefund.setRefundContent("充电完成退款");
chargingOrderRefund.setRefundReason("充电完成退款");
- chargingOrderRefund.setRefundRemark("实际充电消费金额:" + refundAmount);
+ chargingOrderRefund.setRefundRemark("实际充电消费金额:" + chargingOrder.getPaymentAmount());
chargingOrderRefund.setRefundTotalAmount(refundAmount);
chargingOrderRefund.setPayAmount(rechargeAmount);
if(1 == rechargePaymentType){
@@ -2244,6 +2242,9 @@
if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
return R.fail("退款金额需小于支付金额");
}
+ if ((tChargingOrder.getRechargeAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){
+ tChargingOrder.setStatus(5);
+ }
TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
@@ -2310,6 +2311,10 @@
if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
return R.fail("退款金额需小于支付金额");
}
+ if ((tChargingOrder.getPaymentAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){
+ tChargingOrder.setStatus(5);
+ }
+
TShoppingOrderRefund chargingOrderRefund = new TShoppingOrderRefund();
chargingOrderRefund.setShoppingOrderId(tChargingOrder.getId());
chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
@@ -2360,9 +2365,7 @@
tChargingOrder.setRefundStatus(2);
tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
- if (payOrderQueryDto.getRefundAmount().compareTo(tChargingOrder.getPaymentAmount())==0){
- tChargingOrder.setStatus(5);
- }
+
shoppingOrderService.updateById(tChargingOrder);
shoppingOrderRefundService.save(chargingOrderRefund);
@@ -2377,6 +2380,8 @@
if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
return R.fail("退款金额需小于支付金额");
}
+
+
TVipOrderRefund chargingOrderRefund = new TVipOrderRefund();
chargingOrderRefund.setVipOrderId(tChargingOrder.getId());
chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
@@ -2456,7 +2461,7 @@
}
TChargingOrder one = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserCarId, appUserCar.getId())
.eq(TChargingOrder::getDelFlag, 0).gt(TChargingOrder::getStartTime, query.getStartTime())
- .eq(TChargingOrder::getRechargePaymentStatus, 2).ne(TChargingOrder::getStatus, -1));
+ .eq(TChargingOrder::getRechargePaymentStatus, 2).ne(TChargingOrder::getStatus, 5));
return one;
}
@@ -2589,7 +2594,7 @@
tSettlementConfirm.setRemark(dto.getRemark());
tSettlementConfirm.setServicePartner(dto.getServicePartner());
tSettlementConfirm.setServiceMoney(dto.getServiceMoney());
- BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner());
+ BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner().multiply(new BigDecimal("0.01")));
// 总电损费用
BigDecimal divide = tSettlementConfirm.getProportionMoney().divide(subtract, 2, RoundingMode.HALF_DOWN);
// 平台承担电损
@@ -2751,10 +2756,17 @@
}
// 充电总时长
- Long temp = 0L;
+ Long temp = 1L;
if (StringUtils.hasLength(stringBuilder.toString())){
- List<UploadRealTimeMonitoringData> data6 = uploadRealTimeMonitoringDataClient.getOrderInfoByCodes(stringBuilder.substring(0,stringBuilder.length()-1)).getData();
- temp+=(data6.stream().mapToLong(UploadRealTimeMonitoringData::getCumulative_charging_time).sum()*60);
+ String substring = stringBuilder.substring(0, stringBuilder.length() - 1);
+ for (String s : substring.split(",")) {
+ UploadRealTimeMonitoringData data6 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(s).getData();
+ if (data6!=null){
+ temp+=(data6.getCumulative_charging_time()*60);
+
+ }
+
+ }
}
List<TChargingPile> data = siteClient.getPileListBySiteId(tSettlementConfirm.getSiteId()).getData();
// 计算充电桩的功率平均值
@@ -2794,7 +2806,7 @@
if (tSettlementConfirm.getSiteId().equals(settlementConfirm.getSiteId())){
// 电站相同比较收入涨幅跌幅
if (tSettlementConfirm.getIncome().compareTo(BigDecimal.ZERO)>0){
- BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome()).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
+ BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome(),2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
tSettlementConfirm.setIncomePercentage(subtract+"%");
}else {
tSettlementConfirm.setIncomePercentage("100"+"%");
@@ -2972,4 +2984,37 @@
public Long countNoTag() {
return this.baseMapper.countNoTag();
}
+
+
+ @Override
+ public List<TChargingOrder> getChargingOrder(TChargingOrderVo order) {
+ LambdaQueryWrapper<TChargingOrder> queryWrapper = new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getDelFlag, 0);
+ if(null != order.getChargingPileId()){
+ queryWrapper.eq(TChargingOrder::getChargingPileId, order.getChargingPileId());
+ }
+ if(null != order.getChargingGunId()){
+ queryWrapper.eq(TChargingOrder::getChargingGunId, order.getChargingGunId());
+ }
+ if(null != order.getStatus()){
+ queryWrapper.eq(TChargingOrder::getStatus, order.getStatus());
+ }
+ if(null != order.getAppUserId()){
+ queryWrapper.eq(TChargingOrder::getAppUserId, order.getAppUserId());
+ }
+ if(null != order.getAppUserId()){
+ queryWrapper.eq(TChargingOrder::getAppUserId, order.getAppUserId());
+ }
+ if(null != order.getStatusList()){
+ queryWrapper.in(TChargingOrder::getAppUserId, order.getStatusList());
+ }
+ if(null != order.getEndMode()){
+ queryWrapper.eq(TChargingOrder::getEndMode, order.getEndMode());
+ }
+ return this.list(queryWrapper.orderByDesc(TChargingOrder::getCreateTime));
+ }
+
+ @Override
+ public Long countCar(List<String> brands) {
+ return this.baseMapper.countCar(brands);
+ }
}
--
Gitblit v1.7.1