package com.njcn.gather.system.dictionary.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.gather.system.dictionary.pojo.param.DictTypeParam;
import com.njcn.gather.system.dictionary.pojo.po.DictType;

import java.util.List;

/**
 * @author hongawen
 * @since 2021-12-13
 */
public interface IDictTypeService extends IService<DictType> {

    /**
     * 根据前台传递参数，分页查询字典类型数据
     * @param queryParam 查询参数
     * @return 字典列表
     */
    Page<DictType> listDictTypes(DictTypeParam.QueryParam queryParam);

    /**
     * 新增字典类型数据
     *
     * @param dictTypeParam 字典类型数据
     * @return 操作结果
     */
    boolean addDictType(DictTypeParam dictTypeParam);

    /**
     * 修改字典类型
     *
     * @param updateParam 字典类型数据
     * @return 操作结果
     */
    boolean updateDictType(DictTypeParam.UpdateParam updateParam);

    /**
     * 批量逻辑删除字典类型数据
     * @param ids id集合
     * @return 操作结果
     */
    boolean deleteDictType(List<String> ids);

    /**
     * 导出字典类型数据
     * @param queryParam 查询参数
     */
    void exportDictType(DictTypeParam.QueryParam queryParam);

    /**
     * 根据code获取字典类型数据
     *
     * @param code 字典类型code
     * @return
     */
    DictType getByCode(String code);
}
