package cn.qinys.platform.upms.api.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.qinys.platform.entity.upms.Dictionary;
import cn.qinys.platform.entity.upms.DictionaryOption;
import cn.qinys.platform.upms.api.req.*;

import java.util.List;
import java.util.Map;

/**
 * Description:
 *
 * @author tanlie
 * Date: 2024/2/26 18:30
 */
public interface IDictionaryService {

    /**
     * 获取字典列表
     *
     * @return
     */
    Map<Object, Object> getDictionaries();

    /**
     * 字典分页
     *
     * @param req
     * @return
     */
    Page<Dictionary> getDictionaryPage(DictionariesPageReq req);

    /**
     * 新增字典
     *
     * @param req
     */
    void createDictionary(DictionaryCreateReq req);

    /**
     * 更新字典
     *
     * @param req
     */
    void updateDictionary(DictionaryUpdateReq req);

    /**
     * 刷新字典
     */
    void refreshDictionary();

    /**
     * 删除字典
     *
     * @param req
     */
    void removeDictionary(DictionaryRemoveReq req);

    /**
     * 字典选项列表
     *
     * @param req
     * @return
     */
    List<DictionaryOption> getOptionList(DictionaryOptionListReq req);

    /**
     * 新增字典选项
     *
     * @param req
     */
    void optionCreate(DictionaryOptionCreateReq req);

    /**
     * 新增字典选项
     *
     * @param req
     */
    void optionUpdate(DictionaryOptionUpdateReq req);

    /**
     * 字典选项删除
     *
     * @param req
     */
    void optionRemove(DictionaryOptionRemoveReq req);
}
