package com.ruoyi.chargingPile.controller;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.ruoyi.chargingPile.api.model.TAccountingStrategy;
|
import com.ruoyi.chargingPile.api.vo.StrategyPriceVO;
|
import com.ruoyi.chargingPile.api.vo.TAccountingStrategyDetailVO;
|
import com.ruoyi.chargingPile.service.TAccountingStrategyDetailService;
|
import com.ruoyi.chargingPile.service.TAccountingStrategyService;
|
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 java.time.LocalTime;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Objects;
|
|
/**
|
* <p>
|
* 计费策略明细 前端控制器
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2024-08-06
|
*/
|
@Api(tags = "计费策略明细")
|
@RestController
|
@RequestMapping("/t-accounting-strategy-detail")
|
public class TAccountingStrategyDetailController {
|
|
private final TAccountingStrategyService accountingStrategyService;
|
private final TAccountingStrategyDetailService accountingStrategyDetailService;
|
|
@Autowired
|
public TAccountingStrategyDetailController(TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) {
|
this.accountingStrategyService = accountingStrategyService;
|
this.accountingStrategyDetailService = accountingStrategyDetailService;
|
}
|
|
/**
|
* 通过电站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"));
|
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 Integer siteId) {
|
return AjaxResult.ok(accountingStrategyDetailService.queryStrategyBySiteIdAndTime(siteId));
|
}
|
|
/**
|
* 价格说明金额返回,会员开通金额说明
|
*/
|
@ApiOperation(tags = {"小程序-站点管理-站点详情"},value = "价格说明金额返回,会员开通金额说明")
|
@GetMapping(value = "/queryPrice")
|
public AjaxResult<StrategyPriceVO> queryPrice(@RequestParam Integer siteId) {
|
return AjaxResult.ok(accountingStrategyDetailService.queryPrice(siteId));
|
}
|
|
}
|