feat: 问题回路端点 question_list/question_answer + load_path注册
- question_list.dspy: 角色agent提问列表(project_id/task_id/status过滤) - question_answer.dspy: 回填答案(任务waiting→submitted恢复) - load_path.py: 注册两个新端点到logined权限
This commit is contained in:
parent
d3f483b012
commit
75c6d9d003
@ -22,6 +22,8 @@ PATHS_LOGINED = [
|
||||
f"/{MOD}/api/human_list.dspy",
|
||||
f"/{MOD}/api/approval_approve.dspy",
|
||||
f"/{MOD}/api/approval_reject.dspy",
|
||||
f"/{MOD}/api/question_list.dspy",
|
||||
f"/{MOD}/api/question_answer.dspy",
|
||||
]
|
||||
|
||||
PATHS_ANY = []
|
||||
|
||||
20
wwwroot/api/question_answer.dspy
Normal file
20
wwwroot/api/question_answer.dspy
Normal file
@ -0,0 +1,20 @@
|
||||
# question_answer.dspy — 回答问题(回填答案,任务从 waiting 恢复 submitted)
|
||||
# POST: question_id, answer
|
||||
|
||||
question_id = params_kw.get('question_id', '')
|
||||
answer = params_kw.get('answer', '')
|
||||
|
||||
if not question_id:
|
||||
return json.dumps({"success": False, "message": "缺少question_id"}, ensure_ascii=False)
|
||||
if not answer:
|
||||
return json.dumps({"success": False, "message": "缺少answer"}, ensure_ascii=False)
|
||||
|
||||
uid = await get_user()
|
||||
|
||||
try:
|
||||
r = await question_answer(question_id, answer, uid or '', 'customer')
|
||||
if r is None:
|
||||
return json.dumps({"success": False, "message": "问题不存在或已被处理"}, ensure_ascii=False)
|
||||
return json.dumps({"success": True, "question_id": r.get('id', ''), "resumed": r.get('resumed', False)}, ensure_ascii=False)
|
||||
except Exception as e:
|
||||
return json.dumps({"success": False, "message": str(e)}, ensure_ascii=False)
|
||||
16
wwwroot/api/question_list.dspy
Normal file
16
wwwroot/api/question_list.dspy
Normal file
@ -0,0 +1,16 @@
|
||||
# question_list.dspy — 角色Agent提问列表(主agent/客户查看待答问题)
|
||||
# GET/POST: project_id(可选,优先), task_id, status, limit
|
||||
|
||||
# 角色任务的 tenant_id 是 project_id(非 org_id),优先用 project_id 过滤
|
||||
tenant_id = params_kw.get('project_id', '') or params_kw.get('tenant_id', '')
|
||||
if not tenant_id:
|
||||
tenant_id = (await get_userorgid()) or '0'
|
||||
task_id = params_kw.get('task_id', None) or None
|
||||
status = params_kw.get('status', None) or None
|
||||
limit = int(params_kw.get('limit', 50))
|
||||
|
||||
try:
|
||||
rows = await question_list(tenant_id=tenant_id, task_id=task_id, status=status, limit=limit)
|
||||
return json.dumps({"success": True, "rows": rows, "total": len(rows)}, ensure_ascii=False, default=str)
|
||||
except Exception as e:
|
||||
return json.dumps({"success": False, "message": str(e)}, ensure_ascii=False)
|
||||
Loading…
x
Reference in New Issue
Block a user