From fd35f223b7f40ee9ee4a9307384b54a96d7956a2 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期四, 31 十月 2024 09:35:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 32 +++++++++++++++++++++++++------- 1 files changed, 25 insertions(+), 7 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 7e3b3f1..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 @@ -18,6 +18,7 @@ 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; @@ -122,12 +123,14 @@ SiteInfoVO siteInfoVO = new SiteInfoVO(); TChargingGun chargingGun = chargingGunService.getOne(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getFullNumber, number)); TChargingPile one = chargingPileService.getById(chargingGun.getChargingPileId()); - Site byId = siteService.getById(one.getSiteId()); - TAccountingStrategy byId1 = accountingStrategyService.getById(byId.getAccountingStrategyId()); + Site byId = siteService.getById(chargingGun.getSiteId()); + TAccountingStrategy byId1 = accountingStrategyService.getById(chargingGun.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()))){ + 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.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP)); @@ -168,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()); + } } } } -- Gitblit v1.7.1