package com.jwipc.sys.logic;

import com.jwipc.page.PageView;
import com.jwipc.sys.dto.FileResposeDTO;
import com.jwipc.sys.dto.SysConfigDTO;
import com.jwipc.sys.model.query.SysConfigQuery;

import java.util.List;

/**
 * @author shenyang.ou
 * @date 2024/2/2 17:01
 * @desc 系统参数
 */
public interface SysConfigLogic {
    PageView findByPage(SysConfigQuery query);

    List<SysConfigDTO> listAll(SysConfigQuery query);

    SysConfigDTO getById(Long id);

    void saveOrUpdate(SysConfigDTO param);

    /**
     * 配置数据状态更新
     *
     * @param ids    配置数据的ID集合
     * @param status 变更的状态 0:启用 1:禁用
     * @return 结果
     */
    void updateStatus(String ids, Integer status);

    void batchRemove(String ids);

    /**
     * 获取文本型系统参数
     * @param key 唯一编码
     * @return 参数
     */
    String getTextConfig(String key);

    /**
     * 获取附件型文件
     *
     * @param key 唯一编码
     * @return 文件
     */
    FileResposeDTO getFileConfig(String key);

    /**
     * 获取单选型系统参数
     *
     * @param key 唯一编码
     * @return 参数 0-否；1-是
     */
    Integer getRadioConfig(String key);
}
