|
@@ -1057,117 +1057,6 @@ def fix_broken_duplicate_records():
|
|
|
}
|
|
|
|
|
|
|
|
|
-def get_parse_tasks(page=1, per_page=10, task_type=None, task_status=None):
|
|
|
- """
|
|
|
- 获取解析任务列表
|
|
|
-
|
|
|
- Args:
|
|
|
- page (int): 页码
|
|
|
- per_page (int): 每页记录数
|
|
|
- task_type (str): 任务类型过滤
|
|
|
- task_status (str): 任务状态过滤
|
|
|
-
|
|
|
- Returns:
|
|
|
- dict: 包含查询结果和分页信息
|
|
|
- """
|
|
|
- try:
|
|
|
- if page < 1 or per_page < 1 or per_page > 100:
|
|
|
- return {
|
|
|
- 'code': 400,
|
|
|
- 'success': False,
|
|
|
- 'message': '分页参数错误',
|
|
|
- 'data': None
|
|
|
- }
|
|
|
-
|
|
|
- query = ParseTaskRepository.query
|
|
|
-
|
|
|
- if task_type:
|
|
|
- query = query.filter_by(task_type=task_type)
|
|
|
- if task_status:
|
|
|
- query = query.filter_by(task_status=task_status)
|
|
|
-
|
|
|
- query = query.order_by(ParseTaskRepository.created_at.desc())
|
|
|
-
|
|
|
- pagination = query.paginate(page=page, per_page=per_page, error_out=False)
|
|
|
-
|
|
|
- tasks = [task.to_dict() for task in pagination.items]
|
|
|
-
|
|
|
- return {
|
|
|
- 'code': 200,
|
|
|
- 'success': True,
|
|
|
- 'message': '获取解析任务列表成功',
|
|
|
- 'data': {
|
|
|
- 'tasks': tasks,
|
|
|
- 'pagination': {
|
|
|
- 'page': page,
|
|
|
- 'per_page': per_page,
|
|
|
- 'total': pagination.total,
|
|
|
- 'pages': pagination.pages,
|
|
|
- 'has_next': pagination.has_next,
|
|
|
- 'has_prev': pagination.has_prev
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- except Exception as e:
|
|
|
- error_msg = f"获取解析任务列表失败: {str(e)}"
|
|
|
- logging.error(error_msg, exc_info=True)
|
|
|
-
|
|
|
- return {
|
|
|
- 'code': 500,
|
|
|
- 'success': False,
|
|
|
- 'message': error_msg,
|
|
|
- 'data': None
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-def get_parse_task_detail(task_name):
|
|
|
- """
|
|
|
- 获取解析任务详情
|
|
|
-
|
|
|
- Args:
|
|
|
- task_name (str): 任务名称
|
|
|
-
|
|
|
- Returns:
|
|
|
- dict: 包含查询结果
|
|
|
- """
|
|
|
- try:
|
|
|
- if not task_name:
|
|
|
- return {
|
|
|
- 'code': 400,
|
|
|
- 'success': False,
|
|
|
- 'message': '任务名称不能为空',
|
|
|
- 'data': None
|
|
|
- }
|
|
|
-
|
|
|
- task = ParseTaskRepository.query.filter_by(task_name=task_name).first()
|
|
|
-
|
|
|
- if not task:
|
|
|
- return {
|
|
|
- 'code': 404,
|
|
|
- 'success': False,
|
|
|
- 'message': f'未找到任务名称为 {task_name} 的记录',
|
|
|
- 'data': None
|
|
|
- }
|
|
|
-
|
|
|
- return {
|
|
|
- 'code': 200,
|
|
|
- 'success': True,
|
|
|
- 'message': f'成功获取任务 {task_name} 的详细信息',
|
|
|
- 'data': task.to_dict()
|
|
|
- }
|
|
|
-
|
|
|
- except Exception as e:
|
|
|
- error_msg = f"获取解析任务详情失败: {str(e)}"
|
|
|
- logging.error(error_msg, exc_info=True)
|
|
|
-
|
|
|
- return {
|
|
|
- 'code': 500,
|
|
|
- 'success': False,
|
|
|
- 'message': error_msg,
|
|
|
- 'data': None
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
def create_talent_tag(tag_data):
|
|
|
"""
|