From 206ccf5c1151d4f7b1326589cb6cccd4d4ad9225 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 01 十一月 2024 16:14:27 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile
---
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java | 110 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 78 insertions(+), 32 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 35c031e..9d81853 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
@@ -4,24 +4,20 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.chargingPile.api.dto.CheckChargingStrategyDTO;
-import com.ruoyi.chargingPile.api.model.Site;
-import com.ruoyi.chargingPile.api.model.TAccountingStrategy;
-import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
-import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.chargingPile.api.model.*;
import com.ruoyi.chargingPile.api.vo.StrategyPriceVO;
import com.ruoyi.chargingPile.api.vo.TAccountingStrategyDetailVO;
-import com.ruoyi.chargingPile.service.ISiteService;
-import com.ruoyi.chargingPile.service.TAccountingStrategyDetailService;
-import com.ruoyi.chargingPile.service.TAccountingStrategyService;
-import com.ruoyi.chargingPile.service.TChargingPileService;
+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 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;
@@ -40,13 +36,15 @@
private final ISiteService siteService;
private final TChargingPileService chargingPileService;
+ private final TChargingGunService chargingGunService;
private final TAccountingStrategyService accountingStrategyService;
private final TAccountingStrategyDetailService accountingStrategyDetailService;
@Autowired
- public TAccountingStrategyDetailController(ISiteService siteService, TChargingPileService chargingPileService, TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) {
+ public TAccountingStrategyDetailController(ISiteService siteService, TChargingPileService chargingPileService, TChargingGunService chargingGunService, TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) {
this.siteService = siteService;
this.chargingPileService = chargingPileService;
+ this.chargingGunService = chargingGunService;
this.accountingStrategyService = accountingStrategyService;
this.accountingStrategyDetailService = accountingStrategyDetailService;
}
@@ -75,6 +73,15 @@
}
/**
+ * 通过站点id查询当前时间段计费策略展示
+ */
+ @ApiOperation(tags = {"小程序-站点管理-站点详情"},value = "通过枪id查询当前时间段计费策略展示")
+ @GetMapping(value = "/queryStrategyByGunIdAndTime")
+ public AjaxResult<List<TAccountingStrategyDetailVO>> queryStrategyByGunIdAndTime(@RequestParam("gunId") Integer gunId) {
+ return AjaxResult.ok(accountingStrategyDetailService.queryStrategyByGunIdAndTime(gunId));
+ }
+
+ /**
* 价格说明金额返回,会员开通金额说明
*/
@ApiOperation(tags = {"小程序-站点管理-站点详情"},value = "价格说明金额返回,会员开通金额说明")
@@ -91,35 +98,64 @@
* @param siteId
* @return
*/
- @PostMapping("/getDetailBySiteId")
+ @GetMapping("/getDetailBySiteId")
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查询当前时段使用的策略明细
* @param code 设备编号
* @return
*/
- @PostMapping("/getDetailByCode")
- public R<TAccountingStrategyDetail> getDetailByPileId(@RequestParam("code") String code){
+ @GetMapping("/getDetailByCode")
+ public R<TAccountingStrategyDetail> getDetailByCode(@RequestParam("code") String code){
// 查询桩
TChargingPile chargingPile = chargingPileService.getOne(Wrappers.lambdaQuery(TChargingPile.class)
- .eq(TChargingPile::getCode,code)
+ .eq(TChargingPile::getCode,code).eq(TChargingPile::getDelFlag, 0)
.last("LIMIT 1"));
if(Objects.isNull(chargingPile)){
return R.fail("未查询到该桩设备");
}
- Site site = siteService.getById(chargingPile.getSiteId());
- 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);
+ TChargingGun chargingGun = chargingGunService.getOne(Wrappers.lambdaQuery(TChargingGun.class)
+ .eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0)
+ .last("LIMIT 1"));
+ TAccountingStrategy accountingStrategy = accountingStrategyService.getById(chargingGun.getAccountingStrategyId());
+ TAccountingStrategyDetail one = null;
+ if(Objects.nonNull(accountingStrategy)){
+ 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());
+ 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();
}
/**
* 校验充电桩计费模版是否准确
@@ -130,7 +166,7 @@
public R<Boolean> checkChargingStrategy(@RequestBody CheckChargingStrategyDTO dto){
// 查询桩
TChargingPile chargingPile = chargingPileService.getOne(Wrappers.lambdaQuery(TChargingPile.class)
- .eq(TChargingPile::getCode,dto.getCode())
+ .eq(TChargingPile::getCode,dto.getCode()).eq(TChargingPile::getDelFlag, 0)
.last("LIMIT 1"));
if(Objects.isNull(chargingPile)){
return R.ok(false);
@@ -149,7 +185,7 @@
* @param id
* @return
*/
- @PostMapping("/getListByAccountingStrategyId")
+ @GetMapping("/getListByAccountingStrategyId")
public R<List<TAccountingStrategyDetail>> getListByAccountingStrategyId(@RequestParam("id") Integer id){
List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(new LambdaQueryWrapper<TAccountingStrategyDetail>().eq(TAccountingStrategyDetail::getAccountingStrategyId, id));
return R.ok(list);
@@ -160,20 +196,30 @@
* @param code
* @return
*/
- @PostMapping("/t-accounting-strategy-detail/getDetailListByCode")
+ @GetMapping("/getDetailListByCode")
public R<List<TAccountingStrategyDetail>> getDetailListByCode(@RequestParam("code") String code){
// 查询桩
TChargingPile chargingPile = chargingPileService.getOne(Wrappers.lambdaQuery(TChargingPile.class)
- .eq(TChargingPile::getCode,code)
+ .eq(TChargingPile::getCode,code).eq(TChargingPile::getDelFlag, 0)
.last("LIMIT 1"));
if(Objects.isNull(chargingPile)){
return R.fail("未查询到该桩设备");
}
- Site site = siteService.getById(chargingPile.getSiteId());
- TAccountingStrategy accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId());
- List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
- .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()));
- return R.ok(accountingStrategyDetails);
+ TChargingGun chargingGun = chargingGunService.getOne(Wrappers.lambdaQuery(TChargingGun.class)
+ .eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0)
+ .last("LIMIT 1"));
+ TAccountingStrategy accountingStrategy = accountingStrategyService.getById(chargingGun.getAccountingStrategyId());
+ if(Objects.nonNull(accountingStrategy)){
+ List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
+ .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()));
+ return R.ok(accountingStrategyDetails);
+ }else {
+ Site site = siteService.getById(chargingPile.getSiteId());
+ accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId());
+ List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
+ .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()));
+ return R.ok(accountingStrategyDetails);
+ }
}
}
--
Gitblit v1.7.1