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 03e2496191..7edb03030e 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java @@ -2,7 +2,6 @@ package io.dataease.controller.dataset; import io.dataease.base.domain.DatasetTableTask; import io.dataease.controller.request.dataset.DataSetTaskRequest; -import io.dataease.service.dataset.DataSetTableService; import io.dataease.service.dataset.DataSetTableTaskService; import org.springframework.web.bind.annotation.*; @@ -18,13 +17,10 @@ import java.util.List; public class DataSetTableTaskController { @Resource private DataSetTableTaskService dataSetTableTaskService; - @Resource - private DataSetTableService dataSetTableService; @PostMapping("save") public DatasetTableTask save(@RequestBody DataSetTaskRequest dataSetTaskRequest) throws Exception { - dataSetTableService.saveIncrementalConfig(dataSetTaskRequest.getDatasetTableIncrementalConfig()); - return dataSetTableTaskService.save(dataSetTaskRequest.getDatasetTableTask()); + return dataSetTableTaskService.save(dataSetTaskRequest); } @PostMapping("delete/{id}") diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java index c6b646cd58..d65d6fd833 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java @@ -3,10 +3,13 @@ package io.dataease.service.dataset; import io.dataease.base.domain.DatasetTableTask; import io.dataease.base.domain.DatasetTableTaskExample; import io.dataease.base.mapper.DatasetTableTaskMapper; +import io.dataease.controller.request.dataset.DataSetTaskRequest; import io.dataease.i18n.Translator; import io.dataease.service.ScheduleService; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.quartz.CronExpression; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -27,14 +30,25 @@ public class DataSetTableTaskService { private DataSetTableTaskLogService dataSetTableTaskLogService; @Resource private ScheduleService scheduleService; + @Resource + @Lazy + private DataSetTableService dataSetTableService; - public DatasetTableTask save(DatasetTableTask datasetTableTask) throws Exception { + public DatasetTableTask save(DataSetTaskRequest dataSetTaskRequest) throws Exception { + dataSetTableService.saveIncrementalConfig(dataSetTaskRequest.getDatasetTableIncrementalConfig()); + DatasetTableTask datasetTableTask = dataSetTaskRequest.getDatasetTableTask(); // check if (StringUtils.isNotEmpty(datasetTableTask.getCron())) { if (!CronExpression.isValidExpression(datasetTableTask.getCron())) { throw new RuntimeException(Translator.get("i18n_cron_expression_error")); } } + // check start time and end time + if (ObjectUtils.isNotEmpty(datasetTableTask.getStartTime()) + && ObjectUtils.isNotEmpty(datasetTableTask.getEndTime()) + && datasetTableTask.getStartTime() > datasetTableTask.getEndTime()) { + throw new RuntimeException(Translator.get("i18n_cron_time_error")); + } if (StringUtils.isEmpty(datasetTableTask.getId())) { datasetTableTask.setId(UUID.randomUUID().toString()); datasetTableTask.setCreateTime(System.currentTimeMillis()); diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index 96319fa670..a6a890db51 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -184,7 +184,6 @@ automation_exec_info=There are no test steps to execute authsource_name_already_exists=Authentication source name already exists authsource_name_is_null=Authentication source name cannot be empty authsource_configuration_is_null=Authentication source configuration cannot be empty - 个人信息=Personal Information 仪表盘=Panel 修改密码=Change Password @@ -239,3 +238,4 @@ i18n_panel_list=Panel i18n_processing_data=Processing data now, Refresh later i18n_union_already_exists=Union relation already exists i18n_union_field_exists=The same field can't in two dataset +i18n_cron_time_error=Start time can't greater then end time diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index 219707047c..501627314e 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -240,3 +240,4 @@ i18n_panel_list=仪表盘 i18n_processing_data=正在处理数据,稍后刷新 i18n_union_already_exists=关联关系已存在 i18n_union_field_exists=两个数据集之间关联不能出现多次相同字段 +i18n_cron_time_error=开始时间不能大于结束时间 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index 32c6eee747..3d035b3bbe 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -240,3 +240,4 @@ i18n_panel_list=仪表盘 i18n_processing_data=正在處理數據,稍後刷新 i18n_union_already_exists=關聯關系已存在 i18n_union_field_exists=兩個數據集之間關聯不能出現多次相同字段 +i18n_cron_time_error=開始時間不能大於結束時間 \ No newline at end of file diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 5ce5dfb5ba..5e8218c9f4 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -277,7 +277,9 @@ export default { select_module: 'Select Module', default_module: 'Default Module' }, - datasource: 'Datasource' + datasource: 'Datasource', + char_can_not_more_50: 'Name can not more 50 char', + share_success: 'Share Success' }, documentation: { documentation: 'Documentation', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 8ce56d835c..f4217c1f0c 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -276,7 +276,9 @@ export default { select_module: '選擇模块', default_module: '默认模块' }, - datasource: '數據源' + datasource: '數據源', + char_can_not_more_50: '名稱不能超過50字符', + share_success: '分享成功' }, documentation: { documentation: '文檔', @@ -702,7 +704,7 @@ export default { custom_data: '自助數據集', pls_slc_tbl_left: '請從左側選擇表', add_db_table: '添加數據庫表', - pls_slc_data_source: '選擇數據源鏈接', + pls_slc_data_source: '請選擇數據源', table: '表', edit: '編輯', create_view: '創建視圖', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 2039a2751e..bcba03acf6 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -277,8 +277,9 @@ export default { select_module: '选择模块', default_module: '默认模块' }, - datasource: '数据连接', - char_can_not_more_50: '名称不能超过50字符' + datasource: '数据源', + char_can_not_more_50: '名称不能超过50字符', + share_success: '分享成功' }, documentation: { documentation: '文档', @@ -530,7 +531,7 @@ export default { custom_data: '自助数据集', pls_slc_tbl_left: '请从左侧选视图', add_db_table: '添加数据库表', - pls_slc_data_source: '请选择数据库连接', + pls_slc_data_source: '请选择数据源', table: '表', edit: '编辑', create_view: '创建试图', @@ -704,7 +705,7 @@ export default { custom_data: '自助数据集', pls_slc_tbl_left: '请从左侧选择表', add_db_table: '添加数据库表', - pls_slc_data_source: '请选择数据库连接', + pls_slc_data_source: '请选择数据源', table: '表', edit: '编辑', create_view: '创建视图', @@ -794,7 +795,7 @@ export default { }, datasource: { datasource: '数据源', - create: '新建数据连接', + create: '新建数据源', type: '类型', please_choose_type: '请选择数据源类型', data_base: '数据库名称', @@ -807,7 +808,7 @@ export default { please_input_password: '请输入密码', please_input_host: '请输入主机', please_input_port: '请输入端口', - modify: '编辑数据连接', + modify: '编辑数据源', validate_success: '校验成功', validate: '校验', search_by_name: '根据名称搜索', diff --git a/frontend/src/styles/index.scss b/frontend/src/styles/index.scss index c7cae09c04..41d843c9bc 100644 --- a/frontend/src/styles/index.scss +++ b/frontend/src/styles/index.scss @@ -205,8 +205,9 @@ div:focus { color: #37b4aa; } .ds-icon-scene{ - width: 14px; - height: 14px; + width: 13px; + height: 13px; + margin-right: 5px; color: #0a7be0; } .ds-icon-db{ diff --git a/frontend/src/views/panel/GrantAuth/dept/index.vue b/frontend/src/views/panel/GrantAuth/dept/index.vue index dc2778b9fd..7aa798bee4 100644 --- a/frontend/src/views/panel/GrantAuth/dept/index.vue +++ b/frontend/src/views/panel/GrantAuth/dept/index.vue @@ -158,11 +158,11 @@ export default { return roots }, - save() { + save(msg) { const rows = this.$refs.table.store.states.selection const request = this.buildRequest(rows) saveShare(request).then(res => { - this.$success(this.$t('commons.save_success')) + this.$success(msg) return true }).catch(err => { this.$error(err.message) diff --git a/frontend/src/views/panel/GrantAuth/index.vue b/frontend/src/views/panel/GrantAuth/index.vue index 6cb0b32129..652f15e7ec 100644 --- a/frontend/src/views/panel/GrantAuth/index.vue +++ b/frontend/src/views/panel/GrantAuth/index.vue @@ -58,7 +58,7 @@ export default { this.showSearchInput = false }, save() { - this.$refs[this.activeName].save() + this.$refs[this.activeName].save(this.$t('commons.share_success')) this.$emit('close-grant', 0) }, cancel() { diff --git a/frontend/src/views/panel/GrantAuth/role/index.vue b/frontend/src/views/panel/GrantAuth/role/index.vue index 3167339bda..5bc0429948 100644 --- a/frontend/src/views/panel/GrantAuth/role/index.vue +++ b/frontend/src/views/panel/GrantAuth/role/index.vue @@ -78,11 +78,11 @@ export default { this.setCheckNodes() }) }, - save() { + save(msg) { const rows = this.$refs.table.store.states.selection const request = this.buildRequest(rows) saveShare(request).then(res => { - this.$success(this.$t('commons.save_success')) + this.$success(msg) return true }).catch(err => { this.$error(err.message) diff --git a/frontend/src/views/panel/GrantAuth/user/index.vue b/frontend/src/views/panel/GrantAuth/user/index.vue index 7ee56ffa87..1329b36988 100644 --- a/frontend/src/views/panel/GrantAuth/user/index.vue +++ b/frontend/src/views/panel/GrantAuth/user/index.vue @@ -86,11 +86,11 @@ export default { }) }, - save() { + save(msg) { const rows = this.$refs.table.store.states.selection const request = this.buildRequest(rows) - saveShare(request).then(res => { - this.$success(this.$t('commons.save_success')) + saveShare(request).then(response => { + this.$success(msg) return true }).catch(err => { this.$error(err.message) diff --git a/frontend/src/views/panel/list/PanelList.vue b/frontend/src/views/panel/list/PanelList.vue index f628a2793c..6b61ff9d27 100644 --- a/frontend/src/views/panel/list/PanelList.vue +++ b/frontend/src/views/panel/list/PanelList.vue @@ -85,10 +85,12 @@ -   {{ $t('panel.groupAdd') }} + + {{ $t('panel.groupAdd') }} -   {{ $t('panel.panelAdd') }} + + {{ $t('panel.panelAdd') }} diff --git a/frontend/src/views/panel/list/PanelMain.vue b/frontend/src/views/panel/list/PanelMain.vue index 185287882e..46bf670826 100644 --- a/frontend/src/views/panel/list/PanelMain.vue +++ b/frontend/src/views/panel/list/PanelMain.vue @@ -1,7 +1,7 @@