From befe4a62e799c89c73c0b774c000c300bcc2ca18 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 29 十月 2024 14:20:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 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 8081c4e..171a350 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
@@ -131,8 +131,25 @@
 			// 当前时间属于那个阶段 取哪个阶段的电价
 			if(DateUtils.string2LocalTime(tAccountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
 					&& DateUtils.string2LocalTime(tAccountingStrategyDetail.getEndTime() + ("23:59:59".equals(tAccountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
-				siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().setScale(4, BigDecimal.ROUND_HALF_UP));
-				siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence().setScale(4, BigDecimal.ROUND_HALF_UP));
+				siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
+				if(null != byId1.getDiscount()){
+					siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
+				}else{
+					// 获取当前登录用户id
+					Long userId = tokenService.getLoginUserApplet().getUserId();
+					// 根据id查询用户信息
+					TAppUser appUser = appUserClient.getUserById(userId).getData();
+					if(Objects.nonNull(appUser)){
+						TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+						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.getElectrovalence());
+						}
+					}else {
+						siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+					}
+				}
 			}
 		}
 		siteInfoVO.setChargingGunId(chargingGun.getId());
@@ -159,8 +176,25 @@
 			// 当前时间属于那个阶段 取哪个阶段的电价
 			if(DateUtils.string2LocalTime(tAccountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
 					&& DateUtils.string2LocalTime(tAccountingStrategyDetail.getEndTime() + ("23:59:59".equals(tAccountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
-				siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().setScale(4, BigDecimal.ROUND_HALF_UP));
-				siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence().setScale(4, BigDecimal.ROUND_HALF_UP));
+				siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
+				if(null != byId1.getDiscount()){
+					siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
+				}else{
+					// 获取当前登录用户id
+					Long userId = tokenService.getLoginUserApplet().getUserId();
+					// 根据id查询用户信息
+					TAppUser appUser = appUserClient.getUserById(userId).getData();
+					if(Objects.nonNull(appUser)){
+						TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+						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.getElectrovalence());
+						}
+					}else {
+						siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+					}
+				}
 			}
 		}
 		siteInfoVO.setChargingPileId(one.getId());

--
Gitblit v1.7.1