package com.yfd.platform.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yfd.platform.system.domain.SysDictionaryItems;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 数据字典明细 服务类
 * </p>
 *
 * @author LiMengNan
 * @since 2023-03-08
 */
public interface ISysDictionaryItemsService extends IService<SysDictionaryItems> {

    /**********************************
     * 用途说明: 分页查询字典项信息
     * 参数说明  dictID 字典ID ItemName 字典项名称  pageNum 当前页
     * 返回值说明: com.yfd.platform.config.ResponseResult 返回分页查询结果
     ***********************************/
    Page<SysDictionaryItems> getDictItemPage(String dictId, String itemName, Page<SysDictionaryItems> page);

    /**********************************
     * 用途说明: 增加字典项
     * 参数说明  sysDictionaryItems 字典项信息
     * 返回值说明: com.yfd.platform.config.ResponseResult 返回增加成功或者失败
     ***********************************/
    boolean addDictionaryItem(SysDictionaryItems sysDictionaryItems);

    /**********************************
     * 用途说明: 拖动修改字典项顺序
     * 参数说明  fromID 当前ID  toID 到达ID
     * 返回值说明: com.yfd.platform.config.ResponseResult 返回拖动成功或者失败
     ***********************************/
    boolean changeItemOrder(String fromID, String toID);

    /**********************************
     * 用途说明: 导出数据字典项数据
     * 参数说明  sysDictionaryItemsList  所需导出的字典项集合
     * 返回值说明: com.yfd.platform.config.ResponseResult 返回导出成功或失败
     ***********************************/
    void exportExcel(List<SysDictionaryItems> records, HttpServletResponse response);

    List<Map<String, Object>> getDeviceByType(String dictcode);
}
