From 26cd0115150771d66a6cfca9c03820a734b69c9f Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 11 十二月 2024 19:19:38 +0800
Subject: [PATCH] 合作商权限

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   51 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 32 insertions(+), 19 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 dfd55ed..ac92738 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
@@ -884,8 +884,7 @@
 				dto.setRefundReason("充电失败,取消充电订单");
 				RefundResp resp = aliPaymentClient.refund(dto).getData();
 				if(null != resp){
-					SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-DDTHH:mm:ss+TIMEZONE");
-					AjaxResult success = chargingOrderStartupFailureWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", sdf1.format(new Date()));
+					AjaxResult success = chargingOrderStartupFailureWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", null);
 					if(success.isSuccess()){
 						chargingOrderRefundService.save(chargingOrderRefund);
 					}
@@ -959,12 +958,12 @@
 			Integer h = Integer.valueOf(data.getCumulative_charging_time() / 60);
 			Integer m = Integer.valueOf(data.getCumulative_charging_time() % 60);
 			chargingDetails.setChargedTime(String.format("%02d", h) + ":" + String.format("%02d", m));
-		}
-		if(null != data && null != one.getAppUserCarId()){
-			TAppUserCar appUserCar = appUserCarClient.getCarByIds(Arrays.asList(one.getAppUserCarId())).getData().get(0);
-			//   续航 = 续航里程 * soc
-			BigDecimal multiply = new BigDecimal(data.getSoc() / 100).multiply(new BigDecimal(appUserCar.getEndurance()));
-			chargingDetails.setEndurance(multiply);
+			if(null != one.getAppUserCarId()){
+				TAppUserCar appUserCar = appUserCarClient.getCarById(one.getAppUserCarId().toString()).getData();
+				//   续航 = 续航里程 * soc
+				BigDecimal multiply = new BigDecimal(data.getSoc()).divide(new BigDecimal(100)).multiply(new BigDecimal(appUserCar.getEndurance()));
+				chargingDetails.setEndurance(multiply.setScale(2, RoundingMode.HALF_EVEN));
+			}
 		}
 		return chargingDetails;
 	}
@@ -1208,7 +1207,7 @@
 			}
 			dto.setUserIds(data);
 		}
-		Long userId = SecurityUtils.getUserId();
+		Long userId = tokenService.getLoginUser().getUserid();
 		//如果没传siteId,获取当前登陆人所有的siteIds
 		List<Integer> siteIds = new ArrayList<>();
 		if (dto.getSiteId()==null){
@@ -1220,6 +1219,9 @@
 			}
 		}else {
 			siteIds.add(dto.getSiteId());
+		}
+		if (siteIds.isEmpty()){
+			siteIds.add(-1);
 		}
 		dto.setSiteIds(siteIds);
 		List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
@@ -1251,7 +1253,7 @@
 			List<TChargingOrderAccountingStrategy> chargingOrderId = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>()
 					.eq("charging_order_id", chargingOrderVO.getId()));
 			UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderVO.getCode()).getData();
-			if (data5!=null){
+			if (data5!=null && data5.getCumulative_charging_time()!=null){
 				long l = data5.getCumulative_charging_time() * 60L;
 				chargingOrderVO.setChargingSecond(l);
 			}
@@ -1278,13 +1280,13 @@
 			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());
+				total = total.add(chargingOrderVO.getElectricity()!=null?chargingOrderVO.getElectricity():new BigDecimal("0"));
 			}
 			// 充电订单 明细记录
 			List<TChargingOrderAccountingStrategy> chargingOrderId = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>()
 					.eq("charging_order_id", chargingOrderVO.getId()));
 			UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderVO.getCode()).getData();
-			if (data5!=null){
+			if (data5!=null && data5.getCumulative_charging_time()!=null){
 				long l = data5.getCumulative_charging_time() * 60L;
 				chargingOrderVO.setChargingSecond(l);
 				time+=l;
@@ -1426,7 +1428,7 @@
 				dto.setCarIds(carIds);
 			}
 		}
-		Long userId = SecurityUtils.getUserId();
+		Long userId = tokenService.getLoginUser().getUserid();
 		//如果没传siteId,获取当前登陆人所有的siteIds
 		List<Integer> siteIds = new ArrayList<>();
 		if (dto.getSiteId()==null){
@@ -1438,6 +1440,9 @@
 			}
 		}else {
 			siteIds.add(dto.getSiteId());
+		}
+		if (siteIds.isEmpty()){
+			siteIds.add(-1);
 		}
 		dto.setSiteIds(siteIds);
 		PageInfo<ChargingOrderListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
@@ -2210,8 +2215,7 @@
 				dto.setRefundReason("充电完成退款");
 				RefundResp resp = aliPaymentClient.refund(dto).getData();
 				if(null != resp){
-					SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-DDTHH:mm:ss+TIMEZONE");
-					AjaxResult success = chargingOrderStartupFailureWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", sdf1.format(new Date()));
+					AjaxResult success = chargingOrderStartupFailureWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", null);
 					if(success.isSuccess()){
 						chargingOrderRefundService.save(chargingOrderRefund);
 					}
@@ -2242,8 +2246,8 @@
 	}
 
 	@Override
-	public List<Map<String, Object>> usersDay() {
-		return this.baseMapper.usersDay();
+	public List<Map<String, Object>> usersDay(ChargingStatisticsQueryDto statisticsQueryDto) {
+		return this.baseMapper.usersDay(statisticsQueryDto);
 	}
 
 	@Override
@@ -2709,7 +2713,7 @@
 		}
 		dto.setStartTime(startTime);
 		dto.setEndTime(endTime);
-		Long userId = SecurityUtils.getUserId();
+		Long userId = tokenService.getLoginUser().getUserid();
 		//如果没传siteId,获取当前登陆人所有的siteIds
 		List<Integer> siteIds = new ArrayList<>();
 		if (dto.getSiteIds()==null){
@@ -2721,6 +2725,9 @@
 			}
 		}else {
 			siteIds.add(dto.getSiteIds());
+		}
+		if (siteIds.isEmpty()){
+			siteIds.add(-1);
 		}
 		dto.setSiteIdss(siteIds);
 		PageInfo<TSettlementConfirm> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
@@ -2748,7 +2755,7 @@
 
 	@Override
 	public SettlementTotalVO settlementTotal(String time) {
-		Long userId = SecurityUtils.getUserId();
+		Long userId = tokenService.getLoginUser().getUserid();
 		//如果没传siteId,获取当前登陆人所有的siteIds
 		List<Integer> siteIds = new ArrayList<>();
 		if (userId != null){
@@ -2756,6 +2763,9 @@
 				for (GetSiteListDTO datum : data) {
 					siteIds.add(datum.getId());
 				}
+		}
+		if (siteIds.isEmpty()){
+			siteIds.add(-1);
 		}
 		SettlementTotalVO res = new SettlementTotalVO();
 		List<TSettlementConfirm> list1 = tSettlementConfirmMapper.settlementTotal(time,siteIds);
@@ -2995,6 +3005,9 @@
 					siteIds.add(datum.getId());
 				}
 		}
+		if (siteIds.isEmpty()){
+			siteIds.add(-1);
+		}
 		SettlementTotalVO res = new SettlementTotalVO();
 		List<TSettlementConfirm> list1 = tSettlementConfirmMapper.settlementTotal(time,siteIds);
 		LocalDateTime parse = LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

--
Gitblit v1.7.1