fixed loading issue

This commit is contained in:
2023-01-10 09:41:42 -08:00
parent 1b3eff8301
commit ec4e6624b5
3 changed files with 53 additions and 37 deletions

View File

@@ -341,6 +341,8 @@
(sort-by last) (sort-by last)
last last
first first
coerce/to-date-time
atime/as-local-time
coerce/to-date)]] coerce/to-date)]]
#:expected-deposit {:external-id (str "square/settlement/" (:id settlement)) #:expected-deposit {:external-id (str "square/settlement/" (:id settlement))
:vendor :vendor/ccp-square :vendor :vendor/ccp-square

View File

@@ -48,6 +48,8 @@
:source "Square 3" :source "Square 3"
:background-job "Square 3") :background-job "Square 3")
(client/request (assoc request (client/request (assoc request
:socket-timeout 10000
:connection-timeout 10000
:as :json :as :json
:retry-handler retry-4)))) :retry-handler retry-4))))
(de/catch (de/catch
@@ -441,43 +443,51 @@
([client location] ([client location]
(de/chain (settlements client location) (de/chain (settlements client location)
(fn [settlements] (fn [settlements]
(->> (for [settlement settlements (log/info ::transforming-settlements)
:let [best-sales-date (->> (d/q '[:find ?s4 (count ?s) (try
:in $ ?settlement-id (->> (for [settlement settlements
:where :let [best-sales-date (->> (d/q '[:find ?s4 (count ?s)
[?settlement :expected-deposit/external-id ?settlement-id] :in $ ?settlement-id
[?settlement :expected-deposit/charges ?c] :where
[?s :sales-order/charges ?c] [?settlement :expected-deposit/external-id ?settlement-id]
[?s :sales-order/date ?sales-date] [?settlement :expected-deposit/charges ?c]
[(clj-time.coerce/to-date-time ?sales-date) ?s2] [?s :sales-order/charges ?c]
[(auto-ap.time/localize ?s2) ?s3] [?s :sales-order/date ?sales-date]
[(clj-time.coerce/to-local-date ?s3) ?s4]] [(clj-time.coerce/to-date-time ?sales-date) ?s2]
(d/db conn) [(auto-ap.time/localize ?s2) ?s3]
(str "square/settlement/" (:id settlement))) [(clj-time.coerce/to-local-date ?s3) ?s4]]
(sort-by last) (d/db conn)
last (str "square/settlement/" (:id settlement)))
first (sort-by last)
coerce/to-date)]] last
#:expected-deposit {:external-id (str "square/settlement/" (:id settlement)) first
:vendor :vendor/ccp-square coerce/to-date-time
:status :expected-deposit-status/pending atime/as-local-time
:total (amount->money (:total_money settlement)) coerce/to-date)]]
:client (:db/id client) #:expected-deposit {:external-id (str "square/settlement/" (:id settlement))
:location (:square-location/client-location location) :vendor :vendor/ccp-square
:fee (- (reduce + 0.0 (map (fn [entry] :status :expected-deposit-status/pending
(if (= (:type entry) "REFUND") :total (amount->money (:total_money settlement))
(- (amount->money (:fee_money entry))) :client (:db/id client)
(amount->money (:fee_money entry)))) :location (:square-location/client-location location)
(:entries settlement)))) :fee (- (reduce + 0.0 (map (fn [entry]
:date (-> (:initiated_at settlement) (if (= (:type entry) "REFUND")
(coerce/to-date)) (- (amount->money (:fee_money entry)))
:sales-date (or best-sales-date (amount->money (:fee_money entry))))
(-> (:initiated_at settlement) (:entries settlement))))
(coerce/to-date))) :date (-> (:initiated_at settlement)
:charges (->> (:entries settlement) (coerce/to-date))
(filter :payment_id) :sales-date (or best-sales-date
(map (fn [p] {:charge/external-id (str "square/charge/" (:payment_id p))})))}) (-> (:initiated_at settlement)
(filter :expected-deposit/date)))))) (coerce/to-date)))
:charges (->> (:entries settlement)
(filter :payment_id)
(map (fn [p] {:charge/external-id (str "square/charge/" (:payment_id p))})))})
(filter :expected-deposit/date)
(into []))
(catch Exception e
(log/error ::transform-settlement-failed
:exception e)))))))
(defn refunds (defn refunds
([client l] ([client l]
@@ -544,6 +554,7 @@
(de/chain (daily-settlements client location) (de/chain (daily-settlements client location)
(fn [settlements] (fn [settlements]
(mu/with-context lc (mu/with-context lc
(log/info ::started-loading-deposits :settlement-count (count settlements))
(doseq [x (partition-all 20 settlements)] (doseq [x (partition-all 20 settlements)]
(log/info ::loading-deposits (log/info ::loading-deposits
:count (count x)) :count (count x))

View File

@@ -6,6 +6,9 @@
(defn localize [d] (defn localize [d]
(time/to-time-zone d (time/time-zone-for-id "America/Los_Angeles"))) (time/to-time-zone d (time/time-zone-for-id "America/Los_Angeles")))
(defn as-local-time [d]
(time/from-time-zone d (time/time-zone-for-id "America/Los_Angeles")))
(defn local-now [] (defn local-now []
(time/to-time-zone (time/now) (time/time-zone-for-id "America/Los_Angeles"))) (time/to-time-zone (time/now) (time/time-zone-for-id "America/Los_Angeles")))