From bf954ec42f6f36742b8c5e36a4c3e9ad3f4470fc Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 01 十一月 2024 18:37:09 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                          |   32 +++++++++++-----
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java              |    8 ++--
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java                         |   22 +++++------
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java |   18 ++++++++
 4 files changed, 53 insertions(+), 27 deletions(-)

diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
index 8b3b6ac..f45575b 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -144,6 +144,11 @@
 				Long userId = tokenService.getLoginUserApplet().getUserId();
 				// 根据id查询用户信息
 				TAppUser appUser = appUserClient.getUserById(userId).getData();
+				if(Objects.nonNull(byId1.getDiscount())){
+					siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
+				}else {
+					siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
+				}
 				if(Objects.nonNull(appUser)){
 //					TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
 					GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
@@ -156,14 +161,8 @@
 						TVip vip = JSON.parseObject(vipJson, TVip.class);
 						if(Objects.nonNull(vip) && vip.getType() == 2){
 							siteInfoVO.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(tAccountingStrategyDetail.getServiceCharge()).add(tAccountingStrategyDetail.getElectrovalence()));
-						}else {
-							siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
 						}
-					}else {
-						siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
 					}
-				}else {
-					siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
 				}
 			}
 		}
@@ -196,6 +195,11 @@
 				Long userId = tokenService.getLoginUserApplet().getUserId();
 				// 根据id查询用户信息
 				TAppUser appUser = appUserClient.getUserById(userId).getData();
+				if(Objects.nonNull(byId1.getDiscount())){
+					siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
+				}else {
+					siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
+				}
 				if(Objects.nonNull(appUser)){
 //					TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
 					GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
@@ -208,14 +212,8 @@
 						TVip vip = JSON.parseObject(vipJson, TVip.class);
 						if(Objects.nonNull(vip) && vip.getType() == 2){
 							siteInfoVO.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(tAccountingStrategyDetail.getServiceCharge()).add(tAccountingStrategyDetail.getElectrovalence()));
-						}else{
-							siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
 						}
-					}else {
-						siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
 					}
-				}else {
-					siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
 				}
 			}
 		}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
index 655485e..b5c657b 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
@@ -61,7 +61,22 @@
     private AppUserVipDetailClient vipDetailClient;
     @Override
     public List<TAccountingStrategyDetailVO> queryAccountingStrategyDetailByStrategyId(Integer strategyId) {
-        return this.baseMapper.queryAccountingStrategyDetailByStrategyId(strategyId);
+        List<TAccountingStrategyDetailVO> tAccountingStrategyDetailVOS = this.baseMapper.queryAccountingStrategyDetailByStrategyId(strategyId);
+        Long userId = tokenService.getLoginUserApplet().getUserId();
+        TAppUser appUser = appUserClient.getUserById(userId).getData();
+        for (TAccountingStrategyDetailVO tAccountingStrategyDetailVO : tAccountingStrategyDetailVOS) {
+            GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
+            getAppUserVipDetail.setAppUserId(userId);
+            getAppUserVipDetail.setVipId(appUser.getVipId());
+            R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
+            TAppUserVipDetail data1 = appUserVipDetail.getData();
+            if(Objects.nonNull(data1)){
+                String vipJson = data1.getVipJson();
+                TVip vip = JSON.parseObject(vipJson, TVip.class);
+                tAccountingStrategyDetailVO.setDiscount(vip.getDiscount().divide(new BigDecimal(10)));
+            }
+        }
+        return tAccountingStrategyDetailVOS;
     }
 
     @Override
@@ -105,6 +120,7 @@
             if(Objects.nonNull(vip)) {
                 if (vip.getType() == 2) {
                     accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(vip.getDiscount())));
