From dab153631d67b3feac2e7dff285d52d8baf4d020 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 4 Jun 2024 15:41:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/ExportCenterManage.java | 19 ++++++++++++++++ core/core-frontend/src/locales/zh-CN.ts | 1 + .../system/parameter/basic/BasicEdit.vue | 22 +++++++++++++++++++ .../datasource/form/ApiHttpRequestDraw.vue | 2 +- .../variable/dto/SysVariableDto.java | 2 ++ 5 files changed, 45 insertions(+), 1 deletion(-) diff --git a/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java b/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java index 3a9aa8ebff..daa2fa27af 100644 --- a/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java +++ b/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java @@ -12,10 +12,12 @@ import io.dataease.engine.constant.DeTypeConstants; import io.dataease.exception.DEException; import io.dataease.exportCenter.dao.auto.entity.CoreExportTask; import io.dataease.exportCenter.dao.auto.mapper.CoreExportTaskMapper; +import io.dataease.system.manage.SysParameterManage; import io.dataease.utils.*; import io.dataease.visualization.server.DataVisualizationServer; import io.dataease.websocket.WsMessage; import io.dataease.websocket.WsService; +import io.dataease.xpack.base.log.dao.auto.entity.XpackLog; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; @@ -50,6 +52,8 @@ public class ExportCenterManage { private CoreChartViewMapper coreChartViewMapper; @Autowired private WsService wsService; + @Resource + private SysParameterManage sysParameterManage; @Value("${export.dataset.limit:100000}") private int limit; @@ -417,6 +421,21 @@ public class ExportCenterManage { private static final String LOG_RETENTION = "30"; + public void cleanLog() { + String key = "basic.exportFileLiveTime"; + String val = sysParameterManage.singleVal(key); + if (StringUtils.isBlank(val)) { + DEException.throwException("未获取到文件保留时间"); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + long expTime = Long.parseLong(val) * 24L * 3600L * 1000L; + long threshold = System.currentTimeMillis() - expTime; + queryWrapper.lt("export_time", threshold); + exportTaskMapper.selectList(queryWrapper).forEach(coreExportTask -> { + delete(coreExportTask.getId()); + }); + + } } diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index bc0bcaf73f..7c7d0630ba 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -2222,6 +2222,7 @@ export default { dsExecuteTime: '数据源检测频率', frontTimeOut: '请求超时时间(秒)', logLiveTime: '操作日志保留时间(天)', + exportFileLiveTime: '后台导出文件保留时间(天)', platformOid: '第三方平台用户组织', platformRid: '第三方平台用户角色', pwdStrategy: '开启密码策略', diff --git a/core/core-frontend/src/views/system/parameter/basic/BasicEdit.vue b/core/core-frontend/src/views/system/parameter/basic/BasicEdit.vue index 84685254d4..d41d46e646 100644 --- a/core/core-frontend/src/views/system/parameter/basic/BasicEdit.vue +++ b/core/core-frontend/src/views/system/parameter/basic/BasicEdit.vue @@ -125,6 +125,15 @@ const edit = (list, orgOptions, roleOptions) => { } ] } + if (pkey === 'basic.exportFileLiveTime') { + rule[pkey.split('.')[1]] = [ + { + required: true, + message: t('common.require'), + trigger: ['blur', 'change'] + } + ] + } item['label'] = `setting_${pkey}` item['pkey'] = pkey.split('.')[1] let pval = item.pval @@ -301,6 +310,19 @@ defineExpose({ /> +
+ +
diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/ApiHttpRequestDraw.vue b/core/core-frontend/src/views/visualized/data/datasource/form/ApiHttpRequestDraw.vue index ab4e66effd..de0a804dc9 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/form/ApiHttpRequestDraw.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/form/ApiHttpRequestDraw.vue @@ -458,7 +458,7 @@ defineExpose({ - +
diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/variable/dto/SysVariableDto.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/variable/dto/SysVariableDto.java index 6aea6da2f7..506e077dde 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/variable/dto/SysVariableDto.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/variable/dto/SysVariableDto.java @@ -10,7 +10,9 @@ public class SysVariableDto { private Long id; private String type; private String name; + @JsonSerialize(using = ToStringSerializer.class) private Long min; + @JsonSerialize(using = ToStringSerializer.class) private Long max; private String startTime; private String endTime;