From c7abf3bbb933e9dc8f3525bd3edfbeaa730d1c06 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 25 七月 2025 15:28:51 +0800 Subject: [PATCH] 大屏设置鉴权 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java | 57 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 43 insertions(+), 14 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java index 3bd8ac6..cd9f0d4 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java @@ -10,12 +10,17 @@ import com.ruoyi.chargingPile.service.*; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.log.enums.OperatorType; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.time.LocalTime; import java.util.List; import java.util.Objects; @@ -100,10 +105,16 @@ public R<TAccountingStrategyDetail> getDetailBySiteId(@RequestParam("siteId") Integer siteId){ Site site = siteService.getById(siteId); TAccountingStrategy accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId()); - TAccountingStrategyDetail one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery() - .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()) - .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time")); - return R.ok(one); + List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery() + .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())); + list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59")); + for (TAccountingStrategyDetail accountingStrategyDetail : list) { + if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0 + && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ("23:59:59".equals(accountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){ + return R.ok(accountingStrategyDetail); + } + } + return R.ok(); } /** * 通过桩id查询当前时段使用的策略明细 @@ -123,19 +134,31 @@ .eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0) .last("LIMIT 1")); TAccountingStrategy accountingStrategy = accountingStrategyService.getById(chargingGun.getAccountingStrategyId()); - TAccountingStrategyDetail one; + TAccountingStrategyDetail one = null; if(Objects.nonNull(accountingStrategy)){ - one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery() - .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()) - .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time")); + List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery() + .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())); + list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59")); + for (TAccountingStrategyDetail accountingStrategyDetail : list) { + if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0 + && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ("23:59:59".equals(accountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){ + return R.ok(accountingStrategyDetail); + } + } }else { Site site = siteService.getById(chargingPile.getSiteId()); accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId()); - one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery() - .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()) - .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time")); + List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery() + .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())); + list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59")); + for (TAccountingStrategyDetail accountingStrategyDetail : list) { + if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0 + && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ("23:59:59".equals(accountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){ + return R.ok(accountingStrategyDetail); + } + } } - return R.ok(one); + return R.ok(); } /** * 校验充电桩计费模版是否准确 @@ -153,9 +176,14 @@ } Site site = siteService.getById(chargingPile.getSiteId()); TAccountingStrategy accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId()); + if(null == accountingStrategy){ + List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getChargingPileId, chargingPile.getId())); + accountingStrategy = accountingStrategyService.getById(list.get(0).getAccountingStrategyId()); + } + TAccountingStrategyDetail one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery() .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()) - .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time")); + .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and (if(end_time = '00:00', '23:59', end_time))")); return R.ok(dto.getStrategyDetailId().equals(one.getId())); } @@ -167,7 +195,8 @@ */ @GetMapping("/getListByAccountingStrategyId") public R<List<TAccountingStrategyDetail>> getListByAccountingStrategyId(@RequestParam("id") Integer id){ - List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(new LambdaQueryWrapper<TAccountingStrategyDetail>().eq(TAccountingStrategyDetail::getAccountingStrategyId, id)); + List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(new LambdaQueryWrapper<TAccountingStrategyDetail>() + .eq(TAccountingStrategyDetail::getAccountingStrategyId, id).orderByAsc(TAccountingStrategyDetail::getStartTime)); return R.ok(list); } -- Gitblit v1.7.1