From c7372ea9e06ba1a2df85bbff1fe4d38a45693de8 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 03 九月 2024 17:55:18 +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 | 97 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 95 insertions(+), 2 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 f4cd149..f8558c5 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,9 +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.model.Site; +import com.ruoyi.chargingPile.api.model.TAccountingStrategy; +import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail; +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.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 org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Objects; /** * <p> @@ -18,5 +35,81 @@ @RequestMapping("/t-accounting-strategy-detail") public class TAccountingStrategyDetailController { + private final ISiteService siteService; + private final TAccountingStrategyService accountingStrategyService; + private final TAccountingStrategyDetailService accountingStrategyDetailService; + + @Autowired + public TAccountingStrategyDetailController(ISiteService siteService, TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) { + this.siteService = siteService; + this.accountingStrategyService = accountingStrategyService; + this.accountingStrategyDetailService = accountingStrategyDetailService; + } + + /** + * 通过电站id查询计费策略明细列表 + */ + @ApiOperation(tags = {"小程序-站点管理-站点详情"},value = "通过站点id查询计费策略明细列表") + @GetMapping(value = "/queryAccountingStrategyDetailBySiteId") + 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("未查询到计费策略"); + } + 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)); + } + + + /** + * 获取当前有效的计费模板 + * @param accountingStrategyId + * @return + */ + @PostMapping("/getNowData") + public R<TAccountingStrategyDetail> getNowData(@RequestParam("accountingStrategyId") Integer accountingStrategyId){ + TAccountingStrategyDetail one = accountingStrategyDetailService.getOne(new LambdaQueryWrapper<TAccountingStrategyDetail>() + .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategyId) + .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time")); + return R.ok(one); + } + + /** + * 获取当前有效的计费模板 + * @param accountingStrategyId + * @return + */ + /** + * 通过站点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); + } } -- Gitblit v1.7.1