Parcourir la source

Merge branch 'master' of http://gogsb.soaringnova.com/sxwl_DL/datax-admin

Zhang Li il y a 2 ans
Parent
commit
e1f5c00413

+ 2 - 1
app/crud/jm_homework.py

@@ -2,6 +2,7 @@ import time
 from typing import List
 from app import models, schemas
 from sqlalchemy.orm import Session
+from sqlalchemy import func
 from app.crud.constant import find_and_update
 from configs.globals import g
 
@@ -31,7 +32,7 @@ def get_jm_homework_info(db: Session, homework_id: int):
 
 
 def get_jm_homework_by_name(db: Session, name: str):
-    db_item = db.query(models.JmHomework).filter(models.JmHomework.name == name)\
+    db_item = db.query(models.JmHomework).filter(models.JmHomework.name == func.binary(name))\
         .filter(models.JmHomework.project_id == g.project_id)\
         .filter(models.JmHomework.status != 0).first()
     return db_item

+ 3 - 2
app/crud/job_jdbc_datasource.py

@@ -1,6 +1,7 @@
 import time
 from typing import List
 from sqlalchemy.orm import Session
+from sqlalchemy import func
 from app.core.datasource.datasource import DataSrouceFactory
 import app.schemas as schemas
 import app.models as models
@@ -80,7 +81,7 @@ def create_job_jdbc_datasource(db: Session, item: schemas.JobJdbcDatasourceCreat
         raise Exception('连接失败,不允许添加')
     create_time: int = int(time.time())
     name_item = db.query(models.JobJdbcDatasource)\
-        .filter(models.JobJdbcDatasource.datasource_name == item.datasource_name)\
+        .filter(models.JobJdbcDatasource.datasource_name == func.binary(item.datasource_name))\
         .filter(models.JobJdbcDatasource.status == 1).first()
     if name_item:
         raise Exception('数据源名称重复')
@@ -133,7 +134,7 @@ def update_job_jdbc_datasources(db: Session, ds_id: int, update_item: schemas.Jo
     if not db_item:
         raise Exception('未找到该数据源')
     name_item = db.query(models.JobJdbcDatasource)\
-        .filter(models.JobJdbcDatasource.datasource_name == update_item.datasource_name)\
+        .filter(models.JobJdbcDatasource.datasource_name == func.binary(update_item.datasource_name))\
         .filter(models.JobJdbcDatasource.status == 1)\
         .filter(models.JobJdbcDatasource.id != ds_id).first()
     if name_item:

+ 2 - 1
app/services/jm_homework.py

@@ -1,6 +1,7 @@
 import time
 from app import models, schemas
 from sqlalchemy.orm import Session
+from sqlalchemy import func
 import app.crud as crud
 from configs.globals import g
 from app.services.jm_job import jm_job_create_task, jm_job_update_task
@@ -44,7 +45,7 @@ def update_jm_homework_service(db: Session, id: int, update_item: schemas.JmHome
     if not db_item:
         raise Exception('未找到该作业')
     db_name_item = db.query(models.JmHomework)\
-        .filter(models.JmHomework.name == jm_homework_update['name'])\
+        .filter(models.JmHomework.name == func.binary(jm_homework_update['name']))\
         .filter(models.JmHomework.project_id == g.project_id)\
         .filter(models.JmHomework.status != 0)\
         .filter(models.JmHomework.id != id).first()

+ 3 - 2
app/services/job_info.py

@@ -3,6 +3,7 @@ from app import models, schemas
 from app.services.datax import datax_create_job, datax_update_job, execute_job
 from app.utils.cron_utils import joint_cron_expression
 from sqlalchemy.orm import Session
+from sqlalchemy import func
 import app.crud as crud
 from configs.globals import g
 
@@ -10,7 +11,7 @@ def create_job_info_services(db: Session, item: schemas.JobInfoCreate):
     create_time: int = int(time.time())
     item_dict = item.dict()
     name_item = db.query(models.JobInfo)\
-        .filter(models.JobInfo.job_desc == item.job_desc)\
+        .filter(models.JobInfo.job_desc == func.binary(item.job_desc))\
         .filter(models.JobInfo.project_id == g.project_id)\
         .filter(models.JobInfo.delete_status == 1).first()
     if name_item:
@@ -56,7 +57,7 @@ def update_job_info_services(db: Session, id: int, update_item: schemas.JobInfoU
     # 获取任务信息
     db_item = crud.get_job_info(db,id)
     name_item = db.query(models.JobInfo)\
-        .filter(models.JobInfo.job_desc == update_item.job_desc)\
+        .filter(models.JobInfo.job_desc == func.binary(update_item.job_desc))\
         .filter(models.JobInfo.project_id == g.project_id)\
         .filter(models.JobInfo.delete_status == 1)\
         .filter(models.JobInfo.id != id).first()

+ 2 - 2
app/utils/cron_utils.py

@@ -64,8 +64,8 @@ def check_cron_expression(cron_expression):
     cron_list = cron_expression.split(' ')
     unit_list = ['minute', 'hour', 'day', 'month', 'week']
     reg_list = [
-        "^((([0-9]|[0-5][0-9])(\\,|\\-|\\/){1}([0-9]|[0-5][0-9]))|([0-9]|[0-5][0-9])|(\\*))$",
-        "^((([0-9]|[1][0-9]|2[0-3])(\\,|\\-|\\/){1}([0-9]|[1][0-9]|2[0-3]))|([0-9]|[1][0-9]|2[0-3])|(\\*))$",
+        "^((([0-9]|[1-5][0-9])(\\,|\\-|\\/){1}([1-9]|[1-5][0-9]))|([0-9]|[0-5][0-9])|(\\*))$",
+        "^((([0-9]|[1][0-9]|2[0-3])(\\,|\\-|\\/){1}([1-9]|[1][0-9]|2[0-3]))|([0-9]|[1][0-9]|2[0-3])|(\\*))$",
         "^((([1-9]|[1-2][0-9]|3[01])(\\,|\\-|\\/){1}([1-9]|[1-2][0-9]|3[01]))|([1-9]|[1-2][0-9]|3[01])|(\\*)|(\\?))$",
         "^((([1-9]|[1][0-2])(\\,|\\-|\\/){1}([1-9]|[1][0-2]))|([1-9]|[1][0-2])|(\\*))$",
         "^((([1-7])(\\,|\\-|\\/){1}([1-7]))|([1-7])|(\\*)|(\\?))$"