From c78bf80885e27aeea81495dce8e326dcf8cb0f87 Mon Sep 17 00:00:00 2001 From: yanta Date: Wed, 17 Jul 2024 17:17:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=9A=E5=8A=A1=E4=BD=8E?= =?UTF-8?q?=E5=B3=B0=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4=EF=BC=8Cddl?= =?UTF-8?q?=E5=8F=AA=E8=83=BD=E5=A4=9F=E5=9C=A8=E5=9C=A8=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E4=BD=8E=E5=B3=B0=E6=89=A7=E8=A1=8C=E9=80=89=E9=A1=B9=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E9=9D=9Edba=E6=89=A7=E8=A1=8Csql=E9=94=81?= =?UTF-8?q?=E8=A1=A8=E5=BD=B1=E5=93=8D=E4=B8=9A=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/templates/config.html | 27 +++++++++++++++++++++++++++ sql/sql_workflow.py | 9 +++++++++ sql/utils/sql_review.py | 20 ++++++++++++++++++++ sql_api/api_workflow.py | 9 ++++++++- 4 files changed, 64 insertions(+), 1 deletion(-) diff --git a/common/templates/config.html b/common/templates/config.html index 93af8eeb1f..1e3d619c0e 100755 --- a/common/templates/config.html +++ b/common/templates/config.html @@ -161,6 +161,26 @@

功能模块配置

SQL上线

+
+ +
+ +
+
+
+ +
+ +
+
@@ -1319,6 +1339,13 @@
当前审批流程: end): + result = False + return result + def on_correct_time_period(workflow_id, run_date=None): """ diff --git a/sql_api/api_workflow.py b/sql_api/api_workflow.py index d834a5af30..b2533ff2b0 100644 --- a/sql_api/api_workflow.py +++ b/sql_api/api_workflow.py @@ -26,7 +26,7 @@ from sql.notify import notify_for_audit, notify_for_execute from sql.query_privileges import _query_apply_audit_call_back from sql.utils.resource_group import user_groups -from sql.utils.sql_review import can_cancel, can_execute, on_correct_time_period +from sql.utils.sql_review import can_cancel, can_execute, on_correct_time_period,on_query_low_peak_time_ddl from sql.utils.tasks import del_schedule from sql.utils.workflow_audit import Audit, get_auditor, AuditException from .filters import WorkflowFilter, WorkflowAuditFilter @@ -340,6 +340,13 @@ def post(self, request): "errors": "不在可执行时间范围内,如果需要修改执行时间请重新提交工单!" } ) + sys_config = SysConfig() + if not request.user.is_superuser and on_query_low_peak_time_ddl(workflow_id) is False: + start = sys_config.get("query_low_peak_start", 0) + end = sys_config.get("query_low_peak_end", 24) + raise serializers.ValidationError( + {"errMsg": "管理员设置了业务低峰期时间范围:每天%s:00至%s,你只能在业务低峰时间范围执行DDL工单操作!" % (start, end)} + ) # 获取审核信息 audit_id = Audit.detail_by_workflow_id(