feat: 删掉数据集时,同步删掉 doris 里的表

This commit is contained in:
taojinlong 2021-05-12 15:17:51 +08:00
parent 20daae2b61
commit e89c8ac439
5 changed files with 23 additions and 6 deletions

View File

@ -17,4 +17,8 @@ public class DorisTableUtils {
public static String dorisFieldName(String dorisName) {
return "f_" + Md5Utils.md5(dorisName);
}
public static String excelColumnName(String filedName) {
return "C_" + Md5Utils.md5(filedName);
}
}

View File

@ -32,7 +32,7 @@ public class DataSetGroupController {
}
@PostMapping("/delete/{id}")
public void tree(@PathVariable String id) {
public void tree(@PathVariable String id) throws Exception{
dataSetGroupService.delete(id);
}

View File

@ -34,7 +34,7 @@ public class DataSetTableController {
}
@PostMapping("delete/{id}")
public void delete(@PathVariable String id) {
public void delete(@PathVariable String id)throws Exception {
dataSetTableService.delete(id);
}

View File

@ -47,7 +47,7 @@ public class DataSetGroupService {
return dataSetGroupDTO;
}
public void delete(String id) {
public void delete(String id) throws Exception{
DataSetGroupRequest datasetGroup = new DataSetGroupRequest();
datasetGroup.setId(id);
List<DataSetGroupDTO> tree = tree(datasetGroup);
@ -64,7 +64,7 @@ public class DataSetGroupService {
return datasetGroupMapper.selectByPrimaryKey(id);
}
public void deleteTableAndField(List<String> sceneIds) {
public void deleteTableAndField(List<String> sceneIds) throws Exception{
for (String sceneId : sceneIds) {
DataSetTableRequest dataSetTableRequest = new DataSetTableRequest();
dataSetTableRequest.setSceneId(sceneId);

View File

@ -112,11 +112,24 @@ public class DataSetTableService {
return datasetTable;
}
public void delete(String id) {
public void delete(String id) throws Exception{
datasetTableMapper.deleteByPrimaryKey(id);
dataSetTableFieldsService.deleteByTableId(id);
// 删除同步任务
dataSetTableTaskService.deleteByTableId(id);
deleteDorisTable(id);
}
private void deleteDorisTable(String datasetId) throws Exception{
String dorisTableName = DorisTableUtils.dorisName(datasetId);
Datasource dorisDatasource = (Datasource)CommonBeanFactory.getBean("DorisDatasource");
JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class);;
DatasourceRequest datasourceRequest = new DatasourceRequest();
datasourceRequest.setDatasource(dorisDatasource);
datasourceRequest.setQuery("drop table if exists " + dorisTableName);
jdbcProvider.exec(datasourceRequest);
datasourceRequest.setQuery("drop table if exists " + DorisTableUtils.dorisTmpName(dorisTableName));
jdbcProvider.exec(datasourceRequest);
}
public List<DatasetTable> list(DataSetTableRequest dataSetTableRequest) {
@ -515,7 +528,7 @@ public class DataSetTableService {
datasetTableField.setOriginName(filed.getFieldName());
datasetTableField.setName(filed.getRemarks());
if (StringUtils.equalsIgnoreCase(datasetTable.getType(), "excel")) {
datasetTableField.setDataeaseName("C_" + Md5Utils.md5(filed.getFieldName()));
datasetTableField.setDataeaseName(DorisTableUtils.excelColumnName(filed.getFieldName()));
} else {
datasetTableField.setDataeaseName(filed.getFieldName());
}