|
@@ -7,6 +7,7 @@ from database import get_db
|
|
|
from extensions import logger
|
|
|
import random
|
|
|
from models import *
|
|
|
+from utils import *
|
|
|
|
|
|
def get_next_event_id(db: Session):
|
|
|
while True:
|
|
@@ -72,4 +73,28 @@ def get_task_type_text(task_type: str) -> str:
|
|
|
elif task_type == '3':
|
|
|
return '督办任务'
|
|
|
else:
|
|
|
- return str(task_type)
|
|
|
+ return str(task_type)
|
|
|
+
|
|
|
+
|
|
|
+def get_task_feebacks(db: Session, task_id: str):
|
|
|
+ rows = db.query(TaskFeeback).filter(and_(TaskFeeback.task_id == task_id)).all()
|
|
|
+ data = []
|
|
|
+ for row in rows:
|
|
|
+ info = get_model_dict(row)
|
|
|
+ info['create_time'] = get_datetime_str(row.create_time)
|
|
|
+ info['approval_time'] = get_datetime_str(row.approval_time)
|
|
|
+
|
|
|
+ data.append(info)
|
|
|
+
|
|
|
+ return data
|
|
|
+
|
|
|
+# 任务发布后半个小时内没反馈记录就需要alert
|
|
|
+def need_task_alert(db: Session, task_id: str):
|
|
|
+ rows = db.query(TaskFeeback).filter(and_(TaskFeeback.task_id == task_id)).all()
|
|
|
+ if len(rows) > 0:
|
|
|
+ return False
|
|
|
+
|
|
|
+ row = db.query(TaskRegistration).filter(TaskRegistration.task_id == task_id).first()
|
|
|
+ alert_time = row.creation_time + timedelta(seconds=60 * 30) # 半个小时后
|
|
|
+
|
|
|
+ return datetime.now() > alert_time
|