From d0b83b31dba32844fc6fe8ff84afa0d960e18de7 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 12 二月 2025 16:09:01 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   53 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 32 insertions(+), 21 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 d54b825..098dd01 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
@@ -396,7 +396,7 @@
 				if(null != data){
 					//支付失败,删除无效的订单
 					String tradeStatus = data.getTradeStatus();
-					if(tradeStatus.equals("TRADE_CLOSED")){
+					if(null != tradeStatus && tradeStatus.equals("TRADE_CLOSED")){
 						this.removeById(tChargingOrder.getId());
 					}
 				}
@@ -1190,8 +1190,12 @@
     @Override
     public TCharingOrderVO chargingOrder(ChargingOrderQuery dto) {
 		TCharingOrderVO tCharingOrderVO = new TCharingOrderVO();
-
-
+		List<TChargingGun> allGun = chargingGunClient.getAllGun().getData();
+		List<TChargingPile> allPile = chargingGunClient.getAllPile().getData();
+		List<Site> data9 = siteClient.getSiteAll().getData();
+		List<TAppUser> data6 = appUserClient.getAllUser().getData();
+		List<Partner> data7 = siteClient.getAllPartner().getData();
+		List<TAppUserCar> data4 = appUserCarClient.getAllCar().getData();
 		String startTime1 = null;
 		String startTime2 = null;
 		String endTime1 = null;
@@ -1208,7 +1212,7 @@
 			endTime2 = split[1];
 		}
 		PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
-		PageInfo<ChargingOrderVO> pageInfo1 = new PageInfo<>(1,9999999);
+		PageInfo<ChargingOrderVO> pageInfo1 = new PageInfo<>(1,999999999);
 
 		if (StringUtils.hasLength(dto.getPhone())){
 			List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData();
@@ -1264,6 +1268,8 @@
 		 BigDecimal refundMoney = new BigDecimal("0");
 		 BigDecimal paymentMoney = new BigDecimal("0");
 		List<String> collect2 = list.stream().map(TChargingOrder::getCode).collect(Collectors.toList());
+		List<TChargingOrderAccountingStrategy> list3 = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>());
+
 		for (ChargingOrderVO chargingOrderVO : list) {
 			if (roleType == 2){
 				for (Integer siteId : siteIds) {
@@ -1276,20 +1282,19 @@
 			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.setUid(chargingOrderVO.getId()+"");
-			TChargingGun data3 = chargingGunClient.getChargingGunById(chargingOrderVO.getChargingGunId()).getData();
-			TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderVO.getChargingPileId()).getData();
+			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);
 			if (chargingOrderVO.getSiteId()!=null){
 				List<Integer> integers = new ArrayList<>();
 				integers.add(chargingOrderVO.getSiteId());
-				List<Site> data = siteClient.getSiteByIds(integers).getData();
-				if (!data.isEmpty())chargingOrderVO.setSiteName(data.get(0).getName());
+				Site site = data9.stream().filter(e -> e.getId().equals(chargingOrderVO.getSiteId())).findFirst().orElse(null);
+				if (site!=null)chargingOrderVO.setSiteName(site.getName());
 			}
 			if (data2!=null && data3!=null){
 				chargingOrderVO.setTerminalName(data2.getName()+"-"+data3.getName());
 			}
 			// 充电订单 明细记录
-			List<TChargingOrderAccountingStrategy> chargingOrderId = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>()
-					.eq("charging_order_id", chargingOrderVO.getId()));
+			List<TChargingOrderAccountingStrategy> chargingOrderId = list3.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderVO.getId())).collect(Collectors.toList());
 			if (chargingOrderVO.getStartTime()!=null && chargingOrderVO.getEndTime()!=null){
 				LocalDateTime startTime = chargingOrderVO.getStartTime();
 				LocalDateTime endTime = chargingOrderVO.getEndTime();
@@ -1302,16 +1307,16 @@
 			int size = chargingOrderId.size();
 			chargingOrderVO.setCount(size);
 			// 用户手机号
-			TAppUser data = appUserClient.getUserById(chargingOrderVO.getAppUserId()).getData();
+			TAppUser data = data6.stream().filter(e -> e.getId().equals(chargingOrderVO.getAppUserId())).findFirst().orElse(null);
 			if (data!=null){
 				// 车牌号
 				chargingOrderVO.setPhone(data.getPhone());
 				List<Long> longs = new ArrayList<>();
 				if (chargingOrderVO.getAppUserCarId()!=null){
 					longs.add(chargingOrderVO.getAppUserCarId());
-					List<TAppUserCar> data1 = appUserCarClient.getCarByIds(longs).getData();
-					if (!data1.isEmpty()){
-						chargingOrderVO.setLicensePlate(data1.get(0).getLicensePlate());
+					TAppUserCar tAppUserCar = data4.stream().filter(e -> e.getId().equals(chargingOrderVO.getAppUserCarId())).findFirst().orElse(null);
+					if (tAppUserCar!=null){
+						chargingOrderVO.setLicensePlate(tAppUserCar.getLicensePlate());
 					}
 				}
 
@@ -1538,7 +1543,7 @@
 			}
 			if (chargingOrderListVO.getChargingGunId()!=null && chargingOrderListVO.getChargingPileId()!=null){
 				TChargingGun data1 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null);
-				TChargingGun data2 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null);
+				TChargingPile data2 = allPile.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingPileId())).findFirst().orElse(null);
 				if (data2 != null && data1 != null) {
 					chargingOrderListVO.setTerminalName(data2.getName() + "-" + data1.getName());
 				}
