package com.energy.manage.service.controller.analysis;

import com.energy.manage.common.base.Page;
import com.energy.manage.common.reponse.ResultResp;
import com.energy.manage.service.config.annotations.UserLoginToken;
import com.energy.manage.service.controller.base.BaseServiceController;
import com.energy.manage.service.domain.dto.analysis.AutoAnalysisConfigDetailDto;
import com.energy.manage.service.domain.vo.analysis.AutoAnalysisConfigDetailVo;
import com.energy.manage.service.service.autoanalysisconfig.AutoAnalysisConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @author chy
 * @date 2025/3/27 09:05
 * @desc 自动分析配置
 */
@Api(value = "AutoAnalysisConfigController",tags = "自动分析配置")
@RestController
@RequestMapping("/autoAnalysis")
public class AutoAnalysisConfigController extends BaseServiceController {

    @Autowired
    private AutoAnalysisConfigService autoAnalysisConfigService;


    @ApiOperation(value = "自动分析配置列表")
    @UserLoginToken
    @GetMapping("/configList")
    public ResultResp<Page<AutoAnalysisConfigDetailVo>> configList(AutoAnalysisConfigDetailDto autoAnalysisConfigDetailDto) {
        return pageResult(autoAnalysisConfigService.configList(autoAnalysisConfigDetailDto),autoAnalysisConfigDetailDto);
    }

    @ApiOperation(value = "增加配置")
    @UserLoginToken
    @PostMapping("/configSave")
    public ResultResp configSave(@RequestBody AutoAnalysisConfigDetailDto autoAnalysisConfigDetailDto) {
        return autoAnalysisConfigService.configSave(autoAnalysisConfigDetailDto);
    }


    @ApiOperation(value = "编辑配置")
    @UserLoginToken
    @PostMapping("/configEdit")
    public ResultResp configEdit(@RequestBody AutoAnalysisConfigDetailDto autoAnalysisConfigDetailDto) {
        return autoAnalysisConfigService.configEdit(autoAnalysisConfigDetailDto);
    }

    @ApiOperation(value = "开启/关停自动分析")
    @UserLoginToken
    @PostMapping("/onOff")
    public ResultResp onOff(@RequestBody AutoAnalysisConfigDetailDto autoAnalysisConfigDetailDto) {
        return autoAnalysisConfigService.onOff(autoAnalysisConfigDetailDto);
    }
}
