package com.chenyang.nse.bussiness.service.core;

import com.chenyang.nse.bussiness.dao.PageInfo;
import com.chenyang.nse.bussiness.entity.orm.table.core.masking.TCoreMaskingRule;
import com.chenyang.nse.bussiness.entity.orm.table.core.masking.TCoreMaskingRuleinfo;
import com.chenyang.nse.bussiness.entity.vo.DataGridVO;
import com.chenyang.nse.bussiness.entity.vo.dataproject.TCoreSensitiveregexVO;
import com.chenyang.nse.bussiness.entity.vo.maskingrule.MaskingInfoRuleVO;
import java.util.List;

public interface MaskingRuleService {
   List<String> queryRuleGroup();

   DataGridVO<TCoreMaskingRule> queryRule(PageInfo pageInfo);

   List<TCoreSensitiveregexVO> querySensitiveregex(String dataarea, String rulename, PageInfo pageInfo);

   List<TCoreSensitiveregexVO> querySensitiveregex(String dataarea, String rulename);

   void save(TCoreMaskingRule rule);

   void remove(String ruleid);

   int queryRuleCount(String dataareaId);

   void removeDataarea(String dataareaId);

   void setDefault(String ruleid);

   TCoreMaskingRule queryRuleById(String ruleid);

   List<TCoreMaskingRule> queryRuleByGroupName(String groupname);

   DataGridVO<MaskingInfoRuleVO> queryInfoRule(PageInfo pageInfo);

   TCoreMaskingRuleinfo queryInfoRuleById(String id);

   void saveRuleInfo(TCoreMaskingRuleinfo ruleinfo, String username, String dataarea);

   List<TCoreMaskingRule> queryMaskingRule();

   List<TCoreMaskingRule> queryRuleByFlag();

   List<TCoreSensitiveregexVO> querySensitiveregexByid(String id);

   boolean checkNameExit(String name);

   void setOtherDefault(String id);
}
