package cn.common.service;

import cn.common.interaction.req.dict.BusinessDictAddReq;
import cn.common.interaction.req.dict.BusinessDictPageReq;
import cn.common.interaction.req.dict.BusinessDictUpdateReq;
import cn.common.interaction.resp.dict.PlatformDictResp;
import cn.common.interaction.resp.page.Pagination;

import java.util.List;

/**
 * @author Singer create by singer email:singer-coder@qq.com
 * @projectName health-platform-api
 * @Description: 系统字典Service
 * @date 2019-08-28
 */
public interface PlatformDictService {


    /**
     * 根据系统业务字典主键ID系统字典信息
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2020-07-07
     * @param platformDictIdList 系统字典主键ID集合
     */
    void deleteByMainId(List<String> platformDictIdList);

    /**
     * 系统字典更新
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2020-07-07
     * @param businessDictUpdateReq 系统字典更新Req
     */
    void updateItem(BusinessDictUpdateReq businessDictUpdateReq);

    /**
     * 分页查询系统业务字典信息
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2020-07-07
     * @param businessDictPageReq 分页查询系统业务字典Req
     * @return Pagination
     */
    Pagination<PlatformDictResp> queryByPage(
            BusinessDictPageReq businessDictPageReq);

    /**
     * 新增系统字典参数
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2020-07-07
     * @param businessDictAddReq 新增系统字典参数请求Req
     * @return
     */
    void addItem(BusinessDictAddReq businessDictAddReq);

    /**
     * 根据字典值模糊查询字典信息
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2021/1/21
     * @param dictValue 字段值
     * @return List
     */
    List<PlatformDictResp> queryDictionaryByValue(String dictValue);

    /**
     * 根据字典分类查询字典信息
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2021/1/21
     * @param dictType 字段类型
     * @return List
     */
    List<PlatformDictResp> queryDictionaryByType(String dictType);


}
