package com.bonus.sgzb.base.mapper;

import com.bonus.sgzb.base.api.domain.SysDic;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;


/**
 * 数据字典Mapper接口
 *
 * @author bonus
 * @date 2023-12-11
 */
@Mapper
public interface SysDicMapper
{
    /**
     * 查询数据字典
     *
     * @param id 数据字典主键
     * @return 数据字典
     */
    public SysDic selectSysDicById(Long id);

    /**
     * 查询数据字典列表
     *
     * @param sysDic 数据字典
     * @return 数据字典集合
     */
    public List<SysDic> selectSysDicList(SysDic sysDic);
    public List<SysDic> selectSysDic(SysDic sysDic);
    /**
     *
     * 查询父类数据字典列表
     *
     * @param sysDic 数据字典
     * @return 数据字典集合
     */
    public List<SysDic> selectSysDicLists(SysDic sysDic);
    /**
     * 新增数据字典
     *
     * @param sysDic 数据字典
     * @return 结果
     */
    public int insertSysDic(SysDic sysDic);

    /**
     * 修改数据字典
     *
     * @param sysDic 数据字典
     * @return 结果
     */
    public int updateSysDic(SysDic sysDic);
    /**
     * 修改单位状态bm_unit_type（同数据字典合并）
     *
     * @param sysDic 单位类型bm_unit_type（同数据字典合并）
     * @return 结果
     */
    public int updates(SysDic sysDic);
    /**
     * 删除数据字典
     *
     * @param id 数据字典主键
     * @return 结果
     */
    public int deleteSysDicById(Long id);

    /**
     * 批量删除数据字典
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysDicByIds(Long[] ids);

    /**
     * 根据名称校验唯一性
     * @param name
     * @return
     */
    SysDic selectByName(String name);

    List<String> getBear();
}
