package com.gci.boot.modules.system.mapper;

import com.gci.boot.modules.system.entity.SysDict;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gci.boot.modules.system.vo.DictModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author chenzhiwei
 * @since 2023-08-25
 */
public interface SysDictMapper extends BaseMapper<SysDict> {

    List<DictModel> queryDictItemsByCode(@Param("code") String code);

    List<DictModel> queryDictByValue(@Param("code") String code, @Param("key") String key);

    List<DictModel> queryDictByText(@Param("code") String code, @Param("key") String key);

    List<DictModel> queryTableDictByValue(@Param("table") String table, @Param("text") String text, @Param("code") String code, @Param("key") String key);

    List<DictModel> queryTableDictByText(@Param("table") String table, @Param("text") String text, @Param("code") String code, @Param("key") String key);

    List<DictModel> queryTableDictItemsByCode(@Param("table") String table, @Param("text") String text, @Param("code") String code, @Param("filterSql") String filterSql);

    List<DictModel> queryNoDelTableDictByValue(@Param("table") String table, @Param("text") String text, @Param("code") String code, @Param("key") String key);
    
    String queryDictDelFlag(@Param("table") String table);
    
}
