performance optimization, much faster when only looking up check if transaction not found.
This commit is contained in:
@@ -92,7 +92,7 @@
|
||||
client (:client/_bank-accounts bank-account)
|
||||
client-id (:db/id client)
|
||||
valid-locations (or (:bank-account/locations bank-account) (:client/locations client))
|
||||
check (transaction->payment transaction check-number client-id bank-account-id amount id)
|
||||
|
||||
date (time/parse date "YYYY-MM-dd")]
|
||||
:when (and client-id
|
||||
(not (existing (sha-256 (str id))))
|
||||
@@ -101,38 +101,39 @@
|
||||
(or (not (:start-date bank-account))
|
||||
(t/after? date (:start-date bank-account)))
|
||||
)]
|
||||
(->
|
||||
#:transaction
|
||||
{:post-date (coerce/to-date (time/parse post-date "YYYY-MM-dd"))
|
||||
:id (sha-256 (str id))
|
||||
:account-id account-id
|
||||
:date (coerce/to-date date)
|
||||
:amount (double amount)
|
||||
:description-original (some-> description-original (str/replace #"\s+" " "))
|
||||
:description-simple (some-> description-simple (str/replace #"\s+" " "))
|
||||
:approval-status (if check
|
||||
:transaction-approval-status/approved
|
||||
:transaction-approval-status/unapproved)
|
||||
:type type
|
||||
:status status
|
||||
:client client-id
|
||||
:check-number check-number
|
||||
:bank-account bank-account-id
|
||||
:payment (when check
|
||||
{:db/id (:db/id check)
|
||||
:payment/status :payment-status/cleared})
|
||||
(let [check (transaction->payment transaction check-number client-id bank-account-id amount id)]
|
||||
(->
|
||||
#:transaction
|
||||
{:post-date (coerce/to-date (time/parse post-date "YYYY-MM-dd"))
|
||||
:id (sha-256 (str id))
|
||||
:account-id account-id
|
||||
:date (coerce/to-date date)
|
||||
:amount (double amount)
|
||||
:description-original (some-> description-original (str/replace #"\s+" " "))
|
||||
:description-simple (some-> description-simple (str/replace #"\s+" " "))
|
||||
:approval-status (if check
|
||||
:transaction-approval-status/approved
|
||||
:transaction-approval-status/unapproved)
|
||||
:type type
|
||||
:status status
|
||||
:client client-id
|
||||
:check-number check-number
|
||||
:bank-account bank-account-id
|
||||
:payment (when check
|
||||
{:db/id (:db/id check)
|
||||
:payment/status :payment-status/cleared})
|
||||
|
||||
:vendor (when check
|
||||
(:db/id (:payment/vendor check)))
|
||||
:location (when check
|
||||
"A")
|
||||
:accounts (when check
|
||||
[#:transaction-account {:account (:db/id (a/get-account-by-numeric-code-and-sets 21000 ["default"]))
|
||||
:location "A"
|
||||
:amount (Math/abs (double amount))}])}
|
||||
:vendor (when check
|
||||
(:db/id (:payment/vendor check)))
|
||||
:location (when check
|
||||
"A")
|
||||
:accounts (when check
|
||||
[#:transaction-account {:account (:db/id (a/get-account-by-numeric-code-and-sets 21000 ["default"]))
|
||||
:location "A"
|
||||
:amount (Math/abs (double amount))}])}
|
||||
|
||||
(apply-rules valid-locations)
|
||||
remove-nils))))
|
||||
(apply-rules valid-locations)
|
||||
remove-nils)))))
|
||||
|
||||
|
||||
(defn batch-transact [transactions]
|
||||
|
||||
@@ -83,8 +83,8 @@ resource "aws_lb_target_group" "integreat_app" {
|
||||
path = "/api/health-check"
|
||||
port = "traffic-port"
|
||||
protocol = "HTTP"
|
||||
timeout = 5
|
||||
unhealthy_threshold = 2
|
||||
timeout = 14
|
||||
unhealthy_threshold = 5
|
||||
}
|
||||
|
||||
stickiness {
|
||||
|
||||
Reference in New Issue
Block a user