Files
effekt-interface/app/api/dao/updateSqlProjectDao.py
2026-04-13 16:34:14 +08:00

69 lines
2.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# encoding: UTF-8
from ..model.updateSqlProjectModel import UpdateSqlProject
from logger import logger
class UpdateSqlProjectDao(object):
@staticmethod
def get_sql_project_by_id(session, sql_id):
return session.query(UpdateSqlProject).filter(
UpdateSqlProject.id == int(sql_id), UpdateSqlProject.is_delete == 0
).first()
@staticmethod
def delete_sql_project_by_id(session, sql_id):
delete_res = session.query(UpdateSqlProject).filter(
UpdateSqlProject.id == int(sql_id), UpdateSqlProject.is_delete == 0
).update({'is_delete': 1})
err = session.done(close=False)
if err:
logger.error('delete update_sql_project db失败sql_id: {}, err: {}'.format(sql_id, err))
return 0, f'删除记录失败!{err}'
if not delete_res:
return 0, '未查询到对应记录!'
return int(sql_id), ''
@staticmethod
def create_sql_project(session, add_info):
if not isinstance(add_info, dict):
logger.error('create_sql_project不支持其他类型。')
return 0, '入参类型错误!'
sql_project_obj = UpdateSqlProject(**add_info)
session.add(sql_project_obj)
err = session.done(close=False)
create_id = sql_project_obj.id
if err:
logger.warning(f'create_sql_project新增记录失败{err}')
return 0, f'新增记录失败!{err}'
if not create_id:
logger.warning('获取update_sql_project记录id失败')
return 0, f'{add_info}获取update_sql_project记录id失败'
return create_id, ''
@staticmethod
def get_sql_by_filters(session, filter_list, page=1, limit=20):
rets = session.query(UpdateSqlProject)\
.filter(*filter_list) \
.filter(UpdateSqlProject.is_delete == 0) \
.order_by(UpdateSqlProject.created_time.desc()) \
.offset((int(page) - 1) * int(limit)) \
.limit(limit) \
.all()
total = session.query(UpdateSqlProject).filter(*filter_list).filter(
UpdateSqlProject.is_delete == 0).count()
return rets, total
@staticmethod
def update_sql_project_by_id(session, sql_id, update_info):
update_res = session.query(UpdateSqlProject).filter(
UpdateSqlProject.id == int(sql_id), UpdateSqlProject.is_delete == 0
).update(update_info)
err = session.done(close=False)
if err:
logger.error('update update_sql_project db失败sql_id: {}, update_info:{}, err: {}'.format(sql_id, update_info, err))
return 0, f'更新记录失败!{err}'
if not update_res:
return 0, '未查询到对应记录!'
return int(sql_id), ''