From 31e408fb7efa3b8352d420d3cb4dbf4ca7f1d47a Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期六, 31 八月 2024 16:46:44 +0800
Subject: [PATCH] 8.31

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   79 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 69 insertions(+), 10 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 99efbec..c4a7a3c 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
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.account.api.feignClient.AppUserCarClient;
 import com.ruoyi.account.api.feignClient.AppUserClient;
@@ -17,6 +18,8 @@
 import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.dto.ChargingOrderGroup;
+import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.BasePage;
 import com.ruoyi.common.core.web.page.PageInfo;
@@ -46,6 +49,7 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
@@ -502,7 +506,9 @@
 		 BigDecimal electronicMoney = new BigDecimal("0");
 		 BigDecimal serviceMoney = new BigDecimal("0");
 		for (ChargingOrderVO chargingOrderVO : list) {
-			total = total.add(chargingOrderVO.getChargingCapacity());
+			if (chargingOrderVO.getChargingCapacity()!=null){
+				total = total.add(chargingOrderVO.getChargingCapacity());
+			}
 			// 充电订单 明细记录
 			List<TChargingOrderAccountingStrategy> chargingOrderId = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>()
 					.eq("charging_order_id", chargingOrderVO.getId()));
@@ -513,14 +519,18 @@
 			LocalDateTime startTime = chargingOrderVO.getStartTime();
 			LocalDateTime endTime = chargingOrderVO.getEndTime();
 			// 计算时间差 秒 充电时长
-			long between = ChronoUnit.SECONDS.between(startTime, endTime);
-			chargingOrderVO.setChargingSecond(between);
-			time += between;
+			if (startTime!=null && endTime!=null){
+				long between = ChronoUnit.SECONDS.between(startTime, endTime);
+				chargingOrderVO.setChargingSecond(between);
+				time += between;
+			}
 			// 总收入
-			if (chargingOrderVO.getRefundStatus() == 2){
+			if (chargingOrderVO.getRefundStatus() !=null && chargingOrderVO.getRefundStatus() == 2){
 				income = income.add(chargingOrderVO.getPaymentAmount().subtract(chargingOrderVO.getRefundAmount()));
 			}else{
-				income = income.add(chargingOrderVO.getPaymentAmount());
+				if (chargingOrderVO.getPaymentAmount()!=null){
+					income = income.add(chargingOrderVO.getPaymentAmount());
+				}
 			}
 			for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : chargingOrderId) {
 				// 累计电费
@@ -542,11 +552,14 @@
 				// 车牌号
 				chargingOrderVO.setPhone(data.getPhone());
 				List<Long> longs = new ArrayList<>();
-				longs.add(chargingOrderVO.getAppUserCarId());
-				List<TAppUserCar> data1 = appUserCarClient.getCarByIds(longs).getData();
-				if (!data1.isEmpty()){
-					chargingOrderVO.setLicensePlate(data1.get(0).getLicensePlate());
+				if (chargingOrderVO.getAppUserCarId()!=null){
+					longs.add(chargingOrderVO.getAppUserCarId());
+					List<TAppUserCar> data1 = appUserCarClient.getCarByIds(longs).getData();
+					if (!data1.isEmpty()){
+						chargingOrderVO.setLicensePlate(data1.get(0).getLicensePlate());
+					}
 				}
+
 			}
 		}
 		tCharingOrderVO.setTotal(total);
@@ -575,4 +588,50 @@
 
 		return R.ok(pageInfo);
 	}
+
+	@Override
+	public List<ChargingOrderGroup> chargingOrderGroup(ChargingPercentProvinceDto chargingPercentProvinceDto) {
+
+		return this.baseMapper.chargingOrderGroup(chargingPercentProvinceDto);
+	}
+
+	@Override
+	public List<SixChargingDto> charge(LocalDate sixBefore, List<Integer> siteIds) {
+		return this.baseMapper.charge(sixBefore,siteIds);
+	}
+
+	@Override
+	public List<SixCircleDto> circle(List<Integer> siteIds,LocalDate sixBefore) {
+		return this.baseMapper.circle(siteIds,sixBefore);
+	}
+
+	@Override
+	public Map<String, BigDecimal> countAll(LocalDate sixBefore) {
+		return this.baseMapper.countAll(sixBefore);
+	}
+
+	@Override
+	public List<Map<String, BigDecimal>> getSumByType(List<Long> chargingOrderIds) {
+		return this.baseMapper.getSumByType(chargingOrderIds);
+	}
+
+	@Override
+	public List<Map<String, BigDecimal>> getDateData(List<Long> chargingOrderIds) {
+		return this.baseMapper.getDateData(chargingOrderIds);
+	}
+
+	@Override
+	public List<Map<String, BigDecimal>> getWeekData(List<Long> chargingOrderIds) {
+		return this.baseMapper.getWeekData(chargingOrderIds);
+	}
+
+	@Override
+	public List<Map<String, BigDecimal>> getMonthData(List<Long> chargingOrderIds) {
+		return this.baseMapper.getMonthData(chargingOrderIds);
+	}
+
+	@Override
+	public List<Map<String, BigDecimal>> getYearData(List<Long> chargingOrderIds) {
+		return this.baseMapper.getYearData(chargingOrderIds);
+	}
 }

--
Gitblit v1.7.1