Merge branch 'dev' into pr@dev_dataset_source

This commit is contained in:
dataeaseShu 2022-09-23 11:18:14 +08:00
commit 2b175b9abf
2 changed files with 17 additions and 11 deletions

View File

@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -44,8 +45,8 @@ public class DataSetTableController {
}, logical = Logical.AND) }, logical = Logical.AND)
@ApiOperation("批量保存") @ApiOperation("批量保存")
@PostMapping("batchAdd") @PostMapping("batchAdd")
public void batchAdd(@RequestBody List<DataSetTableRequest> datasetTable) throws Exception { public List<DatasetTable> batchAdd(@RequestBody List<DataSetTableRequest> datasetTable) throws Exception {
dataSetTableService.batchInsert(datasetTable); return dataSetTableService.batchInsert(datasetTable);
} }
@DePermissions(value = { @DePermissions(value = {
@ -55,11 +56,11 @@ public class DataSetTableController {
}, logical = Logical.AND) }, logical = Logical.AND)
@ApiOperation("更新") @ApiOperation("更新")
@PostMapping("update") @PostMapping("update")
public void save(@RequestBody DataSetTableRequest datasetTable) throws Exception { public List<DatasetTable> save(@RequestBody DataSetTableRequest datasetTable) throws Exception {
if (datasetTable.getType().equalsIgnoreCase("excel")) { if (datasetTable.getType().equalsIgnoreCase("excel")) {
dataSetTableService.saveExcel(datasetTable); return dataSetTableService.saveExcel(datasetTable);
} else { } else {
dataSetTableService.save(datasetTable); return Collections.singletonList(dataSetTableService.save(datasetTable));
} }
} }

View File

@ -145,16 +145,18 @@ public class DataSetTableService {
private static Logger logger = LoggerFactory.getLogger(ClassloaderResponsity.class); private static Logger logger = LoggerFactory.getLogger(ClassloaderResponsity.class);
@DeCleaner(value = DePermissionType.DATASET, key = "sceneId") @DeCleaner(value = DePermissionType.DATASET, key = "sceneId")
public void batchInsert(List<DataSetTableRequest> datasetTable) throws Exception { public List<DatasetTable> batchInsert(List<DataSetTableRequest> datasetTable) throws Exception {
// 保存之前校验table名称 // 保存之前校验table名称
checkNames(datasetTable); checkNames(datasetTable);
List<DatasetTable> list = new ArrayList<>();
for (DataSetTableRequest table : datasetTable) { for (DataSetTableRequest table : datasetTable) {
save(table); list.add(save(table));
// 清理权限缓存 // 清理权限缓存
CacheUtils.removeAll(AuthConstants.USER_DATASET_NAME); CacheUtils.removeAll(AuthConstants.USER_DATASET_NAME);
CacheUtils.removeAll(AuthConstants.ROLE_DATASET_NAME); CacheUtils.removeAll(AuthConstants.ROLE_DATASET_NAME);
CacheUtils.removeAll(AuthConstants.DEPT_DATASET_NAME); CacheUtils.removeAll(AuthConstants.DEPT_DATASET_NAME);
} }
return list;
} }
private void extractData(DataSetTableRequest datasetTable) throws Exception { private void extractData(DataSetTableRequest datasetTable) throws Exception {
@ -176,10 +178,11 @@ public class DataSetTableService {
@Transactional(propagation = Propagation.NOT_SUPPORTED) @Transactional(propagation = Propagation.NOT_SUPPORTED)
@DeCleaner(value = DePermissionType.DATASET, key = "sceneId") @DeCleaner(value = DePermissionType.DATASET, key = "sceneId")
public void saveExcel(DataSetTableRequest datasetTable) throws Exception { public List<DatasetTable> saveExcel(DataSetTableRequest datasetTable) throws Exception {
List<String> datasetIdList = new ArrayList<>(); List<String> datasetIdList = new ArrayList<>();
if (StringUtils.isEmpty(datasetTable.getId())) { if (StringUtils.isEmpty(datasetTable.getId())) {
List<DatasetTable> list = new ArrayList<>();
if (datasetTable.isMergeSheet()) { if (datasetTable.isMergeSheet()) {
Map<String, List<ExcelSheetData>> map = datasetTable.getSheets().stream() Map<String, List<ExcelSheetData>> map = datasetTable.getSheets().stream()
.collect(Collectors.groupingBy(ExcelSheetData::getFieldsMd5)); .collect(Collectors.groupingBy(ExcelSheetData::getFieldsMd5));
@ -208,6 +211,7 @@ public class DataSetTableService {
sysAuthService.copyAuth(sheetTable.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASET); sysAuthService.copyAuth(sheetTable.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASET);
saveExcelTableField(sheetTable.getId(), excelSheetDataList.get(0).getFields(), true); saveExcelTableField(sheetTable.getId(), excelSheetDataList.get(0).getFields(), true);
datasetIdList.add(sheetTable.getId()); datasetIdList.add(sheetTable.getId());
list.add(sheetTable);
DeLogUtils.save(SysLogConstants.OPERATE_TYPE.CREATE, SysLogConstants.SOURCE_TYPE.DATASET, datasetTable.getId(), datasetTable.getSceneId(), null, null); DeLogUtils.save(SysLogConstants.OPERATE_TYPE.CREATE, SysLogConstants.SOURCE_TYPE.DATASET, datasetTable.getId(), datasetTable.getSceneId(), null, null);
} }
datasetIdList.forEach(datasetId -> { datasetIdList.forEach(datasetId -> {
@ -239,16 +243,16 @@ public class DataSetTableService {
sysAuthService.copyAuth(sheetTable.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASET); sysAuthService.copyAuth(sheetTable.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASET);
saveExcelTableField(sheetTable.getId(), sheet.getFields(), true); saveExcelTableField(sheetTable.getId(), sheet.getFields(), true);
datasetIdList.add(sheetTable.getId()); datasetIdList.add(sheetTable.getId());
list.add(sheetTable);
DeLogUtils.save(SysLogConstants.OPERATE_TYPE.MODIFY, SysLogConstants.SOURCE_TYPE.DATASET, datasetTable.getId(), datasetTable.getSceneId(), null, null); DeLogUtils.save(SysLogConstants.OPERATE_TYPE.MODIFY, SysLogConstants.SOURCE_TYPE.DATASET, datasetTable.getId(), datasetTable.getSceneId(), null, null);
} }
datasetIdList.forEach(datasetId -> { datasetIdList.forEach(datasetId -> {
commonThreadPool.addTask(() -> extractDataService.extractExcelData(datasetId, "all_scope", "初始导入", commonThreadPool.addTask(() -> extractDataService.extractExcelData(datasetId, "all_scope", "初始导入",
null, datasetIdList)); null, datasetIdList));
}); });
} }
return;
return list;
} }
List<ExcelSheetData> excelSheetDataList = new ArrayList<>(); List<ExcelSheetData> excelSheetDataList = new ArrayList<>();
@ -287,6 +291,7 @@ public class DataSetTableService {
null, Arrays.asList(datasetTable.getId()))); null, Arrays.asList(datasetTable.getId())));
} }
DeLogUtils.save(SysLogConstants.OPERATE_TYPE.MODIFY, SysLogConstants.SOURCE_TYPE.DATASET, datasetTable.getId(), datasetTable.getSceneId(), null, null); DeLogUtils.save(SysLogConstants.OPERATE_TYPE.MODIFY, SysLogConstants.SOURCE_TYPE.DATASET, datasetTable.getId(), datasetTable.getSceneId(), null, null);
return Collections.singletonList(datasetTable);
} }
@DeCleaner(value = DePermissionType.DATASET, key = "sceneId") @DeCleaner(value = DePermissionType.DATASET, key = "sceneId")