package cn.com.tenlion.configcontent.service.contentantistop;

import cn.com.tenlion.configcontent.pojo.dtos.contentantistop.ContentAntistopDTO;
import cn.com.tenlion.configcontent.pojo.vos.contentantistop.ContentAntistopVO;
import ink.wgink.exceptions.RemoveException;
import ink.wgink.exceptions.SearchException;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.SuccessResult;
import ink.wgink.pojo.result.SuccessResultList;
import java.util.List;
import java.util.Map;

/**
 * @ClassName: IContentAntistopService
 * @Description: 内容评论敏感词库
 * @Author: WenG
 * @Date: 2020-05-08 23:30
 * @Version: 1.0
 **/
public interface IContentAntistopService {

    /**
     * 新增内容评论敏感词库
     *
     * @param contentAntistopVO
     * @return
     * @throws Exception
     */
    SuccessResult saveContentAntistop(ContentAntistopVO contentAntistopVO) throws Exception;

    /**
     * 新增内容评论敏感词库(APP)
     *
     * @param token
     * @param contentAntistopVO
     * @return
     * @throws Exception
     */
    SuccessResult saveContentAntistopByToken(String token, ContentAntistopVO contentAntistopVO) throws Exception;

    /**
     * 删除内容评论敏感词库
     *
     * @param ids
     * @return
     * @throws RemoveException
     */
    SuccessResult removeContentAntistop(String ids) throws RemoveException;

    /**
     * 删除内容评论敏感词库(APP)
     *
     * @param token
     * @param ids
     * @return
     * @throws RemoveException
     */
    SuccessResult removeContentAntistopByToken(String token, String ids) throws RemoveException;

    /**
     * 修改内容评论敏感词库
     *
     * @param contentAntistopId
     * @param contentAntistopVO
     * @return
     * @throws Exception
     */
    SuccessResult updateContentAntistop(String contentAntistopId, ContentAntistopVO contentAntistopVO) throws Exception;

    /**
     * 修改内容评论敏感词库(APP)
     *
     * @param token
     * @param contentAntistopId
     * @param contentAntistopVO
     * @return
     * @throws Exception
     */
    SuccessResult updateContentAntistopByToken(String token, String contentAntistopId, ContentAntistopVO contentAntistopVO) throws Exception;

    /**
     * 内容评论敏感词库详情(通过ID)
     *
     * @param contentAntistopId
     * @return
     * @throws SearchException
     */
    ContentAntistopDTO getContentAntistopById(String contentAntistopId) throws SearchException;

    /**
     * 内容评论敏感词库列表
     *
     * @param params
     * @return
     * @throws SearchException
     */
    List<ContentAntistopDTO> listContentAntistop(Map<String, Object> params) throws SearchException;

    /**
     * 内容评论敏感词库分页列表
     *
     * @param page
     * @return
     * @throws SearchException
     */
    SuccessResultList<List<ContentAntistopDTO>> listPageContentAntistop(ListPage page) throws SearchException;

    SuccessResult saveContentAntistopExcel(String saveFilePath) throws Exception;

    ContentAntistopDTO getContentAntistopByName(String antistopName) throws SearchException;
}
