package com.moral.api.service;
import com.moral.api.entity.SysDictData;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moral.api.pojo.dto.sysDictData.SysDictDataDTO;
import com.moral.api.pojo.form.sysDictData.SysDictDataDeleteForm;
import com.moral.api.pojo.form.sysDictData.SysDictDataInsertForm;
import com.moral.api.pojo.form.sysDictData.SysDictDataUpdateForm;
import java.util.List;
import java.util.Map;
/**
 * 
 * 字典表 服务类
 * 
 *
 * @author moral
 * @since 2021-04-13
 */
public interface SysDictDataService extends IService {
    /**
    * @Description: 删除字典数据
            * @Param: [id]
            * @return: com.moral.api.pojo.dto.sysDictData.SysDictDataDTO
            * @Author: 陈凯裕
            * @Date: 2021/4/16
            */
    SysDictDataDTO deleteData(SysDictDataDeleteForm form);
    /**
    * @Description: 更新字典数据
            * @Param: [form]
            * @return: com.moral.api.entity.sysDictData
            * @Author: 陈凯裕
            * @Date: 2021/4/16
            */
    SysDictDataDTO updateData(SysDictDataUpdateForm form);
    /**
     * @Description: 根据字典类型id插入字典类型数据
     * @Param: [form]
     * @return: com.moral.api.pojo.dto.sysDictData.SysDictDataDTO
     * @Author: 陈凯裕
     * @Date: 2021/4/16
     */
    SysDictDataDTO insertData(SysDictDataInsertForm form);
    /**
     * @Description: 通过类型名字获取字典数据
     * @Param: [typeName]
     * @return: java.util.Map
     * @Author: 陈凯裕
     * @Date: 2021/4/15
     */
    Map queryDataByTypeName(String typeName);
    /**
     * @Description: 获取所有字典数据
     * @Param: []
     * @return: java.util.Map>
     * @Author: 陈凯裕
     * @Date: 2021/4/15
     */
    Map> getAllDictData();
    /**
    * @Description: 通过类型获取数据的map集合,map的key就是数据的key,map的value是数据对象本身
            * @Param: [type]
            * @return: java.util.Map
            * @Author: 陈凯裕
            * @Date: 2021/5/12
            */
    Map getDictDatasByType(String type);
    /**
    * @Description: 刷新字典类型缓存
            * @Param: []
            * @return: void
            * @Author: 陈凯裕
            * @Date: 2021/6/28
            */
    void refreshCache();
}