package com.ghy.system.service;


import com.ghy.system.domain.SysGlobalConfig;

/**
 * @Author: 但星霖
 * @Date: 2023-11-08 16:12
 * @Version: 1.0
 * @Description: 系统配置表业务接口层
 */
public interface ISysGlobalConfigService {

    /**
     * 系统配置项数据新增
     *
     * @param sysConfig 配置项数据实体
     * @return 是否新增成功
     */
    Boolean create(SysGlobalConfig sysConfig);

    /**
     * 系统配置项数据修改 根据Id进行修改
     *
     * @param sysConfig 配置项数据实体
     * @return 是否修改成功
     */
    Boolean update(SysGlobalConfig sysConfig);

    /**
     * 系统配置项数据删除 根据id进行删除
     *
     * @param id 系统配置项主键id
     * @return 是否删除成功
     */
    Boolean delete(Long id);

    /**
     * 根据配置项主键id进行数据查询
     *
     * @param id 配置主键id
     * @return config配置项实体信息
     */
    SysGlobalConfig loadById(Long id);

    /**
     * 根据配置名称进行查询配置项数据
     *
     * @param name     配置项名称
     * @param configId 配置Id
     * @return 是否可用
     */
    Boolean vailName(String name, Long configId);


    /**
     * 根据type进行查询对应系统配置信息
     *
     * @param type 系统配置类型
     * @return SysConfig 系统配置实体
     */
    SysGlobalConfig loadByConfigType(Integer type);
}
