增加项目的各个功能
This commit is contained in:
36
app/api/dao/reportDao.py
Normal file
36
app/api/dao/reportDao.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# encoding: UTF-8
|
||||
from ..model.reportModel import DefectSync, Report
|
||||
from logger import logger
|
||||
|
||||
|
||||
class ReportDao(object):
|
||||
@staticmethod
|
||||
def create(session, model_cls, add_info):
|
||||
obj = model_cls(**add_info)
|
||||
session.add(obj)
|
||||
err = session.done(close=False)
|
||||
if err:
|
||||
logger.warning(f'{model_cls.__name__}新增失败!{err}')
|
||||
return 0, f'新增失败!{err}'
|
||||
return obj.id, ''
|
||||
|
||||
@staticmethod
|
||||
def get_by_id(session, model_cls, obj_id):
|
||||
return session.query(model_cls).filter(model_cls.id == int(obj_id)).first()
|
||||
|
||||
@staticmethod
|
||||
def list_by_filters(session, model_cls, filter_list, page=1, limit=20, order_column=None, asc=False):
|
||||
query = session.query(model_cls).filter(*filter_list)
|
||||
total = query.count()
|
||||
if order_column is not None:
|
||||
query = query.order_by(order_column.asc() if asc else order_column.desc())
|
||||
rets = query.offset((int(page) - 1) * int(limit)).limit(int(limit)).all()
|
||||
return rets, total
|
||||
|
||||
@staticmethod
|
||||
def report_model():
|
||||
return Report
|
||||
|
||||
@staticmethod
|
||||
def defect_model():
|
||||
return DefectSync
|
||||
Reference in New Issue
Block a user