From 6e1303aa72e1eed493b6def0dc170830ba54e560 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Fri, 25 Feb 2022 17:32:17 +0800 Subject: [PATCH 01/21] =?UTF-8?q?fix:=20api=20=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E8=A1=A5=E5=85=A8=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/dataease/auth/api/demo.java | 11 +++----- .../commons/utils/HttpClientUtil.java | 21 ++++++++------- .../provider/datasource/ApiProvider.java | 16 +++++------- .../service/datasource/DatasourceService.java | 26 +++++++++++-------- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/backend/src/main/java/io/dataease/auth/api/demo.java b/backend/src/main/java/io/dataease/auth/api/demo.java index 1fcab1b099..04d7ce9c57 100644 --- a/backend/src/main/java/io/dataease/auth/api/demo.java +++ b/backend/src/main/java/io/dataease/auth/api/demo.java @@ -3,13 +3,10 @@ package io.dataease.auth.api; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; -import com.github.xiaoymin.knife4j.annotations.ApiSupport; -import io.dataease.base.domain.DatasetTableFunction; -import io.swagger.annotations.Api; + import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; -import java.util.List; @RestController @@ -19,10 +16,10 @@ public class demo { @GetMapping("demo") public Object listByTableId() { JSONArray jsonArray = new JSONArray(); - for(int i=0;i<100;i++){ + for(int i=0;i<10;i++){ JSONObject jsonObject = new JSONObject(); - for(int j=0;j<10;j++){ - jsonObject.set("column" + j, "value"+j); + for(int j=0;j<1;j++){ + jsonObject.set("column" +i + j, "value"+i+j); } jsonArray.put(jsonObject); } diff --git a/backend/src/main/java/io/dataease/commons/utils/HttpClientUtil.java b/backend/src/main/java/io/dataease/commons/utils/HttpClientUtil.java index d00974d658..fb71455a64 100755 --- a/backend/src/main/java/io/dataease/commons/utils/HttpClientUtil.java +++ b/backend/src/main/java/io/dataease/commons/utils/HttpClientUtil.java @@ -1,8 +1,8 @@ package io.dataease.commons.utils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; -import org.apache.http.HttpStatus; import org.apache.http.NameValuePair; import org.apache.http.client.entity.EntityBuilder; import org.apache.http.client.entity.UrlEncodedFormEntity; @@ -90,8 +90,7 @@ public class HttpClientUtil { httpGet.addHeader(HTTP.CONTENT_ENCODING, config.getCharset()); HttpResponse response = httpClient.execute(httpGet); - HttpEntity entity = response.getEntity(); - return getResponseStr(response, entity, config); + return getResponseStr(response, config); } catch (Exception e) { logger.error("HttpClient查询失败", e); throw new RuntimeException("HttpClient查询失败: " + e.getMessage()); @@ -136,8 +135,7 @@ public class HttpClientUtil { httpPost.setEntity(requestEntity); HttpResponse response = httpClient.execute(httpPost); - HttpEntity entity = response.getEntity(); - return getResponseStr(response, entity, config); + return getResponseStr(response, config); } catch (Exception e) { logger.error("HttpClient查询失败", e); throw new RuntimeException("HttpClient查询失败: " + e.getMessage()); @@ -198,8 +196,7 @@ public class HttpClientUtil { } HttpResponse response = httpClient.execute(httpPost); - HttpEntity entity = response.getEntity(); - return getResponseStr(response, entity, config); + return getResponseStr(response, config); } catch (Exception e) { logger.error("HttpClient查询失败", e); throw new RuntimeException("HttpClient查询失败: " + e.getMessage()); @@ -212,10 +209,14 @@ public class HttpClientUtil { } } - private static String getResponseStr(HttpResponse response, HttpEntity entity, HttpClientConfig config) throws Exception{ + private static String getResponseStr(HttpResponse response, HttpClientConfig config) throws Exception{ if(response.getStatusLine().getStatusCode() >= 400){ - throw new Exception(EntityUtils.toString(entity, config.getCharset())); + String msg = EntityUtils.toString(response.getEntity(), config.getCharset()); + if(StringUtils.isEmpty(msg)){ + msg = "StatusCode: " + response.getStatusLine().getStatusCode(); + } + throw new Exception(msg); } - return EntityUtils.toString(entity, config.getCharset()); + return EntityUtils.toString(response.getEntity(), config.getCharset()); } } diff --git a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java index 42a800f1c5..56ebf17f63 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java @@ -28,7 +28,7 @@ public class ApiProvider extends DatasourceProvider{ public List getData(DatasourceRequest datasourceRequest) throws Exception { ApiDefinition apiDefinition = checkApiDefinition(datasourceRequest); String response = execHttpRequest(apiDefinition); - return fetchResult(response, apiDefinition.getDataPath()); + return fetchResult(response, apiDefinition); } @Override @@ -64,7 +64,7 @@ public class ApiProvider extends DatasourceProvider{ fieldList = getTableFileds(datasourceRequest); result.put("fieldList", fieldList); - dataList = fetchResult(response, apiDefinition.getDataPath()); + dataList = fetchResult(response, apiDefinition); result.put("dataList", dataList); return result; } @@ -170,16 +170,14 @@ public class ApiProvider extends DatasourceProvider{ return response; } - private List fetchResult(String result, String path){ + private List fetchResult(String result, ApiDefinition apiDefinition){ List dataList = new LinkedList<>(); - List datas = JsonPath.read(result, path); + List datas = JsonPath.read(result, apiDefinition.getDataPath()); for (LinkedHashMap data : datas) { - String[] row = new String[data.entrySet().size()]; - Iterator it = data.entrySet().iterator(); + String[] row = new String[apiDefinition.getFields().size()]; int i = 0; - while (it.hasNext()){ - Map.Entry entry = (Map.Entry)it.next(); - row[i] = Optional.ofNullable(entry.getValue()).orElse("").toString().replaceAll("\n", " ").replaceAll("\r", " "); + for (DatasetTableField field : apiDefinition.getFields()) { + row[i] = Optional.ofNullable(data.get(field.getOriginName())).orElse("").toString().replaceAll("\n", " ").replaceAll("\r", " "); i++; } dataList.add(row); diff --git a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java index b71b93638b..7a20a5bd39 100644 --- a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java +++ b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java @@ -362,18 +362,16 @@ public class DatasourceService { List dataList = new ArrayList<>(); List fields = new ArrayList<>(); - Boolean getFileds = true; - + Set fieldKeys = new HashSet<>(); + //第一遍获取 field for (LinkedHashMap data : datas) { - JSONObject jsonObject = new JSONObject(); - Iterator it = data.entrySet().iterator(); - while (it.hasNext()){ - Map.Entry entry = (Map.Entry)it.next(); - jsonObject.put((String) entry.getKey(), Optional.ofNullable(entry.getValue()).orElse("").toString().replaceAll("\n", " ").replaceAll("\r", " ")); - if(getFileds) { + Set keys = data.keySet(); + for (String key : keys) { + if(!fieldKeys.contains(key)){ + fieldKeys.add(key); DatasetTableField tableField = new DatasetTableField(); - tableField.setOriginName((String) entry.getKey()); - tableField.setName((String) entry.getKey()); + tableField.setOriginName(key); + tableField.setName(key); tableField.setSize(65535); tableField.setDeExtractType(0); tableField.setDeType(0); @@ -381,7 +379,13 @@ public class DatasourceService { fields.add(tableField); } } - getFileds = false; + } + //第二遍获取 data + for (LinkedHashMap data : datas) { + JSONObject jsonObject = new JSONObject(); + for (String key : fieldKeys) { + jsonObject.put(key, Optional.ofNullable(data.get(key)).orElse("").toString().replaceAll("\n", " ").replaceAll("\r", " ")); + } dataList.add(jsonObject); } apiDefinition.setDatas(dataList); From b2403405d70a3bce1efcf808cc9f871280ade603 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 25 Feb 2022 17:47:44 +0800 Subject: [PATCH 02/21] =?UTF-8?q?refactor:=20flyway=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8B=93=E5=B1=95=E6=8F=92=E4=BB=B6=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/main/resources/db/migration/V32__1.8.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/resources/db/migration/V32__1.8.sql b/backend/src/main/resources/db/migration/V32__1.8.sql index 3ffa33fe71..7ff10256c3 100644 --- a/backend/src/main/resources/db/migration/V32__1.8.sql +++ b/backend/src/main/resources/db/migration/V32__1.8.sql @@ -315,7 +315,7 @@ ALTER TABLE `chart_view` ADD COLUMN `is_plugin` bit(1) NULL COMMENT '是否插件' AFTER `chart_type`; -INSERT INTO `my_plugin` VALUES (2, '视图默认插件', 'default', 0, 20000, 'view', '默认视图插件', '1.0-SNAPSHOT', NULL, 'fit2cloud-chenyw', 0, NULL, NULL, 'deplugin-view-backend', NULL); +INSERT INTO `my_plugin` VALUES (2, '视图默认插件', 'default', 0, 20000, 'view', '默认视图插件', '1.0-SNAPSHOT', NULL, 'fit2cloud-chenyw', 0, NULL, NULL, 'dataease-extensions-backend', NULL); SET NAMES utf8mb4; From 48eec5879608926dba35eb130e27d187d1ad82b2 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Fri, 25 Feb 2022 17:56:30 +0800 Subject: [PATCH 03/21] =?UTF-8?q?fix:=20api=20=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E6=9C=89=E6=97=B6=E4=BF=AE=E6=94=B9=E5=90=8D=E7=A7=B0=E5=BC=B9?= =?UTF-8?q?=E5=87=BA=E4=BA=8C=E6=AC=A1=E7=A1=AE=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/system/datasource/form.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/views/system/datasource/form.vue b/frontend/src/views/system/datasource/form.vue index 05ad8a15f5..d8f4aab4cc 100644 --- a/frontend/src/views/system/datasource/form.vue +++ b/frontend/src/views/system/datasource/form.vue @@ -588,6 +588,9 @@ export default { this.$message.error(i18n.t('datasource.api_table_not_empty')) return } + form.apiConfiguration.forEach(item =>{ + delete item.status + }) form.configuration = JSON.stringify(form.apiConfiguration) }else { form.configuration = JSON.stringify(form.configuration) From 3d458316a9aea17e570003850916b8840c03f9e6 Mon Sep 17 00:00:00 2001 From: junjun Date: Fri, 25 Feb 2022 18:28:49 +0800 Subject: [PATCH 04/21] =?UTF-8?q?refactor:=20=E5=8E=BB=E9=99=A4=E5=A0=86?= =?UTF-8?q?=E5=8F=A0=E6=9F=B1=E7=8A=B6=E5=9B=BE=E6=9F=B1=E9=97=B4=E9=9A=94?= =?UTF-8?q?=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/components/shape-attr/SizeSelector.vue | 2 +- frontend/src/views/chart/view/ChartEdit.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/chart/components/shape-attr/SizeSelector.vue b/frontend/src/views/chart/components/shape-attr/SizeSelector.vue index 5fe74d9514..0a96d990d7 100644 --- a/frontend/src/views/chart/components/shape-attr/SizeSelector.vue +++ b/frontend/src/views/chart/components/shape-attr/SizeSelector.vue @@ -8,7 +8,7 @@ - + diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index be24d248c7..6a28dce9ff 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -622,7 +622,7 @@ /> From 4f2fe49beac9b1bf0fb94dc922c88fedf5508fea Mon Sep 17 00:00:00 2001 From: taojinlong Date: Sat, 26 Feb 2022 17:06:15 +0800 Subject: [PATCH 05/21] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E3=80=81=E6=95=B0=E6=8D=AE=E9=9B=86=20api=20=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aop/DePermissionAnnotationHandler.java | 2 +- .../commons/constants/ResourceAuthLevel.java | 6 +++- .../dataset/DataSetGroupController.java | 2 +- .../dataset/DataSetTableController.java | 13 ++++++++ .../dataset/DataSetTableFieldController.java | 20 ++++++++++-- .../dataset/DataSetTableTaskController.java | 8 ++++- .../DataSetTableTaskLogController.java | 12 ++++--- .../dataset/DataSetTableUnionController.java | 9 ++++++ .../dataset/DatasetFunctionController.java | 6 ++++ .../datasource/DatasourceController.java | 32 ++++++------------- .../server/ColumnPermissionsController.java | 17 +++++++++- .../server/RowPermissionsController.java | 16 ++++++++++ .../main/resources/db/migration/V32__1.8.sql | 3 ++ frontend/src/views/login/index.vue | 1 - .../src/views/system/datasource/DsTree.vue | 3 +- 15 files changed, 112 insertions(+), 38 deletions(-) diff --git a/backend/src/main/java/io/dataease/auth/aop/DePermissionAnnotationHandler.java b/backend/src/main/java/io/dataease/auth/aop/DePermissionAnnotationHandler.java index 5654a987b6..616c9d14e9 100644 --- a/backend/src/main/java/io/dataease/auth/aop/DePermissionAnnotationHandler.java +++ b/backend/src/main/java/io/dataease/auth/aop/DePermissionAnnotationHandler.java @@ -134,7 +134,7 @@ public class DePermissionAnnotationHandler { return access(o, annotation, ++layer); } else { // 当作自定义类处理 - String[] values = value.split("u002E"); + String[] values = value.split("\\."); String fieldName = values[layer]; Object fieldValue = getFieldValue(arg, fieldName); diff --git a/backend/src/main/java/io/dataease/commons/constants/ResourceAuthLevel.java b/backend/src/main/java/io/dataease/commons/constants/ResourceAuthLevel.java index 4eae45a734..f9ce6ad80a 100644 --- a/backend/src/main/java/io/dataease/commons/constants/ResourceAuthLevel.java +++ b/backend/src/main/java/io/dataease/commons/constants/ResourceAuthLevel.java @@ -15,7 +15,11 @@ public enum ResourceAuthLevel { LINK_LEVEL_USE(1), LINK_LEVEL_MANAGE(3), - LINK_LEVEL_GRANT(15); + LINK_LEVEL_GRANT(15), + + DATASOURCE_LEVEL_USE(1), + DATASOURCE_LEVEL_MANAGE(3), + DATASOURCE_LEVEL_GRANT(15); private Integer level; diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java index f4cdcff78b..cd433007f2 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java @@ -72,7 +72,7 @@ public class DataSetGroupController { return dataSetGroupService.getScene(id); } - @ApiOperation("检测kettle") + @ApiIgnore @PostMapping("/isKettleRunning") public boolean isKettleRunning() { return extractDataService.isKettleRunning(); diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java index 3d9356e50b..9639ec9aa2 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -76,6 +76,7 @@ public class DataSetTableController { dataSetTableService.alter(request); } + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("删除") @PostMapping("delete/{id}") @@ -83,18 +84,21 @@ public class DataSetTableController { dataSetTableService.delete(id); } + @RequiresPermissions("data:read") @ApiOperation("查询") @PostMapping("list") public List list(@RequestBody DataSetTableRequest dataSetTableRequest) { return dataSetTableService.list(dataSetTableRequest); } + @RequiresPermissions("data:read") @ApiOperation("查询组") @PostMapping("listAndGroup") public List listAndGroup(@RequestBody DataSetTableRequest dataSetTableRequest) { return dataSetTableService.listAndGroup(dataSetTableRequest); } + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE) @ApiOperation("详息") @PostMapping("get/{id}") @@ -102,12 +106,14 @@ public class DataSetTableController { return dataSetTableService.get(id); } + @RequiresPermissions("data:read") @ApiOperation("带权限查询") @PostMapping("getWithPermission/{id}") public DataSetTableDTO getWithPermission(@PathVariable String id) { return dataSetTableService.getWithPermission(id, null); } + @RequiresPermissions("data:read") @ApiOperation("查询原始字段") @PostMapping("getFields") public List getFields(@RequestBody DatasetTable datasetTable) throws Exception { @@ -167,24 +173,31 @@ public class DataSetTableController { return dataSetTableService.excelSaveAndParse(file, tableId, editType); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET) @ApiOperation("检测doris") @PostMapping("checkDorisTableIsExists/{id}") public Boolean checkDorisTableIsExists(@PathVariable String id) throws Exception { return dataSetTableService.checkDorisTableIsExists(id); } + @RequiresPermissions("data:read") @ApiOperation("搜索") @PostMapping("search") public List search(@RequestBody DataSetTableRequest dataSetTableRequest) { return dataSetTableService.search(dataSetTableRequest); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("数据集同步表结构") @PostMapping("syncField/{id}") public DatasetTable syncDatasetTableField(@PathVariable String id) throws Exception { return dataSetTableService.syncDatasetTableField(id); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, value = "id") @ApiOperation("关联数据集预览数据") @PostMapping("unionPreview") public Map unionPreview(@RequestBody DataSetTableRequest dataSetTableRequest) throws Exception { diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java index 9a0abdc441..42a1eb98e2 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java @@ -21,6 +21,7 @@ import io.dataease.service.dataset.PermissionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ObjectUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -28,6 +29,7 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import cn.hutool.core.collection.CollectionUtil; +import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -54,6 +56,8 @@ public class DataSetTableFieldController { @Resource private PermissionService permissionService; + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET) @ApiOperation("查询表下属字段") @PostMapping("list/{tableId}") public List list(@PathVariable String tableId) { @@ -64,6 +68,8 @@ public class DataSetTableFieldController { return fields; } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET) @ApiOperation("查询表下属字段") @PostMapping("listWithPermission/{tableId}") public List listWithPermission(@PathVariable String tableId) { @@ -77,6 +83,8 @@ public class DataSetTableFieldController { } //管理权限,可以列出所有字段 + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET) @ApiOperation("查询表下属字段") @PostMapping("listForPermissionSeting/{tableId}") public List listForPermissionSeting(@PathVariable String tableId) { @@ -87,6 +95,8 @@ public class DataSetTableFieldController { } //管理权限,可以列出所有字段 + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET) @ApiOperation("分组查询表下属字段") @PostMapping("listByDQ/{tableId}") public DatasetTableField4Type listByDQ(@PathVariable String tableId) { @@ -103,12 +113,15 @@ public class DataSetTableFieldController { return datasetTableField4Type; } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("批量更新") @PostMapping("batchEdit") public void batchEdit(@RequestBody List list) { dataSetTableFieldsService.batchEdit(list); } + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("save") @@ -126,13 +139,14 @@ public class DataSetTableFieldController { return dataSetTableFieldsService.save(datasetTableField); } + //TODO 校验权限 @ApiOperation("删除") @PostMapping("delete/{id}") public void delete(@PathVariable String id) { dataSetTableFieldsService.delete(id); } - @ApiOperation("多字段值枚举") + @ApiIgnore @PostMapping("linkMultFieldValues") public List linkMultFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { @@ -145,7 +159,7 @@ public class DataSetTableFieldController { return multFieldValues(multFieldValuesRequest); } - @ApiOperation("多字段值枚举") + @ApiIgnore @PostMapping("multFieldValues") public List multFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { List results = new ArrayList<>(); @@ -168,7 +182,7 @@ public class DataSetTableFieldController { return list; } - @ApiOperation("多字段值枚举") + @ApiIgnore @PostMapping("multFieldValuesForPermissions") public List multFieldValuesForPermissions(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { List results = new ArrayList<>(); diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java index e0703d256b..74bb8cc0b7 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java @@ -16,7 +16,9 @@ import io.dataease.service.dataset.DataSetTableTaskLogService; import io.dataease.service.dataset.DataSetTableTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; import java.util.List; @@ -42,18 +44,21 @@ public class DataSetTableTaskController { return dataSetTableTaskService.save(dataSetTaskRequest); } + //TODO @ApiOperation("删除") @PostMapping("delete/{id}") public void delete(@PathVariable String id) { dataSetTableTaskService.delete(id); } + @DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("查询") @PostMapping("list") public List list(@RequestBody DatasetTableTask datasetTableTask) { return dataSetTableTaskService.list(datasetTableTask); } + @RequiresPermissions("task:read") @ApiOperation("分页查询") @PostMapping("/pageList/{goPage}/{pageSize}") public Pager> taskList(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) { @@ -62,12 +67,13 @@ public class DataSetTableTaskController { return PageUtils.setPageInfo(page, dataSetTableTaskService.taskList4User(request)); } - @ApiOperation("上次执行时间") + @ApiIgnore @PostMapping("/lastExecStatus") public DataSetTaskDTO lastExecStatus(@RequestBody DataSetTaskDTO datasetTableTask) { return dataSetTableTaskLogService.lastExecStatus(datasetTableTask); } + @DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("更新状态") @PostMapping("/updateStatus") public void updateStatus(@RequestBody DatasetTableTask datasetTableTask) throws Exception{ diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskLogController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskLogController.java index 5160a2b5c2..960e9ff62b 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskLogController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskLogController.java @@ -14,6 +14,7 @@ import io.dataease.dto.dataset.DataSetTaskLogDTO; import io.dataease.service.dataset.DataSetTableTaskLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -38,12 +39,13 @@ public class DataSetTableTaskLogController { return dataSetTableTaskLogService.save(datasetTableTaskLog); } - @ApiOperation("删除") - @PostMapping("delete/{id}") - public void delete(@PathVariable String id) { - dataSetTableTaskLogService.delete(id); - } +// @ApiOperation("删除") +// @PostMapping("delete/{id}") +// public void delete(@PathVariable String id) { +// dataSetTableTaskLogService.delete(id); +// } + @RequiresPermissions("task:read") @ApiOperation("分页查询") @PostMapping("list/{type}/{goPage}/{pageSize}") public Pager> list(@RequestBody BaseGridRequest request, @PathVariable String type, @PathVariable int goPage, @PathVariable int pageSize) { diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableUnionController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableUnionController.java index c2b8a689d7..8f0c8048c4 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableUnionController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableUnionController.java @@ -1,11 +1,15 @@ package io.dataease.controller.dataset; import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.dataease.auth.annotation.DePermission; import io.dataease.base.domain.DatasetTableUnion; +import io.dataease.commons.constants.DePermissionType; +import io.dataease.commons.constants.ResourceAuthLevel; import io.dataease.dto.dataset.DataSetTableUnionDTO; import io.dataease.service.dataset.DataSetTableUnionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -23,18 +27,23 @@ public class DataSetTableUnionController { @Resource private DataSetTableUnionService dataSetTableUnionService; + @RequiresPermissions("data:read") @ApiOperation("保存") @PostMapping("save") public DatasetTableUnion save(@RequestBody DatasetTableUnion datasetTableUnion) { return dataSetTableUnionService.save(datasetTableUnion); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("删除") @PostMapping("delete/{id}") public void delete(@PathVariable String id) { dataSetTableUnionService.delete(id); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET) @ApiOperation("查询") @PostMapping("listByTableId/{tableId}") public List listByTableId(@PathVariable String tableId) { diff --git a/backend/src/main/java/io/dataease/controller/dataset/DatasetFunctionController.java b/backend/src/main/java/io/dataease/controller/dataset/DatasetFunctionController.java index 32bb6c4067..66c1ba8d72 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DatasetFunctionController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DatasetFunctionController.java @@ -1,10 +1,14 @@ package io.dataease.controller.dataset; import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.dataease.auth.annotation.DePermission; import io.dataease.base.domain.DatasetTableFunction; +import io.dataease.commons.constants.DePermissionType; +import io.dataease.commons.constants.ResourceAuthLevel; import io.dataease.service.dataset.DatasetFunctionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -25,6 +29,8 @@ public class DatasetFunctionController { @Resource private DatasetFunctionService datasetFunctionService; + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("查询") @PostMapping("listByTableId/{tableId}") public List listByTableId(@PathVariable String tableId) { diff --git a/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java index a47f6b28cc..d03a15f2db 100644 --- a/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java +++ b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java @@ -1,26 +1,19 @@ package io.dataease.controller.datasource; -import com.github.pagehelper.Page; -import com.github.pagehelper.PageHelper; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.dataease.auth.annotation.DePermission; -import io.dataease.auth.annotation.DePermissions; import io.dataease.base.domain.Datasource; import io.dataease.commons.constants.DePermissionType; import io.dataease.commons.constants.ResourceAuthLevel; import io.dataease.commons.utils.AuthUtils; -import io.dataease.commons.utils.PageUtils; -import io.dataease.commons.utils.Pager; import io.dataease.controller.ResultHolder; import io.dataease.controller.request.DatasourceUnionRequest; import io.dataease.controller.request.datasource.ApiDefinition; -import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.dto.datasource.DBTableDTO; import io.dataease.service.datasource.DatasourceService; import io.dataease.dto.DatasourceDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; @@ -38,7 +31,7 @@ public class DatasourceController { @Resource private DatasourceService datasourceService; - @RequiresPermissions("datasource:add") + @RequiresPermissions("datasource:read") @DePermission(type = DePermissionType.DATASOURCE, value = "id") @ApiOperation("新增数据源") @PostMapping("/add") @@ -47,7 +40,6 @@ public class DatasourceController { } @RequiresPermissions("datasource:read") - @DePermission(type = DePermissionType.DATASOURCE, value = "id") @ApiOperation("验证数据源") @PostMapping("/validate") public ResultHolder validate(@RequestBody DatasourceDTO datasource) throws Exception { @@ -55,14 +47,14 @@ public class DatasourceController { } @RequiresPermissions("datasource:read") - @DePermission(type = DePermissionType.DATASOURCE) + @DePermission(type = DePermissionType.DATASOURCE, value = "id") @ApiOperation("验证数据源") @GetMapping("/validate/{datasourceId}") public ResultHolder validate(@PathVariable String datasourceId) { return datasourceService.validate(datasourceId); } - + @RequiresPermissions("datasource:read") @ApiOperation("查询当前用户数据源") @GetMapping("/list") public List getDatasourceList() throws Exception { @@ -71,6 +63,7 @@ public class DatasourceController { return datasourceService.getDatasourceList(request); } + @RequiresPermissions("datasource:read") @ApiOperation("查询当前用户数据源") @GetMapping("/list/{type}") public List getDatasourceListByType(@PathVariable String type) throws Exception { @@ -78,28 +71,23 @@ public class DatasourceController { } @RequiresPermissions("datasource:read") - @ApiIgnore - @PostMapping("/list/{goPage}/{pageSize}") - public Pager> getDatasourceList(@RequestBody BaseGridRequest request, @PathVariable int goPage, @PathVariable int pageSize) throws Exception { - Page page = PageHelper.startPage(goPage, pageSize, true); - return PageUtils.setPageInfo(page, datasourceService.gridQuery(request)); - } - - @DePermission(type = DePermissionType.DATASOURCE, level = ResourceAuthLevel.LINK_LEVEL_MANAGE) + @DePermission(type = DePermissionType.DATASOURCE, level = ResourceAuthLevel.DATASOURCE_LEVEL_MANAGE) @ApiOperation("删除数据源") @PostMapping("/delete/{datasourceID}") public void deleteDatasource(@PathVariable(value = "datasourceID") String datasourceID) throws Exception { datasourceService.deleteDatasource(datasourceID); } - @RequiresPermissions("datasource:add") - @DePermission(type = DePermissionType.DATASOURCE, value = "id", level = ResourceAuthLevel.LINK_LEVEL_MANAGE) + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASOURCE, value = "id", level = ResourceAuthLevel.DATASOURCE_LEVEL_MANAGE) @ApiOperation("更新数据源") @PostMapping("/update") public void updateDatasource(@RequestBody Datasource Datasource) { datasourceService.updateDatasource(Datasource); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASOURCE, value = "id") @ApiOperation("查询数据源下属所有表") @PostMapping("/getTables") public List getTables(@RequestBody Datasource datasource) throws Exception { @@ -112,7 +100,7 @@ public class DatasourceController { return datasourceService.getSchema(datasource); } - @ApiOperation("校验API数据源") + @ApiIgnore @PostMapping("/checkApiDatasource") public ApiDefinition checkApiDatasource(@RequestBody ApiDefinition apiDefinition) throws Exception { return datasourceService.checkApiDatasource(apiDefinition); diff --git a/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java b/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java index 68e81c2c9f..c2108ad5a1 100644 --- a/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java +++ b/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java @@ -2,6 +2,9 @@ package io.dataease.plugins.server; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; +import io.dataease.auth.annotation.DePermission; +import io.dataease.commons.constants.DePermissionType; +import io.dataease.commons.constants.ResourceAuthLevel; import io.dataease.commons.utils.PageUtils; import io.dataease.commons.utils.Pager; import io.dataease.i18n.Translator; @@ -16,6 +19,7 @@ import io.dataease.plugins.xpack.auth.service.ColumnPermissionService; import io.dataease.plugins.xpack.auth.service.RowPermissionService; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; @@ -27,7 +31,8 @@ import java.util.List; @RequestMapping("plugin/dataset/columnPermissions") public class ColumnPermissionsController { - + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("save") public DatasetColumnPermissions save(@RequestBody DatasetColumnPermissions datasetColumnPermissions) throws Exception { @@ -52,6 +57,8 @@ public class ColumnPermissionsController { return columnPermissionService.save(datasetColumnPermissions); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("查询") @PostMapping("/list") public List searchPermissions(@RequestBody DataSetColumnPermissionsDTO request) { @@ -59,6 +66,8 @@ public class ColumnPermissionsController { return columnPermissionService.searchPermissions(request); } + //TODO + @RequiresPermissions("datasource:read") @ApiOperation("删除") @PostMapping("/delete/{id}") public void delete(@PathVariable String id) { @@ -66,6 +75,8 @@ public class ColumnPermissionsController { columnPermissionService.delete(id); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("分页查询") @PostMapping("/pageList/{datasetId}/{goPage}/{pageSize}") public Pager> rowPermissions(@PathVariable String datasetId, @PathVariable int goPage, @PathVariable int pageSize, @RequestBody XpackGridRequest request) { @@ -81,6 +92,8 @@ public class ColumnPermissionsController { return PageUtils.setPageInfo(page, columnPermissionService.queryPermissions(request)); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("有权限的对象") @PostMapping("/authObjs") public List authObjs(@RequestBody DataSetColumnPermissionsDTO request) { @@ -88,6 +101,8 @@ public class ColumnPermissionsController { return (List) columnPermissionService.authObjs(request); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("详情") @PostMapping("/permissionInfo") public DataSetColumnPermissionsDTO permissionInfo(@RequestBody DataSetColumnPermissionsDTO request) { diff --git a/backend/src/main/java/io/dataease/plugins/server/RowPermissionsController.java b/backend/src/main/java/io/dataease/plugins/server/RowPermissionsController.java index e685a45eaa..98cbd28999 100644 --- a/backend/src/main/java/io/dataease/plugins/server/RowPermissionsController.java +++ b/backend/src/main/java/io/dataease/plugins/server/RowPermissionsController.java @@ -2,6 +2,9 @@ package io.dataease.plugins.server; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; +import io.dataease.auth.annotation.DePermission; +import io.dataease.commons.constants.DePermissionType; +import io.dataease.commons.constants.ResourceAuthLevel; import io.dataease.commons.utils.PageUtils; import io.dataease.commons.utils.Pager; import io.dataease.i18n.Translator; @@ -13,6 +16,7 @@ import io.dataease.plugins.xpack.auth.dto.request.DatasetRowPermissions; import io.dataease.plugins.xpack.auth.service.RowPermissionService; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; @@ -24,6 +28,8 @@ import java.util.List; @RequestMapping("plugin/dataset/rowPermissions") public class RowPermissionsController { + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("save") public void save(@RequestBody DatasetRowPermissions datasetRowPermissions) throws Exception { @@ -49,6 +55,8 @@ public class RowPermissionsController { rowPermissionService.save(datasetRowPermissions); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("查询") @PostMapping("/list") public List rowPermissions(@RequestBody DataSetRowPermissionsDTO request) { @@ -56,6 +64,8 @@ public class RowPermissionsController { return rowPermissionService.searchRowPermissions(request); } + //TODO + @RequiresPermissions("datasource:read") @ApiOperation("删除") @PostMapping("/delete/{id}") public void dataSetRowPermissionInfo(@PathVariable String id) { @@ -63,6 +73,8 @@ public class RowPermissionsController { rowPermissionService.delete(id); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("分页查询") @PostMapping("/pageList/{datasetId}/{goPage}/{pageSize}") public Pager> rowPermissions(@PathVariable String datasetId, @PathVariable int goPage, @PathVariable int pageSize, @RequestBody XpackGridRequest request) { @@ -78,6 +90,8 @@ public class RowPermissionsController { return PageUtils.setPageInfo(page, rowPermissionService.queryRowPermissions(request)); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("有权限的对象") @PostMapping("/authObjs") public List authObjs(@RequestBody DataSetRowPermissionsDTO request) { @@ -85,6 +99,8 @@ public class RowPermissionsController { return (List) rowPermissionService.authObjs(request); } + @RequiresPermissions("datasource:read") + @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("详情") @PostMapping("/dataSetRowPermissionInfo") public DataSetRowPermissionsDTO dataSetRowPermissionInfo(@RequestBody DataSetRowPermissionsDTO request) { diff --git a/backend/src/main/resources/db/migration/V32__1.8.sql b/backend/src/main/resources/db/migration/V32__1.8.sql index 3ffa33fe71..a47a45a818 100644 --- a/backend/src/main/resources/db/migration/V32__1.8.sql +++ b/backend/src/main/resources/db/migration/V32__1.8.sql @@ -404,3 +404,6 @@ CREATE TABLE `dataease_code_version` ( BEGIN; INSERT INTO `dataease_code_version` VALUES (0, 'init', NULL, 1); COMMIT; + +DELETE FALSE `sys_menu` WHERE pid=34; +UPDATE `sys_menu` SET `sub_count` = '0' WHERE (`menu_id` = '34'); \ No newline at end of file diff --git a/frontend/src/views/login/index.vue b/frontend/src/views/login/index.vue index f4fe8aa162..e8ff368bd3 100644 --- a/frontend/src/views/login/index.vue +++ b/frontend/src/views/login/index.vue @@ -202,7 +202,6 @@ export default { loginType: this.loginForm.loginType } const publicKey = localStorage.getItem('publicKey') - console.log(publicKey) this.$store.dispatch('user/login', user).then(() => { this.$router.push({ path: this.redirect || '/' }) this.loading = false diff --git a/frontend/src/views/system/datasource/DsTree.vue b/frontend/src/views/system/datasource/DsTree.vue index c4685a9c8a..e5ca81de49 100644 --- a/frontend/src/views/system/datasource/DsTree.vue +++ b/frontend/src/views/system/datasource/DsTree.vue @@ -5,7 +5,7 @@ {{ $t('commons.datasource') }} - @@ -76,7 +76,6 @@ Date: Sat, 26 Feb 2022 17:10:02 +0800 Subject: [PATCH 06/21] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E3=80=81=E6=95=B0=E6=8D=AE=E9=9B=86=20api=20=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/main/resources/db/migration/V32__1.8.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/resources/db/migration/V32__1.8.sql b/backend/src/main/resources/db/migration/V32__1.8.sql index d99ba6b33f..9e223defdd 100644 --- a/backend/src/main/resources/db/migration/V32__1.8.sql +++ b/backend/src/main/resources/db/migration/V32__1.8.sql @@ -405,5 +405,5 @@ BEGIN; INSERT INTO `dataease_code_version` VALUES (0, 'init', NULL, 1); COMMIT; -DELETE FALSE `sys_menu` WHERE pid=34; +DELETE FROM `sys_menu` WHERE pid=34; UPDATE `sys_menu` SET `sub_count` = '0' WHERE (`menu_id` = '34'); \ No newline at end of file From 37f24b7bfc472c4f07a6c818a27f6541b01dfc42 Mon Sep 17 00:00:00 2001 From: junjun Date: Sun, 27 Feb 2022 14:49:59 +0800 Subject: [PATCH 07/21] =?UTF-8?q?refactor:=20=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/chart/ChartController.java | 26 ----------------- .../chart/ChartGroupController.java | 4 +++ .../dataset/DataSetGroupController.java | 5 ++-- .../dataset/DataSetTableController.java | 28 +++++++++++++++---- .../dataset/DataSetTableFieldController.java | 11 ++++++-- frontend/src/views/dataset/data/FieldEdit.vue | 2 +- 6 files changed, 38 insertions(+), 38 deletions(-) delete mode 100644 backend/src/main/java/io/dataease/controller/chart/ChartController.java diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartController.java b/backend/src/main/java/io/dataease/controller/chart/ChartController.java deleted file mode 100644 index 8e8c3608b9..0000000000 --- a/backend/src/main/java/io/dataease/controller/chart/ChartController.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.dataease.controller.chart; - -import com.alibaba.fastjson.JSON; -import com.github.xiaoymin.knife4j.annotations.ApiSupport; -import io.dataease.controller.request.dataset.DataSetTableRequest; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.*; - -import java.util.ArrayList; -import java.util.List; - -@Api(tags = "视图:视图管理") -@ApiSupport(order = 110) -@RestController -@RequestMapping("chart/table") -public class ChartController { - - - @ApiOperation("查询") - @PostMapping("list") - public List list(@RequestBody DataSetTableRequest dataSetTableRequest) { - return new ArrayList<>(); - } - -} diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartGroupController.java b/backend/src/main/java/io/dataease/controller/chart/ChartGroupController.java index 783a48c74a..6c7a1c234b 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartGroupController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartGroupController.java @@ -21,24 +21,28 @@ public class ChartGroupController { @Resource private ChartGroupService chartGroupService; + @ApiIgnore @ApiOperation("保存") @PostMapping("/save") public ChartGroupDTO save(@RequestBody ChartGroup ChartGroup) { return chartGroupService.save(ChartGroup); } + @ApiIgnore @ApiOperation("查询树") @PostMapping("/tree") public List tree(@RequestBody ChartGroupRequest ChartGroup) { return chartGroupService.tree(ChartGroup); } + @ApiIgnore @ApiOperation("查询树节点") @PostMapping("/treeNode") public List treeNode(@RequestBody ChartGroupRequest ChartGroup) { return chartGroupService.tree(ChartGroup); } + @ApiIgnore @ApiOperation("删除") @PostMapping("/delete/{id}") public void tree(@PathVariable String id) { diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java index cd433007f2..4338ee09be 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java @@ -45,14 +45,13 @@ public class DataSetGroupController { return dataSetGroupService.save(datasetGroup); } - @RequiresPermissions("data:read") - @ApiOperation("查询树") + @ApiIgnore @PostMapping("/tree") public List tree(@RequestBody DataSetGroupRequest datasetGroup) { return dataSetGroupService.tree(datasetGroup); } - @ApiOperation("查询树节点") + @ApiIgnore @PostMapping("/treeNode") public List treeNode(@RequestBody DataSetGroupRequest datasetGroup) { return dataSetGroupService.treeNode(datasetGroup); diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java index 9639ec9aa2..e6db619cb0 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -10,9 +10,9 @@ import io.dataease.commons.constants.DePermissionType; import io.dataease.commons.constants.ResourceAuthLevel; import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.controller.response.DataSetDetail; -import io.dataease.dto.datasource.TableField; import io.dataease.dto.dataset.DataSetTableDTO; import io.dataease.dto.dataset.ExcelFileData; +import io.dataease.dto.datasource.TableField; import io.dataease.service.dataset.DataSetTableService; import io.swagger.annotations.*; import org.apache.shiro.authz.annotation.Logical; @@ -38,9 +38,9 @@ public class DataSetTableController { @RequiresPermissions("data:read") @DePermissions(value = { - @DePermission(type = DePermissionType.DATASET, value = "id"), - @DePermission(type = DePermissionType.DATASET, value = "sceneId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE), - @DePermission(type = DePermissionType.DATASOURCE, value = "dataSourceId", level = ResourceAuthLevel.DATASET_LEVEL_USE) + @DePermission(type = DePermissionType.DATASET, value = "id"), + @DePermission(type = DePermissionType.DATASET, value = "sceneId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE), + @DePermission(type = DePermissionType.DATASOURCE, value = "dataSourceId", level = ResourceAuthLevel.DATASET_LEVEL_USE) }, logical = Logical.AND) @ApiOperation("批量保存") @PostMapping("batchAdd") @@ -85,6 +85,7 @@ public class DataSetTableController { } @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE, value = "sceneId") @ApiOperation("查询") @PostMapping("list") public List list(@RequestBody DataSetTableRequest dataSetTableRequest) { @@ -92,6 +93,7 @@ public class DataSetTableController { } @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE, value = "sceneId") @ApiOperation("查询组") @PostMapping("listAndGroup") public List listAndGroup(@RequestBody DataSetTableRequest dataSetTableRequest) { @@ -107,6 +109,7 @@ public class DataSetTableController { } @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE) @ApiOperation("带权限查询") @PostMapping("getWithPermission/{id}") public DataSetTableDTO getWithPermission(@PathVariable String id) { @@ -114,48 +117,63 @@ public class DataSetTableController { } @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASOURCE, level = ResourceAuthLevel.DATASOURCE_LEVEL_USE, value = "dataSourceId") @ApiOperation("查询原始字段") @PostMapping("getFields") public List getFields(@RequestBody DatasetTable datasetTable) throws Exception { return dataSetTableService.getFields(datasetTable); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE, value = "id") @ApiOperation("查询生成字段") @PostMapping("getFieldsFromDE") public Map> getFieldsFromDE(@RequestBody DataSetTableRequest dataSetTableRequest) throws Exception { return dataSetTableService.getFieldsFromDE(dataSetTableRequest); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE, value = "id") @ApiOperation("查询预览数据") @PostMapping("getPreviewData/{page}/{pageSize}") public Map getPreviewData(@RequestBody DataSetTableRequest dataSetTableRequest, @PathVariable Integer page, @PathVariable Integer pageSize) throws Exception { return dataSetTableService.getPreviewData(dataSetTableRequest, page, pageSize, null); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASOURCE, level = ResourceAuthLevel.DATASOURCE_LEVEL_USE, value = "dataSourceId") @ApiOperation("根据sql查询预览数据") @PostMapping("sqlPreview") public Map getSQLPreview(@RequestBody DataSetTableRequest dataSetTableRequest) throws Exception { return dataSetTableService.getSQLPreview(dataSetTableRequest); } - @ApiOperation("客户预览数据") + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASOURCE, level = ResourceAuthLevel.DATASOURCE_LEVEL_USE, value = "dataSourceId") + @ApiOperation("预览自定义数据数据") @PostMapping("customPreview") public Map customPreview(@RequestBody DataSetTableRequest dataSetTableRequest) throws Exception { return dataSetTableService.getCustomPreview(dataSetTableRequest); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE, value = "tableId") @ApiOperation("查询增量配置") @PostMapping("incrementalConfig") public DatasetTableIncrementalConfig incrementalConfig(@RequestBody DatasetTableIncrementalConfig datasetTableIncrementalConfig) throws Exception { return dataSetTableService.incrementalConfig(datasetTableIncrementalConfig); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE, value = "tableId") @ApiOperation("保存增量配置") @PostMapping("save/incrementalConfig") public void saveIncrementalConfig(@RequestBody DatasetTableIncrementalConfig datasetTableIncrementalConfig) throws Exception { dataSetTableService.saveIncrementalConfig(datasetTableIncrementalConfig); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.DATASET) @ApiOperation("数据集详息") @PostMapping("datasetDetail/{id}") public DataSetDetail datasetDetail(@PathVariable String id) { diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java index 42a1eb98e2..fe873b7711 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java @@ -4,6 +4,7 @@ import com.auth0.jwt.JWT; import com.auth0.jwt.interfaces.DecodedJWT; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.dataease.auth.annotation.DePermission; +import io.dataease.auth.annotation.DePermissions; import io.dataease.auth.filter.F2CLinkFilter; import io.dataease.base.domain.DatasetTable; import io.dataease.base.domain.DatasetTableField; @@ -21,6 +22,7 @@ import io.dataease.service.dataset.PermissionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ObjectUtils; +import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -139,10 +141,13 @@ public class DataSetTableFieldController { return dataSetTableFieldsService.save(datasetTableField); } - //TODO 校验权限 + @RequiresPermissions("data:read") + @DePermissions(value = { + @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE, paramIndex = 1) + }) @ApiOperation("删除") - @PostMapping("delete/{id}") - public void delete(@PathVariable String id) { + @PostMapping("delete/{id}/{tableId}") + public void delete(@PathVariable String id, @PathVariable String tableId) { dataSetTableFieldsService.delete(id); } diff --git a/frontend/src/views/dataset/data/FieldEdit.vue b/frontend/src/views/dataset/data/FieldEdit.vue index e74c771470..c44b889b9d 100644 --- a/frontend/src/views/dataset/data/FieldEdit.vue +++ b/frontend/src/views/dataset/data/FieldEdit.vue @@ -392,7 +392,7 @@ export default { cancelButtonText: this.$t('dataset.cancel'), type: 'warning' }).then(() => { - post('/dataset/field/delete/' + item.id, null).then(response => { + post('/dataset/field/delete/' + item.id + '/' + item.tableId, null).then(response => { this.$message({ type: 'success', message: this.$t('chart.delete_success'), From 3e03239941cc3a35f69af0fb4cff5b8a257194de Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 28 Feb 2022 11:17:26 +0800 Subject: [PATCH 08/21] =?UTF-8?q?refactor:=20=E8=A7=86=E5=9B=BE=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/chart/ChartViewController.java | 43 ++++++++++++++----- frontend/src/api/chart/chart.js | 4 +- frontend/src/api/panel/panel.js | 4 +- .../canvas/custom-component/UserView.vue | 2 +- frontend/src/views/chart/group/Group.vue | 9 ++-- frontend/src/views/chart/view/ChartEdit.vue | 11 +++-- .../dataset/common/DatasetChartDetail.vue | 7 ++- 7 files changed, 56 insertions(+), 24 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java index d55cf8be57..cb7a49229c 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -1,7 +1,10 @@ package io.dataease.controller.chart; import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.dataease.auth.annotation.DePermission; import io.dataease.base.domain.ChartViewWithBLOBs; +import io.dataease.commons.constants.DePermissionType; +import io.dataease.commons.constants.ResourceAuthLevel; import io.dataease.commons.utils.AuthUtils; import io.dataease.controller.request.chart.ChartCalRequest; import io.dataease.controller.request.chart.ChartExtRequest; @@ -11,10 +14,12 @@ import io.dataease.dto.chart.ChartViewDTO; import io.dataease.service.chart.ChartViewService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; +import javax.ws.rs.Path; import java.util.List; /** @@ -29,52 +34,65 @@ public class ChartViewController { @Resource private ChartViewService chartViewService; + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) @ApiOperation("保存") - @PostMapping("/save") - public ChartViewWithBLOBs save(@RequestBody ChartViewWithBLOBs chartViewWithBLOBs) { + @PostMapping("/save/{panelId}") + public ChartViewWithBLOBs save(@PathVariable String panelId, @RequestBody ChartViewWithBLOBs chartViewWithBLOBs) { return chartViewService.save(chartViewWithBLOBs); } + @ApiIgnore @ApiOperation("查询") @PostMapping("/list") public List list(@RequestBody ChartViewRequest chartViewRequest) { return chartViewService.list(chartViewRequest); } + @ApiIgnore @ApiOperation("查询组") @PostMapping("/listAndGroup") public List listAndGroup(@RequestBody ChartViewRequest chartViewRequest) { return chartViewService.listAndGroup(chartViewRequest); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("详细信息") - @PostMapping("/get/{id}") - public ChartViewWithBLOBs get(@PathVariable String id) { + @PostMapping("/get/{id}/{panelId}") + public ChartViewWithBLOBs get(@PathVariable String id, @PathVariable String panelId) { return chartViewService.get(id); } + @ApiIgnore @ApiOperation("删除") @PostMapping("/delete/{id}") public void delete(@PathVariable String id) { chartViewService.delete(id); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("数据") - @PostMapping("/getData/{id}") - public ChartViewDTO getData(@PathVariable String id, @RequestBody ChartExtRequest requestList) throws Exception { + @PostMapping("/getData/{id}/{panelId}") + public ChartViewDTO getData(@PathVariable String id, @PathVariable String panelId, @RequestBody ChartExtRequest requestList) throws Exception { return chartViewService.getData(id, requestList); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("视图详情") - @PostMapping("chartDetail/{id}") - public ChartDetail chartDetail(@PathVariable String id) { + @PostMapping("chartDetail/{id}/{panelId}") + public ChartDetail chartDetail(@PathVariable String id, @PathVariable String panelId) { return chartViewService.getChartDetail(id); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE, paramIndex = 1) @ApiOperation("复制") @PostMapping("chartCopy/{id}/{panelId}") public String chartCopy(@PathVariable String id, @PathVariable String panelId) { - return chartViewService.chartCopy(id,panelId); + return chartViewService.chartCopy(id, panelId); } @ApiIgnore @@ -97,12 +115,15 @@ public class ChartViewController { return chartViewService.search(chartViewRequest); } + @RequiresPermissions("data:read") + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW) @ApiOperation("计算结果") - @PostMapping("/calcData") - public ChartViewDTO calcData(@RequestBody ChartCalRequest request) throws Exception { + @PostMapping("/calcData/{panelId}") + public ChartViewDTO calcData(@PathVariable String panelId, @RequestBody ChartCalRequest request) throws Exception { return chartViewService.calcData(request.getView(), request.getRequestList(), false); } + @ApiIgnore @ApiOperation("验证视图是否使用相同数据集") @GetMapping("/checkSameDataSet/{viewIdSource}/{viewIdTarget}") public String checkSameDataSet(@PathVariable String viewIdSource, @PathVariable String viewIdTarget) throws Exception { diff --git a/frontend/src/api/chart/chart.js b/frontend/src/api/chart/chart.js index b7657defbc..98273ff039 100644 --- a/frontend/src/api/chart/chart.js +++ b/frontend/src/api/chart/chart.js @@ -60,9 +60,9 @@ export function checkSameDataSet(viewIdSource, viewIdTarget) { }) } -export function ajaxGetDataOnly(id, data) { +export function ajaxGetDataOnly(id, panelId, data) { return request({ - url: '/chart/view/getData/' + id, + url: '/chart/view/getData/' + id + '/' + panelId, method: 'post', loading: true, hideMsg: true, diff --git a/frontend/src/api/panel/panel.js b/frontend/src/api/panel/panel.js index 0a399b81af..8b9d08eed5 100644 --- a/frontend/src/api/panel/panel.js +++ b/frontend/src/api/panel/panel.js @@ -56,9 +56,9 @@ export function groupTree(data, loading = true, timeout = 60000) { }) } -export function viewData(id, data) { +export function viewData(id, panelId, data) { return request({ - url: '/chart/view/getData/' + id, + url: '/chart/view/getData/' + id + '/' + panelId, method: 'post', hideMsg: true, data diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue index a0243333f4..518dd17148 100644 --- a/frontend/src/components/canvas/custom-component/UserView.vue +++ b/frontend/src/components/canvas/custom-component/UserView.vue @@ -433,7 +433,7 @@ export default { ...this.filter, cache: cache } - method(id, requestInfo).then(response => { + method(id, this.panelInfo.id, requestInfo).then(response => { // 将视图传入echart组件 if (response.success) { this.chart = response.data diff --git a/frontend/src/views/chart/group/Group.vue b/frontend/src/views/chart/group/Group.vue index f90c4f38b1..5b89b3b00c 100644 --- a/frontend/src/views/chart/group/Group.vue +++ b/frontend/src/views/chart/group/Group.vue @@ -423,6 +423,9 @@ export default { computed: { chartType() { return this.view.type + }, + panelInfo() { + return this.$store.state.panel.panelInfo } }, watch: { @@ -545,7 +548,7 @@ export default { if (valid) { view.title = view.name view.sceneId = view.pid - post('/chart/view/save', view).then(response => { + post('/chart/view/save/' + this.panelInfo.id, view).then(response => { this.closeTable() this.$message({ message: this.$t('dataset.save_success'), @@ -772,7 +775,7 @@ export default { view.extBubble = JSON.stringify([]) this.setChartDefaultOptions(view) const _this = this - post('/chart/view/save', view).then(response => { + post('/chart/view/save/' + this.panelInfo.id, view).then(response => { this.closeCreateChart() this.$store.dispatch('chart/setTableId', null) this.$store.dispatch('chart/setTableId', this.table.id) @@ -905,7 +908,7 @@ export default { saveMoveDs() { const newSceneId = this.tDs.id this.dsForm.sceneId = newSceneId - post('/chart/view/save', this.dsForm).then(res => { + post('/chart/view/save/' + this.panelInfo.id, this.dsForm).then(res => { this.closeMoveDs() this.expandedArray.push(newSceneId) this.treeNode() diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 6a28dce9ff..dae87841f3 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -1191,6 +1191,9 @@ export default { computed: { chartType() { return this.chart.type + }, + panelInfo() { + return this.$store.state.panel.panelInfo } }, watch: { @@ -1446,7 +1449,7 @@ export default { this.hasEdit = true const view = this.buildParam(getData, trigger, needRefreshGroup, switchType) if (!view) return - post('/chart/view/calcData', { + post('/chart/view/calcData/' + this.panelInfo.id, { view: view, requestList: { filter: [], @@ -1509,7 +1512,7 @@ export default { } const view = this.buildParam(true, 'chart', false, false) if (!view) return - post('/chart/view/save', view).then(response => { + post('/chart/view/save/' + this.panelInfo.id, view).then(response => { this.getChart(response.data.id) this.hasEdit = false this.refreshGroup(view) @@ -1524,7 +1527,7 @@ export default { getData(id) { this.hasEdit = false if (id) { - ajaxGetDataOnly(id, { + ajaxGetDataOnly(id, this.panelInfo.id, { filter: [], drill: this.drillClickDimensionList }).then(response => { @@ -1571,7 +1574,7 @@ export default { }, getChart(id) { if (id) { - post('/chart/view/get/' + id, {}).then(response => { + post('/chart/view/get/' + id + '/' + this.panelInfo.id, {}).then(response => { this.initTableData(response.data.tableId) this.view = JSON.parse(JSON.stringify(response.data)) this.view.xaxis = this.view.xaxis ? JSON.parse(this.view.xaxis) : [] diff --git a/frontend/src/views/dataset/common/DatasetChartDetail.vue b/frontend/src/views/dataset/common/DatasetChartDetail.vue index 76353aca75..c890cddc2d 100644 --- a/frontend/src/views/dataset/common/DatasetChartDetail.vue +++ b/frontend/src/views/dataset/common/DatasetChartDetail.vue @@ -122,6 +122,11 @@ export default { info: {} } }, + computed: { + panelInfo() { + return this.$store.state.panel.panelInfo + } + }, watch: { 'data': function() { this.init() @@ -145,7 +150,7 @@ export default { this.info = JSON.parse(res.data.table.info) }) } else if (this.type === 'chart') { - post('/chart/view/chartDetail/' + this.data.id, null).then(res => { + post('/chart/view/chartDetail/' + this.data.id + '/' + this.panelInfo.id, null).then(res => { this.detail = res.data this.info = JSON.parse(res.data.table.info) }) From f8f3b312eeca3723dbcb090d13eca7958427fd7f Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 28 Feb 2022 11:22:30 +0800 Subject: [PATCH 09/21] =?UTF-8?q?refactor:=20=E5=88=A0=E9=99=A4=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/controller/chart/ChartViewController.java | 8 -------- frontend/src/api/chart/chart.js | 10 ---------- 2 files changed, 18 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java index cb7a49229c..826892de72 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -101,14 +101,6 @@ public class ChartViewController { return chartViewService.searchAdviceSceneId(panelId); } - @ApiOperation("根据权限查详情") - @PostMapping("/getOneWithPermission/{id}") - public ChartViewDTO getOneWithPermission(@PathVariable String id, @RequestBody ChartExtRequest requestList) throws Exception { - //如果能获取用户 则添加对应的权限 - ChartViewDTO dto = chartViewService.getData(id, requestList); - return dto; - } - @ApiOperation("搜索") @PostMapping("search") public List search(@RequestBody ChartViewRequest chartViewRequest) { diff --git a/frontend/src/api/chart/chart.js b/frontend/src/api/chart/chart.js index 98273ff039..396284c29e 100644 --- a/frontend/src/api/chart/chart.js +++ b/frontend/src/api/chart/chart.js @@ -9,16 +9,6 @@ export function post(url, data) { }) } -export function ajaxGetData(id, data) { - return request({ - url: '/chart/view/getOneWithPermission/' + id, - method: 'post', - loading: true, - hideMsg: true, - data - }) -} - export function getChartTree(data) { return request({ url: 'api', From 31bae2dbc260c01ca0a46de60124d08ba294e02b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 28 Feb 2022 10:43:20 +0800 Subject: [PATCH 10/21] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E9=9B=86=20api?= =?UTF-8?q?=20=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/config/Knife4jConfiguration.java | 2 +- .../plugins/server/ColumnPermissionsController.java | 12 ++++++------ .../plugins/server/RowPermissionsController.java | 12 ++++++------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java b/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java index be2860cc1d..eff1bb147e 100644 --- a/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java +++ b/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java @@ -74,7 +74,7 @@ public class Knife4jConfiguration implements BeanPostProcessor{ .title("DataEase") .description("人人可用的开源数据可视化分析工具") .termsOfServiceUrl("https://dataease.io") - .contact(new Contact("fit2cloud","https://www.fit2cloud.com/dataease/index.html","dataease@fit2cloud.com")) + .contact(new Contact("Dataease","https://www.fit2cloud.com/dataease/index.html","dataease@fit2cloud.com")) .version(version) .build(); } diff --git a/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java b/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java index c2108ad5a1..f77c74049d 100644 --- a/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java +++ b/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java @@ -31,7 +31,7 @@ import java.util.List; @RequestMapping("plugin/dataset/columnPermissions") public class ColumnPermissionsController { - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("save") @@ -57,7 +57,7 @@ public class ColumnPermissionsController { return columnPermissionService.save(datasetColumnPermissions); } - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("查询") @PostMapping("/list") @@ -67,7 +67,7 @@ public class ColumnPermissionsController { } //TODO - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @ApiOperation("删除") @PostMapping("/delete/{id}") public void delete(@PathVariable String id) { @@ -75,7 +75,7 @@ public class ColumnPermissionsController { columnPermissionService.delete(id); } - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("分页查询") @PostMapping("/pageList/{datasetId}/{goPage}/{pageSize}") @@ -92,7 +92,7 @@ public class ColumnPermissionsController { return PageUtils.setPageInfo(page, columnPermissionService.queryPermissions(request)); } - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("有权限的对象") @PostMapping("/authObjs") @@ -101,7 +101,7 @@ public class ColumnPermissionsController { return (List) columnPermissionService.authObjs(request); } - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("详情") @PostMapping("/permissionInfo") diff --git a/backend/src/main/java/io/dataease/plugins/server/RowPermissionsController.java b/backend/src/main/java/io/dataease/plugins/server/RowPermissionsController.java index 98cbd28999..1bf7543080 100644 --- a/backend/src/main/java/io/dataease/plugins/server/RowPermissionsController.java +++ b/backend/src/main/java/io/dataease/plugins/server/RowPermissionsController.java @@ -28,7 +28,7 @@ import java.util.List; @RequestMapping("plugin/dataset/rowPermissions") public class RowPermissionsController { - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("save") @@ -55,7 +55,7 @@ public class RowPermissionsController { rowPermissionService.save(datasetRowPermissions); } - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("查询") @PostMapping("/list") @@ -65,7 +65,7 @@ public class RowPermissionsController { } //TODO - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @ApiOperation("删除") @PostMapping("/delete/{id}") public void dataSetRowPermissionInfo(@PathVariable String id) { @@ -73,7 +73,7 @@ public class RowPermissionsController { rowPermissionService.delete(id); } - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("分页查询") @PostMapping("/pageList/{datasetId}/{goPage}/{pageSize}") @@ -90,7 +90,7 @@ public class RowPermissionsController { return PageUtils.setPageInfo(page, rowPermissionService.queryRowPermissions(request)); } - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("有权限的对象") @PostMapping("/authObjs") @@ -99,7 +99,7 @@ public class RowPermissionsController { return (List) rowPermissionService.authObjs(request); } - @RequiresPermissions("datasource:read") + @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "datasetId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("详情") @PostMapping("/dataSetRowPermissionInfo") From 0c73e092145da0962a24815d8d3788f6746a91bd Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 28 Feb 2022 11:55:56 +0800 Subject: [PATCH 11/21] =?UTF-8?q?refactor:=20=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/chart/ChartViewController.java | 7 +------ .../controller/dataset/DataSetTableController.java | 11 ----------- .../dataset/DataSetTableFieldController.java | 7 ------- .../controller/dataset/DatasetFunctionController.java | 1 - .../controller/datasource/DatasourceController.java | 1 - 5 files changed, 1 insertion(+), 26 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java index 826892de72..b67734f304 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -34,7 +34,6 @@ public class ChartViewController { @Resource private ChartViewService chartViewService; - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("/save/{panelId}") @@ -56,7 +55,6 @@ public class ChartViewController { return chartViewService.listAndGroup(chartViewRequest); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("详细信息") @PostMapping("/get/{id}/{panelId}") @@ -71,7 +69,6 @@ public class ChartViewController { chartViewService.delete(id); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("数据") @PostMapping("/getData/{id}/{panelId}") @@ -79,7 +76,6 @@ public class ChartViewController { return chartViewService.getData(id, requestList); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("视图详情") @PostMapping("chartDetail/{id}/{panelId}") @@ -87,7 +83,6 @@ public class ChartViewController { return chartViewService.getChartDetail(id); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE, paramIndex = 1) @ApiOperation("复制") @PostMapping("chartCopy/{id}/{panelId}") @@ -101,13 +96,13 @@ public class ChartViewController { return chartViewService.searchAdviceSceneId(panelId); } + @ApiIgnore @ApiOperation("搜索") @PostMapping("search") public List search(@RequestBody ChartViewRequest chartViewRequest) { return chartViewService.search(chartViewRequest); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW) @ApiOperation("计算结果") @PostMapping("/calcData/{panelId}") diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java index e6db619cb0..e6a204d9c0 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -84,7 +84,6 @@ public class DataSetTableController { dataSetTableService.delete(id); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE, value = "sceneId") @ApiOperation("查询") @PostMapping("list") @@ -92,7 +91,6 @@ public class DataSetTableController { return dataSetTableService.list(dataSetTableRequest); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE, value = "sceneId") @ApiOperation("查询组") @PostMapping("listAndGroup") @@ -100,7 +98,6 @@ public class DataSetTableController { return dataSetTableService.listAndGroup(dataSetTableRequest); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE) @ApiOperation("详息") @PostMapping("get/{id}") @@ -108,7 +105,6 @@ public class DataSetTableController { return dataSetTableService.get(id); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE) @ApiOperation("带权限查询") @PostMapping("getWithPermission/{id}") @@ -116,7 +112,6 @@ public class DataSetTableController { return dataSetTableService.getWithPermission(id, null); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASOURCE, level = ResourceAuthLevel.DATASOURCE_LEVEL_USE, value = "dataSourceId") @ApiOperation("查询原始字段") @PostMapping("getFields") @@ -124,7 +119,6 @@ public class DataSetTableController { return dataSetTableService.getFields(datasetTable); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE, value = "id") @ApiOperation("查询生成字段") @PostMapping("getFieldsFromDE") @@ -132,7 +126,6 @@ public class DataSetTableController { return dataSetTableService.getFieldsFromDE(dataSetTableRequest); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_USE, value = "id") @ApiOperation("查询预览数据") @PostMapping("getPreviewData/{page}/{pageSize}") @@ -140,7 +133,6 @@ public class DataSetTableController { return dataSetTableService.getPreviewData(dataSetTableRequest, page, pageSize, null); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASOURCE, level = ResourceAuthLevel.DATASOURCE_LEVEL_USE, value = "dataSourceId") @ApiOperation("根据sql查询预览数据") @PostMapping("sqlPreview") @@ -148,7 +140,6 @@ public class DataSetTableController { return dataSetTableService.getSQLPreview(dataSetTableRequest); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASOURCE, level = ResourceAuthLevel.DATASOURCE_LEVEL_USE, value = "dataSourceId") @ApiOperation("预览自定义数据数据") @PostMapping("customPreview") @@ -172,7 +163,6 @@ public class DataSetTableController { dataSetTableService.saveIncrementalConfig(datasetTableIncrementalConfig); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET) @ApiOperation("数据集详息") @PostMapping("datasetDetail/{id}") @@ -206,7 +196,6 @@ public class DataSetTableController { return dataSetTableService.search(dataSetTableRequest); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("数据集同步表结构") @PostMapping("syncField/{id}") diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java index fe873b7711..d1e54d699e 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java @@ -58,7 +58,6 @@ public class DataSetTableFieldController { @Resource private PermissionService permissionService; - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET) @ApiOperation("查询表下属字段") @PostMapping("list/{tableId}") @@ -70,7 +69,6 @@ public class DataSetTableFieldController { return fields; } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET) @ApiOperation("查询表下属字段") @PostMapping("listWithPermission/{tableId}") @@ -85,7 +83,6 @@ public class DataSetTableFieldController { } //管理权限,可以列出所有字段 - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET) @ApiOperation("查询表下属字段") @PostMapping("listForPermissionSeting/{tableId}") @@ -97,7 +94,6 @@ public class DataSetTableFieldController { } //管理权限,可以列出所有字段 - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET) @ApiOperation("分组查询表下属字段") @PostMapping("listByDQ/{tableId}") @@ -115,7 +111,6 @@ public class DataSetTableFieldController { return datasetTableField4Type; } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("批量更新") @PostMapping("batchEdit") @@ -123,7 +118,6 @@ public class DataSetTableFieldController { dataSetTableFieldsService.batchEdit(list); } - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("save") @@ -141,7 +135,6 @@ public class DataSetTableFieldController { return dataSetTableFieldsService.save(datasetTableField); } - @RequiresPermissions("data:read") @DePermissions(value = { @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE, paramIndex = 1) }) diff --git a/backend/src/main/java/io/dataease/controller/dataset/DatasetFunctionController.java b/backend/src/main/java/io/dataease/controller/dataset/DatasetFunctionController.java index 66c1ba8d72..9e485c557c 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DatasetFunctionController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DatasetFunctionController.java @@ -29,7 +29,6 @@ public class DatasetFunctionController { @Resource private DatasetFunctionService datasetFunctionService; - @RequiresPermissions("data:read") @DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("查询") @PostMapping("listByTableId/{tableId}") diff --git a/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java index d03a15f2db..e305620164 100644 --- a/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java +++ b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java @@ -86,7 +86,6 @@ public class DatasourceController { datasourceService.updateDatasource(Datasource); } - @RequiresPermissions("datasource:read") @DePermission(type = DePermissionType.DATASOURCE, value = "id") @ApiOperation("查询数据源下属所有表") @PostMapping("/getTables") From a240848209823a10f6d7105327636362a7c14d25 Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 28 Feb 2022 12:16:15 +0800 Subject: [PATCH 12/21] =?UTF-8?q?refactor:=20=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/controller/datasource/DatasourceController.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java index e305620164..967e15a70f 100644 --- a/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java +++ b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java @@ -54,7 +54,6 @@ public class DatasourceController { return datasourceService.validate(datasourceId); } - @RequiresPermissions("datasource:read") @ApiOperation("查询当前用户数据源") @GetMapping("/list") public List getDatasourceList() throws Exception { @@ -63,7 +62,6 @@ public class DatasourceController { return datasourceService.getDatasourceList(request); } - @RequiresPermissions("datasource:read") @ApiOperation("查询当前用户数据源") @GetMapping("/list/{type}") public List getDatasourceListByType(@PathVariable String type) throws Exception { From 64c7b2a161cac881b6795e9ab098f65b6cc39bf8 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 28 Feb 2022 13:27:22 +0800 Subject: [PATCH 13/21] =?UTF-8?q?fix:=20=E5=85=AC=E5=85=B1=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E8=B7=B3=E8=BD=AC=E6=97=A0=E6=B3=95=E6=89=93=E5=BC=80?= =?UTF-8?q?=E7=9B=AE=E6=A0=87=E4=BB=AA=E8=A1=A8=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml index c7a496ea3a..096802cce0 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml @@ -36,7 +36,7 @@ panel_link_jump_info.jump_type, panel_link_jump_info.target_panel_id, panel_link_jump_info.content, - panel_link_mapping.id as publicJumpId, + ifnull( panel_link_mapping.uuid, panel_link_mapping.id ) AS publicJumpId, ifnull( panel_link_jump_info.checked, 0 ) AS checked, panel_link_jump_target_view_info.target_view_id, panel_link_jump_target_view_info.target_field_id From eb9574975759bd85ff5de62b77ef283039663037 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 28 Feb 2022 14:55:23 +0800 Subject: [PATCH 14/21] fix: Elasticsearch sql, field_multi_value_leniency -> true; the API returns the first value from the array with no guarantee of consistent results. --- .../io/dataease/controller/request/datasource/es/Requst.java | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java b/backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java index f63cdc53b8..f69c4290cc 100644 --- a/backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java +++ b/backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java @@ -6,4 +6,5 @@ import lombok.Data; public class Requst { private String query; private Integer fetch_size = 10000; + private boolean field_multi_value_leniency = true; } From 0f22f367ac994ba64e5c6fd6f939c7ec9f225fee Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 28 Feb 2022 16:55:35 +0800 Subject: [PATCH 15/21] =?UTF-8?q?fix:=20=E4=BD=BF=E7=94=A8=E6=9C=AA?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=95=B0=E6=8D=AE=E9=9B=86=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E6=9D=83=E9=99=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/view/TableSelector.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/views/chart/view/TableSelector.vue b/frontend/src/views/chart/view/TableSelector.vue index ebfdc2a107..92548c41f8 100644 --- a/frontend/src/views/chart/view/TableSelector.vue +++ b/frontend/src/views/chart/view/TableSelector.vue @@ -1,7 +1,7 @@