From caa2b51bb4133f5a2e59eac242e744fb57f864a0 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 10 九月 2024 13:01:44 +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 | 146 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 130 insertions(+), 16 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 c58f62a..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,20 +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; @@ -32,11 +38,15 @@ @RequestMapping("/t-accounting-strategy-detail") public class TAccountingStrategyDetailController { + private final ISiteService siteService; + private final TChargingPileService chargingPileService; private final TAccountingStrategyService accountingStrategyService; private final TAccountingStrategyDetailService accountingStrategyDetailService; @Autowired - public TAccountingStrategyDetailController(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; } @@ -44,22 +54,126 @@ /** * 通过电站id查询计费策略明细列表 */ - @ApiOperation(tags = {"小程序-计费策略"},value = "通过站点id查询计费策略明细列表") + @ApiOperation(tags = {"小程序-站点管理-站点详情"},value = "通过站点id查询计费策略明细列表") @GetMapping(value = "/queryAccountingStrategyDetailBySiteId") - public AjaxResult<List<TAccountingStrategyDetailVO>> queryAccountingStrategyDetailBySiteId(@RequestParam Integer siteId) { - TAccountingStrategy accountingStrategy = accountingStrategyService.getOne(Wrappers.lambdaQuery(TAccountingStrategy.class) - .eq(TAccountingStrategy::getSiteId, siteId) - .last("limit 1")); + public AjaxResult<List<TAccountingStrategyDetailVO>> queryAccountingStrategyDetailBySiteId(@RequestParam("siteId") Integer siteId) { + Site site = siteService.getById(siteId); + TAccountingStrategy accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId()); if(Objects.isNull(accountingStrategy)){ throw new ServiceException("未查询到计费策略"); } - // TODO 修改 - List<TAccountingStrategyDetailVO> list = accountingStrategyDetailService.queryAccountingStrategyDetailByStrategyId(accountingStrategy.getId()); - list.forEach(detail -> { - detail.setTotalPrice(detail.getElectrovalence().add(detail.getElectrovalence())); - }); - return AjaxResult.ok(list); + return AjaxResult.ok(accountingStrategyDetailService.queryAccountingStrategyDetailByStrategyId(accountingStrategy.getId())); } + /** + * 通过站点id查询当前时间段计费策略展示 + */ + @ApiOperation(tags = {"小程序-站点管理-站点详情"},value = "通过站点id查询当前时间段计费策略展示") + @GetMapping(value = "/queryStrategyBySiteIdAndTime") + public AjaxResult<List<TAccountingStrategyDetailVO>> queryStrategyBySiteIdAndTime(@RequestParam("siteId") Integer siteId) { + return AjaxResult.ok(accountingStrategyDetailService.queryStrategyBySiteIdAndTime(siteId)); + } + + /** + * 价格说明金额返回,会员开通金额说明 + */ + @ApiOperation(tags = {"小程序-站点管理-站点详情"},value = "价格说明金额返回,会员开通金额说明") + @GetMapping(value = "/queryPrice") + 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