xuhy
2024-08-12 a17f15e196a89ab8a35fc8344384a6996c0864aa
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.chargingPile.api.dto.TAccountingStrategyDTO;
import com.ruoyi.chargingPile.api.model.TAccountingStrategy;
import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
@@ -14,11 +15,16 @@
import com.ruoyi.chargingPile.service.TAccountingStrategyService;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.log.enums.OperatorType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
@@ -36,6 +42,9 @@
    private final TAccountingStrategyService accountingStrategyService;
    private final TAccountingStrategyDetailService accountingStrategyDetailService;
    @Resource
    private TokenService tokenService;
    @Autowired
    public TAccountingStrategyController(TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) {
@@ -55,12 +64,12 @@
    /**
     * 查询计费策略明细列表
     */
    @ApiOperation(tags = {"后台-计费策略"},value = "查询计费策略明细列表")
    @ApiOperation(tags = {"后台-计费策略", "管理后台-站点管理", "管理后台-充电桩信息"},value = "查询计费策略明细列表")
    @GetMapping(value = "/queryAccountingStrategyDetailByStrategyId")
    public AjaxResult<List<TAccountingStrategyDetailVO>> queryAccountingStrategyDetailByStrategyId(@RequestParam Integer strategyId) {
        List<TAccountingStrategyDetailVO> list = accountingStrategyDetailService.queryAccountingStrategyDetailByStrategyId(strategyId);
        list.forEach(detail -> {
            detail.setTotalPrice(detail.getCostServiceCharge().add(detail.getElectrovalence()));
            detail.setTotalPrice(detail.getElectrovalence().add(detail.getElectrovalence()));
        });
        return AjaxResult.ok(list);
    }
@@ -68,20 +77,23 @@
    /**
     * 添加计费策略管理
     */
    @ApiOperation(tags = {"后台-计费策略"},value = "添加计费策略")
    @Log(title = "添加计费策略", businessType = BusinessType.INSERT,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-计费策略", "管理后台-站点管理"},value = "添加计费策略")
    @PostMapping(value = "/add")
    public AjaxResult<Boolean> add(@RequestBody TAccountingStrategyDTO dto) {
    public AjaxResult<Integer> add(@RequestBody TAccountingStrategyDTO dto) {
        accountingStrategyService.save(dto);
        // 添加明细
        dto.getAccountingStrategyDetails().forEach(detail -> detail.setAccountingStrategyId(dto.getId()));
        accountingStrategyDetailService.saveBatch(dto.getAccountingStrategyDetails());
        // TODO 硬件 同步策略到充电桩
        return AjaxResult.ok(accountingStrategyDetailService.saveBatch(dto.getAccountingStrategyDetails()));
        return AjaxResult.ok(dto.getId());
    }
    /**
     * 修改计费策略
     */
    @ApiOperation(tags = {"后台-计费策略"},value = "修改计费策略")
    @Log(title = "修改计费策略", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-计费策略", "管理后台-站点管理"},value = "修改计费策略")
    @PostMapping(value = "/update")
    public AjaxResult<Boolean> update(@RequestBody TAccountingStrategyDTO dto) {
        // 删除计费策略明细信息
@@ -97,7 +109,7 @@
    /**
     * 查看计费策略详情
     */
    @ApiOperation(tags = {"后台-计费策略"},value = "查看计费策略详情")
    @ApiOperation(tags = {"后台-计费策略", "管理后台-站点管理"},value = "查看计费策略详情")
    @GetMapping(value = "/getDetailById")
    public AjaxResult<TAccountingStrategy> getDetailById(@RequestParam Integer id) {
        return AjaxResult.ok(accountingStrategyService.getById(id));
@@ -106,6 +118,7 @@
    /**
     * 删除计费策略
     */
    @Log(title = "删除计费策略", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-计费策略"},value = "删除计费策略")
    @DeleteMapping(value = "/deleteById")
    public AjaxResult<Boolean> deleteById(@RequestParam Integer id) {
@@ -118,6 +131,7 @@
    /**
     * 批量删除计费策略
     */
    @Log(title = "批量删除计费策略", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-计费策略"},value = "批量删除计费策略")
    @DeleteMapping(value = "/deleteByIds")
    public AjaxResult<Boolean> deleteByIds(@RequestBody List<Integer> ids) {
@@ -127,5 +141,39 @@
        return AjaxResult.ok(accountingStrategyService.removeByIds(ids));
    }
    
    @ApiOperation(tags = {"管理后台-站点管理"},value = "获取平台添加的计费策略")
    @DeleteMapping(value = "/getPlatformAccountingStrategy")
    public AjaxResult<List<TAccountingStrategyVO>> getPlatformAccountingStrategy(){
        List<TAccountingStrategyVO> list = accountingStrategyService.getPlatformAccountingStrategy();
        return AjaxResult.success(list);
    }
    @ApiOperation(tags = {"后台-申请表单-计费模板审核"},value = "查询计费审核分页列表")
    @PostMapping(value = "/auth/pageList")
    public AjaxResult authPageList(@RequestBody TAccountingStrategyQuery query) {
        Long userid = tokenService.getLoginUser().getUserid();
        Page<TAccountingStrategy> page = accountingStrategyService.lambdaQuery()
                .in(TAccountingStrategy::getFirstUserId, userid)
                .or().in(TAccountingStrategy::getTwoUserId, userid)
                .page(Page.of(query.getPageCurr(), query.getPageSize()));
        List<TAccountingStrategy> records = page.getRecords();
        for (TAccountingStrategy record : records) {
            if (record.getAuditStatus()==2){
                if (record.getFirstUserId().equals(userid)){
                    record.setAuditStatus(3);
                }
            }
        }
        return AjaxResult.ok(accountingStrategyService.pageList(query));
    }
}