@@ -1648,7 +1653,7 @@
 			}
 			if (chargingOrderListVO.getChargingGunId()!=null && chargingOrderListVO.getChargingPileId()!=null){
 				TChargingGun data1 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null);
-				TChargingGun data2 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null);
+				TChargingPile data2 = allPile.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingPileId())).findFirst().orElse(null);
 				if (data2 != null && data1 != null) {
 					chargingOrderListVO.setTerminalName(data2.getName() + "-" + data1.getName());
 				}
@@ -1948,11 +1953,11 @@
 	 */
 	@Override
 	@GlobalTransactional(rollbackFor = Exception.class)
-	public void endChargeBillingCharge(TransactionRecordMessageVO vo) {
+	public R endChargeBillingCharge(TransactionRecordMessageVO vo) {
 		TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, vo.getTransaction_serial_number()));
 		Integer status = chargingOrder.getStatus();
 		if(status == 5){
-			return;
+			return R.ok();
 		}
 		
 		//如果使用优惠券需要判断优惠券是否满足使用条件
@@ -2092,6 +2097,7 @@
 			}
 		}catch (Exception e){
 			e.printStackTrace();
+			R.fail("处理失败");
 		}
 		
 		//开始处理明细
@@ -2186,9 +2192,13 @@
 		UploadRealTimeMonitoringData uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
 		if(null != uploadRealTimeMonitoringData && null == chargingOrder.getEndMode()){
 			Integer soc = uploadRealTimeMonitoringData.getSoc();
-			order.setEndMode(soc > 98 ? 2 : 3);
-		}else{
-			order.setEndMode(1);
+			if(soc > 98){
+				order.setEndMode(2);
+			}else if(chargingOrder.getResidualAmount().compareTo(new BigDecimal(1)) <= 0){
+				order.setEndMode(3);
+			}else{
+				order.setEndMode(0);
+			}
 		}
 		order.setResidualAmount(rechargeAmount.subtract(total).setScale(2, RoundingMode.HALF_EVEN));
 		order.setStartTime(LocalDateTime.parse(vo.getStart_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS")));
@@ -2372,6 +2382,7 @@
 			}
 			
 		}
+		return R.ok();
 	}
 	
 	

--
Gitblit v1.7.1