提交 0844885d authored 作者: taojinlong's avatar taojinlong

Merge branch 'v1.11' into dev

...@@ -159,7 +159,7 @@ public class DataSetTableFieldController { ...@@ -159,7 +159,7 @@ public class DataSetTableFieldController {
public List<Object> multFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { public List<Object> multFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception {
List<Object> results = new ArrayList<>(); List<Object> results = new ArrayList<>();
for (String fieldId : multFieldValuesRequest.getFieldIds()) { for (String fieldId : multFieldValuesRequest.getFieldIds()) {
List<Object> fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), true); List<Object> fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), true, false);
if (CollectionUtil.isNotEmpty(fieldValues)) { if (CollectionUtil.isNotEmpty(fieldValues)) {
results.addAll(fieldValues); results.addAll(fieldValues);
} }
...@@ -185,13 +185,13 @@ public class DataSetTableFieldController { ...@@ -185,13 +185,13 @@ public class DataSetTableFieldController {
DecodedJWT jwt = JWT.decode(linkToken); DecodedJWT jwt = JWT.decode(linkToken);
Long userId = jwt.getClaim("userId").asLong(); Long userId = jwt.getClaim("userId").asLong();
multFieldValuesRequest.setUserId(userId); multFieldValuesRequest.setUserId(userId);
return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true); return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true,false);
} }
@ApiIgnore @ApiIgnore
@PostMapping("mappingFieldValues") @PostMapping("mappingFieldValues")
public List<Object> mappingFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { public List<Object> mappingFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception {
return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true); return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true, false);
} }
@ApiIgnore @ApiIgnore
...@@ -199,7 +199,7 @@ public class DataSetTableFieldController { ...@@ -199,7 +199,7 @@ public class DataSetTableFieldController {
public List<Object> multFieldValuesForPermissions(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { public List<Object> multFieldValuesForPermissions(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception {
List<Object> results = new ArrayList<>(); List<Object> results = new ArrayList<>();
for (String fieldId : multFieldValuesRequest.getFieldIds()) { for (String fieldId : multFieldValuesRequest.getFieldIds()) {
List<Object> fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), false); List<Object> fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), false, true);
if (CollectionUtil.isNotEmpty(fieldValues)) { if (CollectionUtil.isNotEmpty(fieldValues)) {
results.addAll(fieldValues); results.addAll(fieldValues);
} }
......
...@@ -111,7 +111,7 @@ public class JdbcProvider extends DefaultJdbcProvider { ...@@ -111,7 +111,7 @@ public class JdbcProvider extends DefaultJdbcProvider {
} catch (SQLException e) { } catch (SQLException e) {
DataEaseException.throwException(e); DataEaseException.throwException(e);
} catch (Exception e) { } catch (Exception e) {
if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("ds_doris")) { if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("ds_doris") || datasourceRequest.getDatasource().getType().equalsIgnoreCase("StarRocks")) {
datasourceRequest.setQuery("select * from " + datasourceRequest.getTable()); datasourceRequest.setQuery("select * from " + datasourceRequest.getTable());
return fetchResultField(datasourceRequest); return fetchResultField(datasourceRequest);
} else { } else {
......
...@@ -108,7 +108,11 @@ public class Db2QueryProvider extends QueryProvider { ...@@ -108,7 +108,11 @@ public class Db2QueryProvider extends QueryProvider {
if (f.getDeType() == DeTypeConstants.DE_INT || f.getDeType() == DeTypeConstants.DE_FLOAT) { if (f.getDeType() == DeTypeConstants.DE_INT || f.getDeType() == DeTypeConstants.DE_FLOAT) {
fieldName = String.format(Db2Constants.UNIX_TIMESTAMP, originField); fieldName = String.format(Db2Constants.UNIX_TIMESTAMP, originField);
} else { } else {
fieldName = originField; if(f.getType().equalsIgnoreCase("TIME")){
fieldName = String.format(Db2Constants.FORMAT_TIME, originField, Db2Constants.DEFAULT_DATE_FORMAT);
}else {
fieldName = originField;
}
} }
} else if (f.getDeExtractType() == DeTypeConstants.DE_STRING) { } else if (f.getDeExtractType() == DeTypeConstants.DE_STRING) {
if (f.getDeType() == DeTypeConstants.DE_INT) { if (f.getDeType() == DeTypeConstants.DE_INT) {
...@@ -779,7 +783,11 @@ public class Db2QueryProvider extends QueryProvider { ...@@ -779,7 +783,11 @@ public class Db2QueryProvider extends QueryProvider {
whereName = String.format(Db2Constants.FROM_UNIXTIME, cast, Db2Constants.DEFAULT_DATE_FORMAT); whereName = String.format(Db2Constants.FROM_UNIXTIME, cast, Db2Constants.DEFAULT_DATE_FORMAT);
} }
if (field.getDeExtractType() == DeTypeConstants.DE_TIME) { if (field.getDeExtractType() == DeTypeConstants.DE_TIME) {
whereName = originName; if(field.getType().equalsIgnoreCase("TIME")){
whereName = String.format(Db2Constants.FORMAT_TIME, originName, Db2Constants.DEFAULT_DATE_FORMAT);
}else {
whereName = originName;
}
} }
} else if (field.getDeType() == 2 || field.getDeType() == 3) { } else if (field.getDeType() == 2 || field.getDeType() == 3) {
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) { if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
...@@ -883,7 +891,11 @@ public class Db2QueryProvider extends QueryProvider { ...@@ -883,7 +891,11 @@ public class Db2QueryProvider extends QueryProvider {
whereName = String.format(Db2Constants.FROM_UNIXTIME, cast, Db2Constants.DEFAULT_DATE_FORMAT); whereName = String.format(Db2Constants.FROM_UNIXTIME, cast, Db2Constants.DEFAULT_DATE_FORMAT);
} }
if (field.getDeExtractType() == DeTypeConstants.DE_TIME) { if (field.getDeExtractType() == DeTypeConstants.DE_TIME) {
whereName = originName; if(field.getType().equalsIgnoreCase("TIME")){
whereName = String.format(Db2Constants.FORMAT_TIME, originName, Db2Constants.DEFAULT_DATE_FORMAT);
}else {
whereName = originName;
}
} }
} else if (field.getDeType() == 2 || field.getDeType() == 3) { } else if (field.getDeType() == 2 || field.getDeType() == 3) {
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) { if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
...@@ -982,7 +994,11 @@ public class Db2QueryProvider extends QueryProvider { ...@@ -982,7 +994,11 @@ public class Db2QueryProvider extends QueryProvider {
fieldName = String.format(Db2Constants.UNIX_TIMESTAMP, originField) + "*1000"; fieldName = String.format(Db2Constants.UNIX_TIMESTAMP, originField) + "*1000";
} else if (x.getDeType() == DeTypeConstants.DE_TIME) { } else if (x.getDeType() == DeTypeConstants.DE_TIME) {
String format = transDateFormat(x.getDateStyle(), x.getDatePattern()); String format = transDateFormat(x.getDateStyle(), x.getDatePattern());
fieldName = String.format(Db2Constants.DATE_FORMAT, originField, format); if(x.getType().equalsIgnoreCase("TIME")){
fieldName = String.format(Db2Constants.FORMAT_TIME, originField, format);
}else {
fieldName = String.format(Db2Constants.DATE_FORMAT, originField, format);
}
} else { } else {
fieldName = originField; fieldName = originField;
} }
......
...@@ -419,24 +419,18 @@ public class ChartViewService { ...@@ -419,24 +419,18 @@ public class ChartViewService {
} }
datasourceRequest.setQuery(sql); datasourceRequest.setQuery(sql);
data = datasourceProvider.getData(datasourceRequest); data = datasourceProvider.getData(datasourceRequest);
Map<String, Object> mapChart = pluginViewResult(pluginViewParam, view, data, isDrill);
Map<String, Object> mapTableNormal = ChartDataBuild.transTableNormal(xAxis, yAxis, view, data, extStack, desensitizationList);
return data; return data;
// 如果是插件到此结束 // 如果是插件到此结束
} }
//如果不是插件视图 走原生逻辑 //如果不是插件视图 走原生逻辑
if (table.getMode() == 0) {// 直连 if (table.getMode() == 0) {// 直连
// Datasource ds = datasourceService.get(table.getDataSourceId());
if (ObjectUtils.isEmpty(ds)) { if (ObjectUtils.isEmpty(ds)) {
throw new RuntimeException(Translator.get("i18n_datasource_delete")); throw new RuntimeException(Translator.get("i18n_datasource_delete"));
} }
if (StringUtils.isNotEmpty(ds.getStatus()) && ds.getStatus().equalsIgnoreCase("Error")) { if (StringUtils.isNotEmpty(ds.getStatus()) && ds.getStatus().equalsIgnoreCase("Error")) {
throw new Exception(Translator.get("i18n_invalid_ds")); throw new Exception(Translator.get("i18n_invalid_ds"));
} }
// DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType());
datasourceRequest.setDatasource(ds); datasourceRequest.setDatasource(ds);
DataTableInfoDTO dataTableInfoDTO = gson.fromJson(table.getInfo(), DataTableInfoDTO.class); DataTableInfoDTO dataTableInfoDTO = gson.fromJson(table.getInfo(), DataTableInfoDTO.class);
QueryProvider qp = ProviderFactory.getQueryProvider(ds.getType()); QueryProvider qp = ProviderFactory.getQueryProvider(ds.getType());
......
...@@ -5,7 +5,7 @@ import java.util.List; ...@@ -5,7 +5,7 @@ import java.util.List;
public interface DataSetFieldService { public interface DataSetFieldService {
List<Object> fieldValues(String fieldId, Long userId, Boolean userPermissions) throws Exception; List<Object> fieldValues(String fieldId, Long userId, Boolean userPermissions, Boolean rowAndColumnMgm) throws Exception;
List<Object> fieldValues(List<String> fieldIds, Long userId, Boolean userPermissions, Boolean needMapping) throws Exception; List<Object> fieldValues(List<String> fieldIds, Long userId, Boolean userPermissions, Boolean needMapping, Boolean rowAndColumnMgm) throws Exception;
} }
...@@ -45,14 +45,14 @@ public class DirectFieldService implements DataSetFieldService { ...@@ -45,14 +45,14 @@ public class DirectFieldService implements DataSetFieldService {
private EngineService engineService; private EngineService engineService;
@Override @Override
public List<Object> fieldValues(String fieldId, Long userId, Boolean userPermissions) throws Exception { public List<Object> fieldValues(String fieldId, Long userId, Boolean userPermissions, Boolean rowAndColumnMgm) throws Exception {
List<String> filedIds = new ArrayList<>(); List<String> filedIds = new ArrayList<>();
filedIds.add(fieldId); filedIds.add(fieldId);
return fieldValues(filedIds, userId, userPermissions, false); return fieldValues(filedIds, userId, userPermissions, false, rowAndColumnMgm);
} }
@Override @Override
public List<Object> fieldValues(List<String> fieldIds, Long userId, Boolean userPermissions, Boolean needMapping) throws Exception { public List<Object> fieldValues(List<String> fieldIds, Long userId, Boolean userPermissions, Boolean needMapping, Boolean rowAndColumnMgm) throws Exception {
String fieldId = fieldIds.get(0); String fieldId = fieldIds.get(0);
DatasetTableField field = dataSetTableFieldsService.selectByPrimaryKey(fieldId); DatasetTableField field = dataSetTableFieldsService.selectByPrimaryKey(fieldId);
if (field == null || StringUtils.isEmpty(field.getTableId())) return null; if (field == null || StringUtils.isEmpty(field.getTableId())) return null;
...@@ -70,22 +70,15 @@ public class DirectFieldService implements DataSetFieldService { ...@@ -70,22 +70,15 @@ public class DirectFieldService implements DataSetFieldService {
List<DatasetTableField> permissionFields = fields; List<DatasetTableField> permissionFields = fields;
List<ChartFieldCustomFilterDTO> customFilter = new ArrayList<>(); List<ChartFieldCustomFilterDTO> customFilter = new ArrayList<>();
if(userPermissions){ if (userPermissions) {
//列权限 //列权限
List<String> desensitizationList = new ArrayList<>(); List<String> desensitizationList = new ArrayList<>();
fields = permissionService.filterColumnPermissons(fields, desensitizationList, datasetTable.getId(), userId); fields = permissionService.filterColumnPermissons(fields, desensitizationList, datasetTable.getId(), userId);
Map<String, DatasetTableField> fieldMap = fields.stream().collect(Collectors.toMap(DatasetTableField::getId, node -> node)); Map<String, DatasetTableField> fieldMap = fields.stream().collect(Collectors.toMap(DatasetTableField::getId, node -> node));
permissionFields = fieldIds.stream().map(fieldMap::get).collect(Collectors.toList()); permissionFields = fieldIds.stream().map(fieldMap::get).collect(Collectors.toList());
//permissionFields = fields.stream().filter(node -> fieldIds.stream().anyMatch(item -> StringUtils.equals(node.getId(), item))).collect(Collectors.toList());
if (CollectionUtils.isEmpty(permissionFields)) { if (CollectionUtils.isEmpty(permissionFields)) {
return new ArrayList<>(); return new ArrayList<>();
} }
//禁用的
/*if(!fields.stream().map(DatasetTableField::getId).collect(Collectors.toList()).contains(fieldId)){
return new ArrayList<>();
}*/
if (CollectionUtils.isNotEmpty(desensitizationList) && desensitizationList.contains(field.getDataeaseName())) { if (CollectionUtils.isNotEmpty(desensitizationList) && desensitizationList.contains(field.getDataeaseName())) {
List<Object> results = new ArrayList<>(); List<Object> results = new ArrayList<>();
results.add(ColumnPermissionConstants.Desensitization_desc); results.add(ColumnPermissionConstants.Desensitization_desc);
...@@ -94,6 +87,13 @@ public class DirectFieldService implements DataSetFieldService { ...@@ -94,6 +87,13 @@ public class DirectFieldService implements DataSetFieldService {
//行权限 //行权限
customFilter = permissionService.getCustomFilters(fields, datasetTable, userId); customFilter = permissionService.getCustomFilters(fields, datasetTable, userId);
} }
if (rowAndColumnMgm) {
Map<String, DatasetTableField> fieldMap = fields.stream().collect(Collectors.toMap(DatasetTableField::getId, node -> node));
permissionFields = fieldIds.stream().map(fieldMap::get).collect(Collectors.toList());
if (CollectionUtils.isEmpty(permissionFields)) {
return new ArrayList<>();
}
}
DatasourceRequest datasourceRequest = new DatasourceRequest(); DatasourceRequest datasourceRequest = new DatasourceRequest();
Provider datasourceProvider = null; Provider datasourceProvider = null;
...@@ -148,7 +148,7 @@ public class DirectFieldService implements DataSetFieldService { ...@@ -148,7 +148,7 @@ public class DirectFieldService implements DataSetFieldService {
} }
private List<BaseTreeNode> buildTreeNode(String [] row, Set<String> pkSet) { private List<BaseTreeNode> buildTreeNode(String[] row, Set<String> pkSet) {
List<BaseTreeNode> nodes = new ArrayList<>(); List<BaseTreeNode> nodes = new ArrayList<>();
List<String> parentPkList = new ArrayList<>(); List<String> parentPkList = new ArrayList<>();
for (int i = 0; i < row.length; i++) { for (int i = 0; i < row.length; i++) {
......
...@@ -1349,7 +1349,7 @@ export default { ...@@ -1349,7 +1349,7 @@ export default {
client_principal: 'Client Principal', client_principal: 'Client Principal',
keytab_Key_path: 'Keytab Key Path', keytab_Key_path: 'Keytab Key Path',
datasource: 'Data Source', datasource: 'Data Source',
please_select_left: 'Please select the data source from the left', please_select_left: 'Please select data from the left',
show_info: 'Data Source Info', show_info: 'Data Source Info',
create: 'Create Data Source', create: 'Create Data Source',
type: 'Type', type: 'Type',
......
...@@ -1349,7 +1349,7 @@ export default { ...@@ -1349,7 +1349,7 @@ export default {
client_principal: 'Client Principal', client_principal: 'Client Principal',
keytab_Key_path: 'Keytab Key Path', keytab_Key_path: 'Keytab Key Path',
datasource: '數據源', datasource: '數據源',
please_select_left: '請從左側選擇數據源', please_select_left: '請從左側選擇',
show_info: '數據源信息', show_info: '數據源信息',
create: '新建數據源', create: '新建數據源',
type: '類型', type: '類型',
......
...@@ -1351,7 +1351,7 @@ export default { ...@@ -1351,7 +1351,7 @@ export default {
client_principal: 'Client Principal', client_principal: 'Client Principal',
keytab_Key_path: 'Keytab Key Path', keytab_Key_path: 'Keytab Key Path',
datasource: '数据源', datasource: '数据源',
please_select_left: '请从左侧选择数据源', please_select_left: '请从左侧选择',
show_info: '数据源信息', show_info: '数据源信息',
create: '新建数据源', create: '新建数据源',
type: '类型', type: '类型',
......
...@@ -281,8 +281,6 @@ export default { ...@@ -281,8 +281,6 @@ export default {
this.$error(res.message.substring(0, 2500) + '......') this.$error(res.message.substring(0, 2500) + '......')
} }
} }
}).catch(res => {
this.$error(res.message)
}) })
} else { } else {
return false return false
......
...@@ -246,8 +246,6 @@ export default { ...@@ -246,8 +246,6 @@ export default {
this.$error(res.message.substring(0, 2500) + '......') this.$error(res.message.substring(0, 2500) + '......')
} }
} }
}).catch(res => {
this.$error(res.message)
}) })
} else { } else {
return false return false
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
<el-row v-show="showView === 'Datasource'"> <el-row v-show="showView === 'Datasource'">
<el-button icon="el-icon-plus" type="text" size="mini" style="float: left;" @click="addFolder"> {{ $t('datasource.create') }}</el-button> <el-button icon="el-icon-plus" type="text" size="mini" style="float: left;" @click="addFolder"> {{ $t('datasource.create') }}</el-button>
<el-button icon="el-icon-setting" type="text" size="mini" style="float: right;" @click="driverMgm"> {{ $t('driver.mgm') }}</el-button> <el-button icon="el-icon-setting" type="text" size="mini" style="float: right;" @click="driverMgm"> {{ $t('driver.mgm') }}</el-button>
</el-button>
</el-row> </el-row>
<el-row class="title-css" v-show="showView === 'Driver'"> <el-row class="title-css" v-show="showView === 'Driver'">
...@@ -324,12 +323,14 @@ export default { ...@@ -324,12 +323,14 @@ export default {
}, },
driverMgm() { driverMgm() {
this.$emit('switch-main', {})
this.showView = 'Driver' this.showView = 'Driver'
this.expandedArray = [] this.expandedArray = []
this.tData = [] this.tData = []
this.queryTreeDatas() this.queryTreeDatas()
}, },
dsMgm() { dsMgm() {
this.$emit('switch-main', {})
this.showView = 'Datasource' this.showView = 'Datasource'
this.expandedArray = [] this.expandedArray = []
this.tData = [] this.tData = []
......
...@@ -56,6 +56,17 @@ export default { ...@@ -56,6 +56,17 @@ export default {
this.showAsync = false this.showAsync = false
} }
}, },
watch: {
'componentName': function () {
this.refId = uuid.v1
if (this.componentName) {
this.showAsync = true
this.url = this.baseUrl + this.componentName
} else {
this.showAsync = false
}
}
},
methods: { methods: {
// hasLicense // hasLicense
executeAxios(options) { executeAxios(options) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论