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)>
<cfset result.error = "supplement_id required (JSON body)">
<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>
<cfset seq = 0>
<cfquery name="sq" datasource="baza">
@@ -185,6 +193,7 @@
<cfset result = {ok: true, contract_id: url.contract_id, supplement_id: supplementId, summary: summary}>
</cftransaction>
</cfif>
</cfif>
<cfcatch>
<cfset result = {ok: false, error: cfcatch.message, detail: cfcatch.detail}>