added arity for being able to load specific settlement ranges.
This commit is contained in:
@@ -441,29 +441,31 @@
|
|||||||
|
|
||||||
(defn daily-settlements
|
(defn daily-settlements
|
||||||
([client location]
|
([client location]
|
||||||
(de/chain (settlements client location)
|
(daily-settlements client location (settlements client location)))
|
||||||
|
([client location settlements]
|
||||||
|
(de/chain settlements
|
||||||
(fn [settlements]
|
(fn [settlements]
|
||||||
(log/info ::transforming-settlements)
|
(log/info ::transforming-settlements)
|
||||||
(try
|
(try
|
||||||
(->> (for [settlement settlements
|
(->> (for [settlement settlements
|
||||||
:let [best-sales-date (->> (d/q '[:find ?s4 (count ?s)
|
:let [best-sales-date (->> (d/q '[:find ?s4 (count ?s)
|
||||||
:in $ ?settlement-id
|
:in $ ?settlement-id
|
||||||
:where
|
:where
|
||||||
[?settlement :expected-deposit/external-id ?settlement-id]
|
[?settlement :expected-deposit/external-id ?settlement-id]
|
||||||
[?settlement :expected-deposit/charges ?c]
|
[?settlement :expected-deposit/charges ?c]
|
||||||
[?s :sales-order/charges ?c]
|
[?s :sales-order/charges ?c]
|
||||||
[?s :sales-order/date ?sales-date]
|
[?s :sales-order/date ?sales-date]
|
||||||
[(clj-time.coerce/to-date-time ?sales-date) ?s2]
|
[(clj-time.coerce/to-date-time ?sales-date) ?s2]
|
||||||
[(auto-ap.time/localize ?s2) ?s3]
|
[(auto-ap.time/localize ?s2) ?s3]
|
||||||
[(clj-time.coerce/to-local-date ?s3) ?s4]]
|
[(clj-time.coerce/to-local-date ?s3) ?s4]]
|
||||||
(d/db conn)
|
(d/db conn)
|
||||||
(str "square/settlement/" (:id settlement)))
|
(str "square/settlement/" (:id settlement)))
|
||||||
(sort-by last)
|
(sort-by last)
|
||||||
last
|
last
|
||||||
first
|
first
|
||||||
coerce/to-date-time
|
coerce/to-date-time
|
||||||
atime/as-local-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
|
||||||
:status :expected-deposit-status/pending
|
:status :expected-deposit-status/pending
|
||||||
@@ -471,18 +473,18 @@
|
|||||||
:client (:db/id client)
|
:client (:db/id client)
|
||||||
:location (:square-location/client-location location)
|
:location (:square-location/client-location location)
|
||||||
:fee (- (reduce + 0.0 (map (fn [entry]
|
:fee (- (reduce + 0.0 (map (fn [entry]
|
||||||
(if (= (:type entry) "REFUND")
|
(if (= (:type entry) "REFUND")
|
||||||
(- (amount->money (:fee_money entry)))
|
(- (amount->money (:fee_money entry)))
|
||||||
(amount->money (:fee_money entry))))
|
(amount->money (:fee_money entry))))
|
||||||
(:entries settlement))))
|
(:entries settlement))))
|
||||||
:date (-> (:initiated_at settlement)
|
:date (-> (:initiated_at settlement)
|
||||||
(coerce/to-date))
|
(coerce/to-date))
|
||||||
:sales-date (or best-sales-date
|
:sales-date (or best-sales-date
|
||||||
(-> (:initiated_at settlement)
|
(-> (:initiated_at settlement)
|
||||||
(coerce/to-date)))
|
(coerce/to-date)))
|
||||||
:charges (->> (:entries settlement)
|
:charges (->> (:entries settlement)
|
||||||
(filter :payment_id)
|
(filter :payment_id)
|
||||||
(map (fn [p] {:charge/external-id (str "square/charge/" (:payment_id p))})))})
|
(map (fn [p] {:charge/external-id (str "square/charge/" (:payment_id p))})))})
|
||||||
(filter :expected-deposit/date)
|
(filter :expected-deposit/date)
|
||||||
(into []))
|
(into []))
|
||||||
(catch Exception e
|
(catch Exception e
|
||||||
|
|||||||
Reference in New Issue
Block a user