From 15deef40aeb83d485fa1df9b5482b0deccfbdbc1 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 28 十月 2024 13:38:15 +0800
Subject: [PATCH] 修改
---
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 71 ++++++++++++++++++++++++++++-------
1 files changed, 56 insertions(+), 15 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 37e4f92..dbd0aa4 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
@@ -3,6 +3,8 @@
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.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
import com.ruoyi.chargingPile.api.feignClient.ParkingLotClient;
import com.ruoyi.chargingPile.api.model.*;
@@ -16,16 +18,20 @@
import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
import com.ruoyi.chargingPile.service.*;
import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.other.api.domain.TVip;
import com.ruoyi.other.api.feignClient.RoleSiteClient;
import com.ruoyi.other.api.feignClient.UserSiteClient;
+import com.ruoyi.other.api.feignClient.VipClient;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.feignClient.SysUserRoleClient;
@@ -88,7 +94,12 @@
@Resource
private SysUserRoleClient userRoleClient;
-
+ @Resource
+ private VipClient vipClient;
+ @Resource
+ private TokenService tokenService;
+ @Resource
+ private AppUserClient appUserClient;
/**
@@ -115,14 +126,29 @@
Site byId = siteService.getById(one.getSiteId());
TAccountingStrategy byId1 = accountingStrategyService.getById(byId.getAccountingStrategyId());
List<TAccountingStrategyDetail> list = accountingStrategyDetailService.lambdaQuery().eq(TAccountingStrategyDetail::getAccountingStrategyId, byId1.getId()).list();
+ list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
for (TAccountingStrategyDetail tAccountingStrategyDetail : list) {
// 当前时间属于那个阶段 取哪个阶段的电价
- if(LocalTime.now().isAfter(LocalTime.parse(tAccountingStrategyDetail.getStartTime())) && LocalTime.now().isBefore(LocalTime.parse(tAccountingStrategyDetail.getEndTime()))){
- siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+ 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.setElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
if(null != byId1.getDiscount()){
- siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().multiply(byId1.getDiscount()).setScale(4, BigDecimal.ROUND_HALF_UP));
+ siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
}else{
- siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+ // 获取当前登录用户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());
+ }
}
}
}
@@ -145,14 +171,29 @@
Site byId = siteService.getById(one.getSiteId());
TAccountingStrategy byId1 = accountingStrategyService.getById(byId.getAccountingStrategyId());
List<TAccountingStrategyDetail> list = accountingStrategyDetailService.lambdaQuery().eq(TAccountingStrategyDetail::getAccountingStrategyId, byId1.getId()).list();
+ list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
for (TAccountingStrategyDetail tAccountingStrategyDetail : list) {
// 当前时间属于那个阶段 取哪个阶段的电价
- if(LocalTime.now().isAfter(LocalTime.parse(tAccountingStrategyDetail.getStartTime())) && LocalTime.now().isBefore(LocalTime.parse(tAccountingStrategyDetail.getEndTime()))){
- siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+ 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.setElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
if(null != byId1.getDiscount()){
- siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().multiply(byId1.getDiscount()).setScale(4, BigDecimal.ROUND_HALF_UP));
+ siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
}else{
- siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+ // 获取当前登录用户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());
+ }
}
}
}
@@ -188,17 +229,17 @@
siteList.setPageSize(99999);
PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList);
for (GetSiteListDTO record : list.getRecords()) {
- Long count = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+ Long count = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
record.setC1(count);
- Long count1 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, 2).count();
+ Long count1 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, 2).count();
record.setC2(count1);
- Long count2 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+ Long count2 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
record.setK1(count2);
- Long count3 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, 2).count();
+ Long count3 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, 2).count();
record.setK2(count3);
- Long count4 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+ Long count4 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
record.setM1(count4);
- Long count5 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, 2).count();
+ Long count5 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, 2).count();
record.setM2(count5);
//利用率
--
Gitblit v1.7.1