package cn.com.tenlion.bigdata.dao.bigdatamodule;

import cn.com.tenlion.bigdata.pojo.dtos.bigdatamodule.BigdataModuleDTO;
import ink.wgink.exceptions.RemoveException;
import ink.wgink.exceptions.SaveException;
import ink.wgink.exceptions.SearchException;
import ink.wgink.exceptions.UpdateException;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;

/**
 * @ClassName: IBigdataModuleDao
 * @Description: 大数据展示模块
 * @Author: WenG
 * @Date: 2020-10-19 16:18
 * @Version: 1.0
 **/
@Repository
public interface IBigdataModuleDao {

    /**
     * 新增大数据展示模块
     *
     * @param params
     * @throws SaveException
     */
    void saveBigdataModule(Map<String, Object> params) throws SaveException;

    /**
     * 删除大数据展示模块
     *
     * @param params
     * @throws RemoveException
     */
    void removeBigdataModule(Map<String, Object> params) throws RemoveException;

    /**
    * 删除大数据展示模块（物理）
    *
    * @param params
    * @throws RemoveException
    */
    void deleteBigdataModule(Map<String, Object> params) throws RemoveException;

    /**
     * 修改大数据展示模块
     *
     * @param params
     * @throws UpdateException
     */
    void updateBigdataModule(Map<String, Object> params) throws UpdateException;

    /**
     * 大数据展示模块详情
     *
     * @param params
     * @return
     * @throws SearchException
     */
    BigdataModuleDTO getBigdataModule(Map<String, Object> params) throws SearchException;

    /**
     * 大数据展示模块列表
     *
     * @param params
     * @return
     * @throws SearchException
     */
    List<BigdataModuleDTO> listBigdataModule(Map<String, Object> params) throws SearchException;

    /**
    * 大数据展示模块统计
    *
    * @param params
    * @return
    * @throws SearchException
    */
    Integer countBigdataModule(Map<String, Object> params) throws SearchException;

    void updateBigdataModuleContent(Map<String, Object> params) throws UpdateException;

    BigdataModuleDTO getBigdataModuleByCode(String bigdataModuleCode) throws SearchException;

    void updateBigdataModuleSwitch(Map<String, Object> params) throws UpdateException;
}