package com.platform.modules.sensitiveword.service;

import java.util.Map;

import com.baomidou.mybatisplus.service.IService;
import com.platform.common.utils.PageUtils;
import com.platform.common.utils.R;
import com.platform.modules.sensitiveword.entity.SensitiveStopWordEntity;
import com.platform.modules.sensitiveword.entity.SensitiveWordEntity;

/**
 * 敏感词
 *
 * @author Anine
 * @date 2019-03-11 15:49:30
 */
public interface SensitiveWordService extends IService<SensitiveWordEntity> {

	/**
	 * 查询敏感词页
	 * 
	 * @param params
	 *            页码参数：page：页数，limit：显示行数
	 * @return 敏感词page
	 */
	PageUtils queryPage(Map<String, Object> params);

	/**
	 * 查询敏感停顿符页
	 * 
	 * @param params
	 *            页码参数：page：页数，limit：显示行数
	 * @return 敏感停顿符page
	 */
	PageUtils queryStopWordsPage(Map<String, Object> params);

	/**
	 * 增加敏感词及对应替换词
	 *
	 * @param sensitiveWord
	 *            敏感词 + 替换词
	 * @param userId
	 *            用户id
	 */
	void add(SensitiveWordEntity sensitiveWord, Long userId);

	/**
	 * 修改敏感词库
	 * 
	 * @param sensitiveWord
	 *            敏感词 + 替换词
	 */
	void updateSensitive(SensitiveWordEntity sensitiveWord);

	/**
	 * 根据id删除敏感词
	 * 
	 * @param ids
	 *            ids
	 */
	void deleteByIds(Integer[] ids);

	/**
	 * 敏感词替换
	 * 
	 * @param txt
	 *            要替换的文本
	 * @return 替换后的文本
	 */
	String replace(String txt);

	/**
	 * 增加停顿符
	 *
	 * @param sensitiveStopWord
	 *            停顿符
	 * @param userId
	 *            用户id
	 * @return 添加结果
	 */
	R addStopWord(SensitiveStopWordEntity sensitiveStopWord, Long userId);

	/**
	 * 修改停顿符
	 * 
	 * @param sensitiveStopWord
	 *            停顿符
	 * @return 修改结果
	 */
	R updateStopWord(SensitiveStopWordEntity sensitiveStopWord);

	/**
	 * 根据停顿符ids删除停顿符
	 * 
	 * @param ids
	 *            停顿符ids
	 */
	void deleteStopWordsByIds(Integer[] ids);
}
