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

import com.alibaba.fastjson.JSONObject;
import com.chenyang.nse.bussiness.dao.PageInfo;
import com.chenyang.nse.bussiness.engine.infa.InfoProperty;
import com.chenyang.nse.bussiness.entity.orm.table.core.dataproject.TCoreSecretkey;
import com.chenyang.nse.bussiness.entity.orm.table.core.desensitizationtask.DesensitizationFile;
import com.chenyang.nse.bussiness.entity.orm.table.core.desensitizationtask.DesensitizationMonitor;
import com.chenyang.nse.bussiness.entity.orm.table.core.desensitizationtask.DesensitizationMonitorInfo;
import com.chenyang.nse.bussiness.entity.orm.table.core.desensitizationtask.DesensitizationTable;
import com.chenyang.nse.bussiness.entity.orm.table.core.desensitizationtask.DesensitizationTablecolumn;
import com.chenyang.nse.bussiness.entity.orm.table.core.desensitizationtask.Desensitizationsource;
import com.chenyang.nse.bussiness.entity.orm.table.core.desensitizationtask.Desensitizationtarget;
import com.chenyang.nse.bussiness.entity.orm.table.core.desensitizationtask.EncryptionMasking;
import com.chenyang.nse.bussiness.thread.ExecuteParam;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;

public interface EncryptionMaskingService {
   List<EncryptionMasking> queryTask(String taskname, PageInfo pageInfo);

   void updateTask(EncryptionMasking encryptionMasking);

   String gettaskBytasknamereal(String tasknamereal, String projectId);

   EncryptionMasking savetask_info(String tasknamereal, Map<String, Object> map);

   boolean generate_xml(Map map, HttpServletRequest request) throws Exception;

   Desensitizationsource querySourceInfo(String taskid);

   Desensitizationtarget queryTargetInfo(String taskid);

   List<DesensitizationTable> queryTableList(String taskid);

   DesensitizationTable queryTableByTableName(String taskid, String tableName);

   EncryptionMasking queryTaskById(String taskid);

   EncryptionMasking queryTaskByIdRedis(String taskid);

   EncryptionMasking queryTaskByName(String taskname, String project);

   void removeTask(String taskid);

   Desensitizationtarget queryTargetById(String taskid);

   InfoProperty getInfoProperty();

   List<EncryptionMasking> queryTaskList(String taskid);

   void executeDB_pwc_FILE_batchwrite_DB(ExecuteParam executeParam) throws Exception;

   void executeFILE_pwc_FILE_batchwrite_DB(ExecuteParam executeParam) throws Exception;

   void executeDB_batchread_FILE_pwc_FILE_batchwrite_DB(ExecuteParam executeParam) throws Exception;

   void executeDB_batchread_FILE_pwc_FILE(ExecuteParam executeParam) throws Exception;

   void executeDB_batchread_FILE_pwc_DB(ExecuteParam executeParam) throws Exception;

   void executeTask(ExecuteParam executeParam) throws Exception;

   void executeTaskNormal(ExecuteParam executeParam) throws Exception;

   List<EncryptionMasking> queryTaskAll();

   long getExeTaskNum();

   long getTableNum(String taskid);

   int saveDesensitizationMonitor(StringBuilder sql);

   long getTableNumByAll(String sql);

   DesensitizationFile queryDesensitizationfileBytaskid(String taskid);

   List<DesensitizationTablecolumn> queryColumInfo(String taskid, String table);

   List<EncryptionMasking> queryTaskByPage(PageInfo pageInfo);

   List<DesensitizationMonitorInfo> queryMonitorInfo(String taskid);

   List<EncryptionMasking> queryEngineTaskAll();

   void updateEngineMonitor(String taskid, String groupid, String status);

   boolean updateTask_isengine(ExecuteParam executeParam, String isengine);

   String getTasknamereal(String taskid);

   DesensitizationMonitor getMoniterBytaskid(String taskid);

   List<EncryptionMasking> queryTaskAllbyprojectid(String projectid);

   Map<String, String> callBackAll(JSONObject param);

   List<TCoreSecretkey> selectSecretkey();
}
