From aa9ca542cad5d92430e9fa050b80bd45d9aa51fa Mon Sep 17 00:00:00 2001 From: ymq Date: Tue, 25 Aug 2026 13:19:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(sdlc):=20=E6=96=B0=E5=A2=9E=20stage=5Fconf?= =?UTF-8?q?irm.dspy=20=E9=9C=80=E6=B1=82/=E8=AE=BE=E8=AE=A1=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wwwroot/api/stage_confirm.dspy | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 wwwroot/api/stage_confirm.dspy diff --git a/wwwroot/api/stage_confirm.dspy b/wwwroot/api/stage_confirm.dspy new file mode 100644 index 0000000..f516ff9 --- /dev/null +++ b/wwwroot/api/stage_confirm.dspy @@ -0,0 +1,18 @@ +# stage_confirm.dspy - 需求/设计人工确认节点(owner 确认通过/退回重做) + +user_id = await get_user() +if not user_id: + return json.dumps({"success": False, "error": "未登录"}, ensure_ascii=False) + +human_task_id = (params_kw or {}).get('human_task_id', '').strip() +confirmed = (params_kw or {}).get('confirmed', '') +comment = (params_kw or {}).get('comment', '') or '' + +if not human_task_id: + return json.dumps({"success": False, "error": "缺少 human_task_id"}, ensure_ascii=False) + +cf = str(confirmed).lower() in ('1', 'true', 'yes', 'on', 'confirm') +ok, msg = await confirm_stage_gate(human_task_id, cf, comment, operator_id=user_id) +if ok: + return json.dumps({"success": True, "message": msg}, ensure_ascii=False) +return json.dumps({"success": False, "error": msg}, ensure_ascii=False)