From c3507b19863dbc97840e79ae95b8d3e13143c773 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 07 九月 2024 10:48:30 +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 | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 102 insertions(+), 5 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 ffc0dfa..35c031e 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
@@ -1,23 +1,26 @@
package com.ruoyi.chargingPile.controller;
+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.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.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
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.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
@@ -36,12 +39,14 @@
public class TAccountingStrategyDetailController {
private final ISiteService siteService;
+ private final TChargingPileService chargingPileService;
private final TAccountingStrategyService accountingStrategyService;
private final TAccountingStrategyDetailService accountingStrategyDetailService;
@Autowired
- public TAccountingStrategyDetailController(ISiteService siteService, TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) {
+ public TAccountingStrategyDetailController(ISiteService siteService, TChargingPileService chargingPileService, TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) {
this.siteService = siteService;
+ this.chargingPileService = chargingPileService;
this.accountingStrategyService = accountingStrategyService;
this.accountingStrategyDetailService = accountingStrategyDetailService;
}
@@ -77,6 +82,98 @@
public AjaxResult<StrategyPriceVO> queryPrice(@RequestParam("siteId") Integer siteId) {
return AjaxResult.ok(accountingStrategyDetailService.queryPrice(siteId));
}
+
+
+
+ /**
+ * 通过站点id查询当前时段使用的策略明细
+ * @param siteId
+ * @return
+ */
+ @PostMapping("/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);
+ }
+ /**
+ * 通过桩id查询当前时段使用的策略明细
+ * @param code 设备编号
+ * @return
+ */
+ @PostMapping("/getDetailByCode")
+ public R<TAccountingStrategyDetail> getDetailByPileId(@RequestParam("code") String code){
+ // 查询桩
+ TChargingPile chargingPile = chargingPileService.getOne(Wrappers.lambdaQuery(TChargingPile.class)
+ .eq(TChargingPile::getCode,code)
+ .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);
+ }
+ /**
+ * 校验充电桩计费模版是否准确
+ * @param
+ * @return
+ */
+ @PostMapping("/checkChargingStrategy")
+ public R<Boolean> checkChargingStrategy(@RequestBody CheckChargingStrategyDTO dto){
+ // 查询桩
+ TChargingPile chargingPile = chargingPileService.getOne(Wrappers.lambdaQuery(TChargingPile.class)
+ .eq(TChargingPile::getCode,dto.getCode())
+ .last("LIMIT 1"));
+ if(Objects.isNull(chargingPile)){
+ return R.ok(false);
+ }
+ 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(dto.getStrategyDetailId().equals(one.getId()));
+ }
+
+
+ /**
+ * 根据计费策略主表id策略明细
+ * @param id
+ * @return
+ */
+ @PostMapping("/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);
+ }
+
+ /**
+ * 通过桩编号查询当前使用的策略明细列表
+ * @param code
+ * @return
+ */
+ @PostMapping("/t-accounting-strategy-detail/getDetailListByCode")
+ public R<List<TAccountingStrategyDetail>> getDetailListByCode(@RequestParam("code") String code){
+ // 查询桩
+ TChargingPile chargingPile = chargingPileService.getOne(Wrappers.lambdaQuery(TChargingPile.class)
+ .eq(TChargingPile::getCode,code)
+ .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);
+ }
}
--
Gitblit v1.7.1