v1.0.95: шаг4 — идемпотентность, проверка supplement уже обработан

This commit is contained in:
2026-06-22 07:33:18 +04:00
parent 69b3808037
commit 56ed3870bb
2 changed files with 10 additions and 1 deletions
+9
View File
@@ -16,6 +16,14 @@
<cfelseif NOT len(supplementId)> <cfelseif NOT len(supplementId)>
<cfset result.error = "supplement_id required (JSON body)"> <cfset result.error = "supplement_id required (JSON body)">
<cfelse> <cfelse>
<!--- Идемпотентность: проверка что supplement ещё не обработан --->
<cfquery name="dupCheck" datasource="baza">
SELECT COUNT(*) as cnt FROM spec_events
WHERE supplement_id = <cfqueryparam value="#supplementId#" cfsqltype="cf_sql_varchar">
</cfquery>
<cfif dupCheck.cnt GT 0>
<cfset result = {ok: true, skipped: true, message: "supplement already processed", supplement_id: supplementId}>
<cfelse>
<cftransaction> <cftransaction>
<cfset seq = 0> <cfset seq = 0>
<cfquery name="sq" datasource="baza"> <cfquery name="sq" datasource="baza">
@@ -185,6 +193,7 @@
<cfset result = {ok: true, contract_id: url.contract_id, supplement_id: supplementId, summary: summary}> <cfset result = {ok: true, contract_id: url.contract_id, supplement_id: supplementId, summary: summary}>
</cftransaction> </cftransaction>
</cfif>
</cfif> </cfif>
<cfcatch> <cfcatch>
<cfset result = {ok: false, error: cfcatch.message, detail: cfcatch.detail}> <cfset result = {ok: false, error: cfcatch.message, detail: cfcatch.detail}>
+1 -1
View File
@@ -61,7 +61,7 @@
<body> <body>
<div class="topbar"> <div class="topbar">
<img src="/nubes-logo.svg" alt="Nubes"> <img src="/nubes-logo.svg" alt="Nubes">
<span class="title">Сверка договоров — LLM AI-driven Event Sourcing <span style="font-weight:400;color:var(--muted);font-size:12px;">v1.0.94 — Lucee</span></span> <span class="title">Сверка договоров — LLM AI-driven Event Sourcing <span style="font-weight:400;color:var(--muted);font-size:12px;">v1.0.95 — Lucee</span></span>
</div> </div>
<div class="content"> <div class="content">