package com.simuwang.manage.api.system;

import com.simuwang.base.common.support.MybatisPage;
import com.simuwang.base.pojo.dto.query.ConfigPageQuery;
import com.simuwang.base.pojo.vo.ConfigIdListVO;
import com.simuwang.base.pojo.vo.ConfigIdVO;
import com.simuwang.base.pojo.vo.SysConfigVO;
import com.simuwang.logging.SystemLog;
import com.simuwang.manage.service.system.SysConfigService;
import com.smppw.common.pojo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;


/**
 * 参数配置
 * @author ruoyi
 */
@SystemLog(value = "参数配置管理")
@RestController
@RequestMapping("/v1/sys/config")
public class SysConfigController
{
    @Autowired
    private SysConfigService configService;

    /**
     * 查询参数配置列表
     * @param query
     * @return
     */
    @SystemLog("查询参数配置列表")
    @GetMapping("/search-config-list")
    public MybatisPage<SysConfigVO> searchConfigList(ConfigPageQuery query) {
        return configService.searchConfigList(query);
    }

    /**
     * 批量删除参数配置
     * @param configIdListVO
     * @return
     */
    @SystemLog("批量删除参数配置")
    @PostMapping("/delete-config-list")
    public boolean deleteConfigList(@RequestBody ConfigIdListVO configIdListVO) {
        configService.deleteConfigList(configIdListVO.getConfigIdList());
        return true;
    }

    /**
     * 编辑查询
     * @param configIdVO
     * @return
     */
    @SystemLog("编辑查询")
    @GetMapping("/search-config")
    public ResultVo searchConfigList(ConfigIdVO configIdVO) {
        SysConfigVO sysConfigVO = configService.searchConfigById(configIdVO.getConfigId());
        return new ResultVo(sysConfigVO==null?false:sysConfigVO);
    }

    /**
     * 保存参数配置
     * @param sysConfigVO
     * @return
     */
    @SystemLog("保存参数配置")
    @PostMapping("/save-config")
    public ResultVo saveConfig(@RequestBody SysConfigVO sysConfigVO) {
        ResultVo vo = configService.saveConfig(sysConfigVO);
        return vo;
    }

}
