提交 311c9606 authored 作者: songchuancai's avatar songchuancai

增加创建服务时相应字段的处理逻辑

上级 b2f8a7ef
...@@ -22,14 +22,14 @@ import java.util.List; ...@@ -22,14 +22,14 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
public class ColumnDataRangeFilter { public class ColumnDataRangeFilter {
// 表名 // 表名
@ApiModelProperty(value = "表名", required = false) @ApiModelProperty(hidden = true)
private String tableName; private String tableName;
// 表名ID // 表名ID
@ApiModelProperty(value = "表名ID", required = true) @ApiModelProperty(value = "表名ID", required = true)
private Long tableId; private Long tableId;
// 字段 // 字段
private List<DataColumn> fields; private List<DataColumn> fields = new ArrayList<>();
private StringBuilder generateSql(StringBuilder resultBuilder) { private StringBuilder generateSql(StringBuilder resultBuilder) {
if (this.getFields().isEmpty()) { if (this.getFields().isEmpty()) {
......
...@@ -13,7 +13,7 @@ import lombok.NoArgsConstructor; ...@@ -13,7 +13,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
public class DataColumn { public class DataColumn {
// 字段名 // 字段名
@ApiModelProperty(value = "字段名", required = false) @ApiModelProperty(hidden = true)
private String columnName; private String columnName;
// 字段ID // 字段ID
@ApiModelProperty(value = "字段ID", required = true) @ApiModelProperty(value = "字段ID", required = true)
......
...@@ -10,6 +10,7 @@ import lombok.NoArgsConstructor; ...@@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
import lombok.NonNull; import lombok.NonNull;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -22,11 +23,13 @@ import java.util.List; ...@@ -22,11 +23,13 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
public class FilterCondition { public class FilterCondition {
// 表名 // 表名
@ApiModelProperty(value = "表名", required = false) // @ApiModelProperty(value = "表名", required = false)
@ApiModelProperty(hidden = true)
private String tableName; private String tableName;
// 表ID // 表ID
@ApiModelProperty(value = "表ID", required = false) // @ApiModelProperty(value = "表ID", required = false)
@ApiModelProperty(hidden = true)
private Long tableId; private Long tableId;
// 字段 // 字段
...@@ -42,7 +45,7 @@ public class FilterCondition { ...@@ -42,7 +45,7 @@ public class FilterCondition {
// 过滤值 // 过滤值
@ApiModelProperty(value = "过滤值", required = true) @ApiModelProperty(value = "过滤值", required = true)
@NonNull @NonNull
private List<Object> filterValues; private List<Object> filterValues = new ArrayList<>();
/** /**
* 生成动态过滤条件sql * 生成动态过滤条件sql
......
...@@ -8,6 +8,7 @@ import lombok.Data; ...@@ -8,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -27,13 +28,13 @@ public class LineDataRangeFilter { ...@@ -27,13 +28,13 @@ public class LineDataRangeFilter {
// 过滤条件 // 过滤条件
@ApiModelProperty(value = "过滤条件", required = false) @ApiModelProperty(value = "过滤条件", required = false)
private List<FilterCondition> filterConditions; private List<FilterCondition> filterConditions = new ArrayList<>();
@ApiModelProperty(value = "表ID", required = true) @ApiModelProperty(value = "表ID", required = true)
private Long tableId; private Long tableId;
@JsonIgnore @ApiModelProperty(hidden = true)
@ApiModelProperty(value = "表名", required = false) // @ApiModelProperty(value = "表名", required = false)
private String tableName; private String tableName;
/** /**
......
...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.lang.NonNull;
/** /**
...@@ -17,12 +18,17 @@ import lombok.NoArgsConstructor; ...@@ -17,12 +18,17 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class TableJoinRelationConfig { public class TableJoinRelationConfig {
@ApiModelProperty(value = "表名", required = false) // @ApiModelProperty(value = "表名", required = false)
@ApiModelProperty(hidden = true)
private String tableName; private String tableName;
@ApiModelProperty(value = "列名", required = false)
// @ApiModelProperty(value = "列名", required = false)
@ApiModelProperty(hidden = true)
private String columnName; private String columnName;
@ApiModelProperty(value = "表ID", required = true) @ApiModelProperty(value = "表ID", required = true)
private Long tableId; private Long tableId;
@ApiModelProperty(value = "列ID", required = true) @ApiModelProperty(value = "列ID", required = true)
private Long columnId; private Long columnId;
} }
...@@ -245,21 +245,29 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage ...@@ -245,21 +245,29 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage
// 列配置检查 // 列配置检查
private Boolean isRightColumnConfigAndSetNameField(Long dataSourceId, List<ColumnDataRangeFilter> columnDataRangeFilters){ private Boolean isRightColumnConfigAndSetNameField(Long dataSourceId, List<ColumnDataRangeFilter> columnDataRangeFilters){
DataApiTable dataApiTable;
for (ColumnDataRangeFilter columnDataRangeFilter : columnDataRangeFilters) { for (ColumnDataRangeFilter columnDataRangeFilter : columnDataRangeFilters) {
List<DataColumn> fields = columnDataRangeFilter.getFields(); List<DataColumn> fields = columnDataRangeFilter.getFields();
Long tableId = columnDataRangeFilter.getTableId(); Long tableId = columnDataRangeFilter.getTableId();
Optional<DataApiTable> dataApiTableOptional = dataApiTableRepository.findAllByDataSourceIdAndIdAndDeletedIsFalse(dataSourceId, tableId); if(null == tableId){
if(!dataApiTableOptional.isPresent()){ log.warn("列过滤条件:{},数据表ID不存在", columnDataRangeFilter);
return Boolean.FALSE;
}
dataApiTable = queryDataApiTableByDataSourceIdAndTableId(dataSourceId,tableId);
if(null == dataApiTable){
log.warn("数据表:【tableId:{}】不存在", tableId); log.warn("数据表:【tableId:{}】不存在", tableId);
return Boolean.FALSE; return Boolean.FALSE;
} }
DataApiTable dataApiTable = dataApiTableOptional.get();
columnDataRangeFilter.setTableName(dataApiTable.getTableName()); // 设置表名 columnDataRangeFilter.setTableName(dataApiTable.getTableName()); // 设置表名
List<DataApiColumn> dataApiColumns = dataApiColumnRepository.findAllByDataTableIdAndDeletedIsFalse(tableId); List<DataApiColumn> dataApiColumns = dataApiColumnRepository.findAllByDataTableIdAndDeletedIsFalse(tableId);
Map<Long, String> columnIdToNameMap = dataApiColumns.stream().collect(Collectors.toMap(DataApiColumn::getId, DataApiColumn::getFieldName)); Map<Long, String> columnIdToNameMap = dataApiColumns.stream().collect(Collectors.toMap(DataApiColumn::getId, DataApiColumn::getFieldName));
for (DataColumn field : fields) { for (DataColumn field : fields) {
Long id = field.getId(); Long id = field.getId();
if(null == id){
log.warn("列过滤条件:【{}】中数据字段:【{}】不存在ID", columnDataRangeFilter, field);
return Boolean.FALSE;
}
String columnName = columnIdToNameMap.get(id); String columnName = columnIdToNameMap.get(id);
if(StringUtils.isEmpty(columnName)){ if(StringUtils.isEmpty(columnName)){
log.warn("数据列:【id:{},name:{}】不存在表:【{}】中", id, columnName, tableId); log.warn("数据列:【id:{},name:{}】不存在表:【{}】中", id, columnName, tableId);
...@@ -273,25 +281,33 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage ...@@ -273,25 +281,33 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage
// 行配置检查 // 行配置检查
private Boolean isRightLineConfigAndSetNameField(Long dataSourceId, List<LineDataRangeFilter> lineDataRangeFilters){ private Boolean isRightLineConfigAndSetNameField(Long dataSourceId, List<LineDataRangeFilter> lineDataRangeFilters){
DataApiTable dataApiTable;
DataApiColumn dataApiColumn;
for (LineDataRangeFilter lineDataRangeFilter : lineDataRangeFilters) { for (LineDataRangeFilter lineDataRangeFilter : lineDataRangeFilters) {
Long tableId = lineDataRangeFilter.getTableId(); Long tableId = lineDataRangeFilter.getTableId();
Optional<DataApiTable> dataApiTableOptional = dataApiTableRepository.findAllByDataSourceIdAndIdAndDeletedIsFalse(dataSourceId, tableId); if(null == tableId){
if(!dataApiTableOptional.isPresent()){ log.warn("行过滤条件:{},数据表ID不存在", lineDataRangeFilter);
return Boolean.FALSE;
}
dataApiTable = queryDataApiTableByDataSourceIdAndTableId(dataSourceId,tableId);
if(null == dataApiTable){
log.warn("数据表:【tableId:{}】不存在", tableId); log.warn("数据表:【tableId:{}】不存在", tableId);
return Boolean.FALSE; return Boolean.FALSE;
} }
DataApiTable dataApiTable = dataApiTableOptional.get();
lineDataRangeFilter.setTableName(dataApiTable.getTableName()); // 设置表名 lineDataRangeFilter.setTableName(dataApiTable.getTableName()); // 设置表名
for (FilterCondition filterCondition : lineDataRangeFilter.getFilterConditions()) { for (FilterCondition filterCondition : lineDataRangeFilter.getFilterConditions()) {
filterCondition.setTableName(dataApiTable.getTableName()); // 设置表名 filterCondition.setTableName(dataApiTable.getTableName()); // 设置表名
filterCondition.setTableId(dataApiTable.getId()); // 设置表ID filterCondition.setTableId(dataApiTable.getId()); // 设置表ID
DataColumn field = filterCondition.getField(); DataColumn field = filterCondition.getField();
Optional<DataApiColumn> dataApiColumnOptional = dataApiColumnRepository.findByDataTableIdAndIdAndDeletedIsFalse(dataApiTable.getId(), field.getId()); if(null == field || null == field.getId()){
if(!dataApiColumnOptional.isPresent()){ log.warn("过滤条件:{},数据字段不存在", filterCondition);
return Boolean.FALSE;
}
dataApiColumn = queryDataApiColumnWithTableIdAndField(dataApiTable.getId(), field.getId());
if(null == dataApiColumn){
log.warn("数据表:【tableId:{}】不存在数据字段:【columnId: {}】", tableId, field.getId()); log.warn("数据表:【tableId:{}】不存在数据字段:【columnId: {}】", tableId, field.getId());
return Boolean.FALSE; return Boolean.FALSE;
} }
DataApiColumn dataApiColumn = dataApiColumnOptional.get();
field.setColumnName(dataApiColumn.getFieldName()); // 设置字段名 field.setColumnName(dataApiColumn.getFieldName()); // 设置字段名
field.setFieldType(dataApiColumn.getFiledType()); // 设置字段类型 field.setFieldType(dataApiColumn.getFiledType()); // 设置字段类型
} }
...@@ -299,36 +315,54 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage ...@@ -299,36 +315,54 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage
return Boolean.TRUE; return Boolean.TRUE;
} }
// 表关系配置检查 // 表关系配置检查
private Boolean isRightTableRelationAndSetName(Long dataSourceId, List<TableJoinRelationConfig> tableJoinRelationConfigs){ private Boolean isRightTableRelationAndSetName(Long dataSourceId, List<TableJoinRelationConfig> tableJoinRelationConfigs){
DataApiTable dataApiTable; DataApiTable dataApiTable;
DataApiColumn dataApiColumn; DataApiColumn dataApiColumn;
Long tableId; Long tableId;
Long columnId; Long columnId;
Optional<DataApiTable> dataApiTableOptional;
Optional<DataApiColumn> dataApiColumnOptional;
for (TableJoinRelationConfig tableJoinRelationConfig : tableJoinRelationConfigs) { for (TableJoinRelationConfig tableJoinRelationConfig : tableJoinRelationConfigs) {
tableId = tableJoinRelationConfig.getTableId(); tableId = tableJoinRelationConfig.getTableId();
columnId = tableJoinRelationConfig.getColumnId(); columnId = tableJoinRelationConfig.getColumnId();
dataApiTableOptional = dataApiTableRepository.findAllByDataSourceIdAndIdAndDeletedIsFalse(dataSourceId, tableId); if(null == tableId || null == columnId){
if(!dataApiTableOptional.isPresent()){ log.warn("配置关系:{}中数据表ID或者数据字段ID为空", tableJoinRelationConfig);
return Boolean.FALSE;
}
dataApiTable = queryDataApiTableByDataSourceIdAndTableId(dataSourceId,tableId);
if(null == dataApiTable){
log.warn("数据表:【tableId:{}】不存在", tableId); log.warn("数据表:【tableId:{}】不存在", tableId);
return Boolean.FALSE; return Boolean.FALSE;
} }
dataApiTable = dataApiTableOptional.get();
tableJoinRelationConfig.setTableName(dataApiTable.getTableName()); tableJoinRelationConfig.setTableName(dataApiTable.getTableName());
dataApiColumnOptional = dataApiColumnRepository.findByDataTableIdAndIdAndDeletedIsFalse(dataApiTable.getId(), columnId); dataApiColumn = queryDataApiColumnWithTableIdAndField(dataApiTable.getId(), columnId);
if(!dataApiColumnOptional.isPresent()){ if(null == dataApiColumn){
log.warn("数据表:【tableId:{}】不存在数据字段:【columnId{}】", tableId, columnId); log.warn("数据表:【tableId:{}】不存在数据字段:【columnId: {}】", tableId, columnId);
return Boolean.FALSE; return Boolean.FALSE;
} }
dataApiColumn = dataApiColumnOptional.get();
tableJoinRelationConfig.setColumnName(dataApiColumn.getFieldName()); tableJoinRelationConfig.setColumnName(dataApiColumn.getFieldName());
} }
return Boolean.TRUE; return Boolean.TRUE;
} }
private DataApiColumn queryDataApiColumnWithTableIdAndField(Long tableId, Long fieldId) {
Optional<DataApiColumn> dataApiColumnOptional = dataApiColumnRepository.findByDataTableIdAndIdAndDeletedIsFalse(tableId, fieldId);
if(!dataApiColumnOptional.isPresent()){
return null;
}
return dataApiColumnOptional.get();
}
private DataApiTable queryDataApiTableByDataSourceIdAndTableId(Long dataSourceId, Long tableId) {
Optional<DataApiTable> dataApiTableOptional = dataApiTableRepository.findAllByDataSourceIdAndIdAndDeletedIsFalse(dataSourceId, tableId);
if(!dataApiTableOptional.isPresent()){
return null;
}
return dataApiTableOptional.get();
}
public Result<JSONObject> debugDataApiService(String environment, Long dataModelId){ public Result<JSONObject> debugDataApiService(String environment, Long dataModelId){
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
...@@ -376,7 +410,7 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage ...@@ -376,7 +410,7 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage
List<List<String>> heads = ColumnDataRangeFilter.generateExcelHead(dataApiModelConfig.getColumnDataRangeConfig()); List<List<String>> heads = ColumnDataRangeFilter.generateExcelHead(dataApiModelConfig.getColumnDataRangeConfig());
result.put("data", data); result.put("data", data);
result.put("heads", heads); result.put("heads", heads);
return success("数据api服务调试成功", result); return success("数据api服务调试", result);
} }
private List<List<Object>> executeDataQueryTask(String dataSql, DataApiModelConfig dataApiModelConfig, DataApiDataSource dataSource) throws Exception{ private List<List<Object>> executeDataQueryTask(String dataSql, DataApiModelConfig dataApiModelConfig, DataApiDataSource dataSource) throws Exception{
...@@ -419,5 +453,4 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage ...@@ -419,5 +453,4 @@ public class DataApiServiceManagementServiceImpl implements DataApiServiceManage
data = (List<List<Object>>) future.get(); data = (List<List<Object>>) future.get();
return data; return data;
} }
} }
...@@ -2,11 +2,10 @@ package com.hisense.dataservice.service; ...@@ -2,11 +2,10 @@ package com.hisense.dataservice.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.hisense.dataservice.DataServiceApplication; import com.hisense.dataservice.DataServiceApplication;
import com.hisense.dataservice.bo.ColumnDataRangeFilter; import com.hisense.dataservice.bo.*;
import com.hisense.dataservice.bo.DataColumn;
import com.hisense.dataservice.bo.TableJoinRelationConfig;
import com.hisense.dataservice.dto.DataApiModelDto; import com.hisense.dataservice.dto.DataApiModelDto;
import com.hisense.dataservice.enums.NetworkEnv; import com.hisense.dataservice.enums.NetworkEnv;
import com.hisense.dataservice.enums.OperateEnum;
import com.hisense.dataservice.enums.SystemEnv; import com.hisense.dataservice.enums.SystemEnv;
import com.hisense.dataservice.library.model.Result; import com.hisense.dataservice.library.model.Result;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -59,6 +58,39 @@ public class DataApiServiceManagementServiceTest { ...@@ -59,6 +58,39 @@ public class DataApiServiceManagementServiceTest {
} }
@Test
public void testCreateDataApiWithMutil(){
Result<Long> result1 = dataApiServiceManagementService.createDataApi("test", buildModelDtoForServiceCreate());
Assert.assertNotNull(result1.getData());
log.info("执行服务创建;第一步结果:{}", result1);
Assert.assertEquals("200", result1.getCode());
DataApiModelDto dataApiModelDto = buildModelDtoForSourceConfigWithMutilTable();
dataApiModelDto.setModelId(result1.getData());
Result<Long> result2 = dataApiServiceManagementService.createDataApi("test", dataApiModelDto);
Assert.assertNotNull(result2.getData());
log.info("执行数据源配置;第二步结果:{}", result2);
Assert.assertEquals("200", result2.getCode());
dataApiModelDto = buildModelDtoDataColumnConfigWithMutilTable();
dataApiModelDto.setLineDataRangeConfig(buildModelDtoDataLineConfigWithMutilTable().getLineDataRangeConfig());
dataApiModelDto.setModelId(result2.getData());
Result<Long> result3 = dataApiServiceManagementService.createDataApi("test", dataApiModelDto);
log.info("执行数据配置;第三步结果:{}", result3);
Assert.assertEquals("200", result3.getCode());
Result<Boolean> result4 = dataApiServiceManagementService.publishDataApi("test", result3.getData());
log.info("执行发布api;第四步结果,发布api:{}", result4);
Assert.assertEquals(false, result4.getData());
Result<JSONObject> result5 = dataApiServiceManagementService.debugDataApiService("test", result3.getData());
log.info("执行调试;第五步结果,调试api:{}", result5);
Assert.assertEquals(null, result5.getData());
}
private DataApiModelDto buildModelDtoForServiceCreate(){ private DataApiModelDto buildModelDtoForServiceCreate(){
DataApiModelDto dataApiModelDto = new DataApiModelDto(); DataApiModelDto dataApiModelDto = new DataApiModelDto();
dataApiModelDto.setModelName("测试模式名称"); dataApiModelDto.setModelName("测试模式名称");
...@@ -87,11 +119,11 @@ public class DataApiServiceManagementServiceTest { ...@@ -87,11 +119,11 @@ public class DataApiServiceManagementServiceTest {
DataApiModelDto dataApiModelDto = new DataApiModelDto(); DataApiModelDto dataApiModelDto = new DataApiModelDto();
dataApiModelDto.setDataSourceId(1L); dataApiModelDto.setDataSourceId(1L);
TableJoinRelationConfig tableJoinRelationConfig1 = new TableJoinRelationConfig(); TableJoinRelationConfig tableJoinRelationConfig1 = new TableJoinRelationConfig();
tableJoinRelationConfig1.setTableId(1L); tableJoinRelationConfig1.setTableId(1L);// TODO 设置不存在的Id测试
tableJoinRelationConfig1.setColumnId(2L); tableJoinRelationConfig1.setColumnId(3L);// TODO 设置不存在的Id测试
TableJoinRelationConfig tableJoinRelationConfig2 = new TableJoinRelationConfig(); TableJoinRelationConfig tableJoinRelationConfig2 = new TableJoinRelationConfig();
tableJoinRelationConfig2.setTableId(2L); tableJoinRelationConfig2.setTableId(2L);// TODO 设置不存在的Id测试
tableJoinRelationConfig2.setColumnId(6L); // TODO 设置不存在的Id测试 tableJoinRelationConfig2.setColumnId(6L); // TODO 设置不存在的Id测试
List<TableJoinRelationConfig> tableJoinRelationConfigs = new ArrayList<>(); List<TableJoinRelationConfig> tableJoinRelationConfigs = new ArrayList<>();
tableJoinRelationConfigs.add(tableJoinRelationConfig1); tableJoinRelationConfigs.add(tableJoinRelationConfig1);
...@@ -126,4 +158,106 @@ public class DataApiServiceManagementServiceTest { ...@@ -126,4 +158,106 @@ public class DataApiServiceManagementServiceTest {
return dataApiModelDto; return dataApiModelDto;
} }
private DataApiModelDto buildModelDtoDataColumnConfigWithMutilTable(){
DataApiModelDto dataApiModelDto = new DataApiModelDto();
List<ColumnDataRangeFilter> columnDataRangeFilters = new ArrayList<>();
// 第一张表
ColumnDataRangeFilter columnDataRangeFilter1 = new ColumnDataRangeFilter();
List<DataColumn> dataColumns1 = new ArrayList<>();
DataColumn dataColumn1 = new DataColumn();
dataColumn1.setId(1L);
dataColumns1.add(dataColumn1);
dataColumn1 = new DataColumn();
dataColumn1.setId(2L);
dataColumns1.add(dataColumn1);
dataColumn1 = new DataColumn();
dataColumn1.setId(3L);
dataColumns1.add(dataColumn1);
columnDataRangeFilter1.setTableId(1L);
columnDataRangeFilter1.setFields(dataColumns1);
columnDataRangeFilters.add(columnDataRangeFilter1);
// 第二张表
ColumnDataRangeFilter columnDataRangeFilter2 = new ColumnDataRangeFilter();
List<DataColumn> dataColumns2 = new ArrayList<>();
DataColumn dataColumn2 = new DataColumn();
dataColumn2.setId(5L);
dataColumns2.add(dataColumn2);
dataColumn2 = new DataColumn();
dataColumn2.setId(6L);
dataColumns2.add(dataColumn2);
columnDataRangeFilter2.setTableId(2L);
columnDataRangeFilter2.setFields(dataColumns2);
columnDataRangeFilters.add(columnDataRangeFilter2);
dataApiModelDto.setColumnDataRangeConfig(columnDataRangeFilters);
return dataApiModelDto;
}
private DataApiModelDto buildModelDtoDataLineConfigWithMutilTable(){
DataApiModelDto dataApiModelDto = new DataApiModelDto();
// 添加列条件
List<LineDataRangeFilter> lineDataRangeFilters = new ArrayList<>();
// 表1条件一
List<Object> filterValues = new ArrayList<>();
filterValues.add(22L);
filterValues.add(33L);
FilterCondition filterCondition1 = generateFilterCondition( OperateEnum.BETWEEN_AND, filterValues, 3L);
List<FilterCondition> filterConditions1 = new ArrayList<>();
filterConditions1.add(filterCondition1);
LineDataRangeFilter lineDataRangeFilter1 = generateLineDataRangeFilter(true, 1L, filterConditions1);
lineDataRangeFilters.add(lineDataRangeFilter1);
// 表2条件二
List<Object> filterValues2 = new ArrayList<>();
filterValues2.add(22);
FilterCondition filterCondition2 = generateFilterCondition(OperateEnum.EQUAL, filterValues2,6L);
List<FilterCondition> filterConditions2 = new ArrayList<>();
filterConditions2.add(filterCondition2);
// 表2条件三
//name like "%scc%"
List<Object> filterValues3 = new ArrayList<>();
filterValues3.add("scc");
FilterCondition filterCondition3 = generateFilterCondition(OperateEnum.LIKE, filterValues3,5L);
filterConditions2.add(filterCondition3);
// 添加行条件
// for test error:更改tableId的值
LineDataRangeFilter lineDataRangeFilter2 = generateLineDataRangeFilter(false, 2L,filterConditions2);
lineDataRangeFilters.add(lineDataRangeFilter2);
dataApiModelDto.setLineDataRangeConfig(lineDataRangeFilters);
return dataApiModelDto;
}
public LineDataRangeFilter generateLineDataRangeFilter(Boolean match, Long tableId,List<FilterCondition> filterConditions) {
LineDataRangeFilter lineDataRangeFilter = new LineDataRangeFilter();
lineDataRangeFilter.setFullMatched(match);
lineDataRangeFilter.setFilterConditions(filterConditions);
lineDataRangeFilter.setTableId(tableId);
return lineDataRangeFilter;
}
public FilterCondition generateFilterCondition(OperateEnum operateEnum, List<Object> filterValues, Long fieldId){
FilterCondition filterCondition = new FilterCondition();
DataColumn dataColumn = new DataColumn();
dataColumn.setId(fieldId);
filterCondition.setField(dataColumn);
filterCondition.setOperateEnumType(operateEnum);
filterCondition.setFilterValues(filterValues);
return filterCondition;
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论