+                    accountingStrategyDetailVO.setDiscount(vip.getDiscount().divide(new BigDecimal(10)));
                     accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(vip.getDiscount())));
                 } else {
                     if(Objects.isNull(accountingStrategy.getDiscount())){
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java
index 42bb861..55169f6 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java
@@ -53,7 +53,7 @@
 		TParkingLot data = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
 		parkingRecord.setName(data.getName());
 		parkingRecord.setParkingLotId(data.getId());
-		LocalDateTime parse = LocalDateTime.parse(order.getEnterDateTime(), DateTimeFormatter.ofPattern("yyyy-MM-ddTHH:mm:ss.SSSZ"));
+		LocalDateTime parse = LocalDateTime.parse(order.getEnterDateTime(), DateTimeFormatter.ISO_INSTANT);
 		parse.plusDays(8);
 		parkingRecord.setInParkingTime(parse);
 		parkingRecord.setStatus(1);
@@ -72,7 +72,7 @@
 		query.setLicensePlate(order.getPlate());
 		query.setStatus(1);
 		TParkingRecord parkingRecord = parkingRecordClient.getParkingRecord(query).getData();
-		LocalDateTime parse = LocalDateTime.parse(order.getLeaveDateTime(), DateTimeFormatter.ofPattern("yyyy-MM-ddTHH:mm:ss.SSSZ"));
+		LocalDateTime parse = LocalDateTime.parse(order.getLeaveDateTime(), DateTimeFormatter.ISO_INSTANT);
 		parse.plusDays(8);
 		parkingRecord.setOutParkingTime(parse);
 		parkingRecord.setParkingDuration(Integer.valueOf(order.getLongTime()));
@@ -108,7 +108,7 @@
 		TParkingLot data = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
 		parkingRecord.setName(data.getName());
 		parkingRecord.setParkingLotId(data.getId());
-		LocalDateTime parse = LocalDateTime.parse(order.getEntertime(), DateTimeFormatter.ofPattern("yyyy-MM-ddTHH:mm:ss.SSSZ"));
+		LocalDateTime parse = LocalDateTime.parse(order.getEntertime(), DateTimeFormatter.ISO_INSTANT);
 		parse.plusDays(8);
 		parkingRecord.setInParkingTime(parse);
 		parkingRecord.setStatus(1);
@@ -127,7 +127,7 @@
 		query.setLicensePlate(order.getPlatenumber());
 		query.setStatus(1);
 		TParkingRecord parkingRecord = parkingRecordClient.getParkingRecord(query).getData();
-		LocalDateTime parse = LocalDateTime.parse(order.getLeavetime(), DateTimeFormatter.ofPattern("yyyy-MM-ddTHH:mm:ss.SSSZ"));
+		LocalDateTime parse = LocalDateTime.parse(order.getLeavetime(), DateTimeFormatter.ISO_INSTANT);
 		parse.plusDays(8);
 		parkingRecord.setOutParkingTime(parse);
 		parkingRecord.setParkingDuration(Integer.valueOf(order.getLongTime()));
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 eee24b2..4850a89 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
@@ -284,9 +284,17 @@
 		if(null != dataList){
 			//在MongoDB中获取数据
 			SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
-			List<String> time = dataList.stream().map(s -> sdf.format(s.getCreate_time())).collect(Collectors.toList());
-			List<BigDecimal> outputVoltage = dataList.stream().map(UploadRealTimeMonitoringData::getOutput_voltage).collect(Collectors.toList());
-			List<BigDecimal> outputCurrent = dataList.stream().map(UploadRealTimeMonitoringData::getOutput_current).collect(Collectors.toList());
+			List<UploadRealTimeMonitoringData> dataLists = new ArrayList<>();
+			String t = "";
+			for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : dataList) {
+				if(!sdf.format(uploadRealTimeMonitoringData.getCreate_time()).equals(t)){
+					dataLists.add(uploadRealTimeMonitoringData);
+				}
+			}
+			
+			List<String> time = dataLists.stream().map(s -> sdf.format(s.getCreate_time())).collect(Collectors.toList());
+			List<BigDecimal> outputVoltage = dataLists.stream().map(UploadRealTimeMonitoringData::getOutput_voltage).collect(Collectors.toList());
+			List<BigDecimal> outputCurrent = dataLists.stream().map(UploadRealTimeMonitoringData::getOutput_current).collect(Collectors.toList());
 			List<Map<String, Object>> currentAndVoltage = new ArrayList<>();
 			for (int i = 0; i < time.size(); i++) {
 				Map<String, Object> map = new HashMap<>();
@@ -299,8 +307,8 @@
 			}
 			myChargingOrderInfo.setCurrentAndVoltage(currentAndVoltage);
 			//在MongoDB中获取数据
-			List<Integer> soc = dataList.stream().map(UploadRealTimeMonitoringData::getSoc).collect(Collectors.toList());
-			List<BigDecimal> po = dataList.stream().map(s -> s.getOutput_current().multiply(s.getOutput_voltage()).divide(new BigDecimal(1000),2, RoundingMode.HALF_DOWN)).collect(Collectors.toList());
+			List<Integer> soc = dataLists.stream().map(UploadRealTimeMonitoringData::getSoc).collect(Collectors.toList());
+			List<BigDecimal> po = dataLists.stream().map(s -> s.getOutput_current().multiply(s.getOutput_voltage()).divide(new BigDecimal(1000),2, RoundingMode.HALF_DOWN)).collect(Collectors.toList());
 			List<Map<String, Object>> power = new ArrayList<>();
 			for (int i = 0; i < time.size(); i++) {
 				Map<String, Object> map = new HashMap<>();
@@ -2627,18 +2635,22 @@
 
 	@Override
 	public PageInfo<TSettlementConfirm> settlementList(SettlementListQuery dto) {
+		String startTime = null;
+		String endTime = null;
 		if (StringUtils.hasLength(dto.getStartTime())){
 			dto.setType(1);
 			String[] split = dto.getStartTime().split(" - ");
-			dto.setStartTime(split[0]);
-			dto.setEndTime(split[1]);
+			startTime = split[0];
+			endTime = split[1];
 		}
 		if (StringUtils.hasLength(dto.getEndTime())){
 			dto.setType(2);
-			String[] split = dto.getStartTime().split(" - ");
-			dto.setStartTime(split[0]);
-			dto.setEndTime(split[1]);
+			String[] split = dto.getEndTime().split(" - ");
+			startTime = split[0];
+			endTime = split[1];
 		}
+		dto.setStartTime(startTime);
+		dto.setEndTime(endTime);
 		PageInfo<TSettlementConfirm> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
 		List<TSettlementConfirm> list = tSettlementConfirmMapper.settlementList(pageInfo,dto);
 		for (TSettlementConfirm tSettlementConfirm : list) {

--
Gitblit v1.7.1