From 35d875dd2fc6c42ff8dce540044bc31d508e4946 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Fri, 3 Sep 2021 14:07:55 -0700 Subject: [PATCH] Adds sales date --- src/clj/auto_ap/datomic/migrate.clj | 7 ++++--- src/clj/auto_ap/datomic/migrate/sales.clj | 6 +++++- src/clj/auto_ap/square/core.clj | 22 +++++++++++++++++++++- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/clj/auto_ap/datomic/migrate.clj b/src/clj/auto_ap/datomic/migrate.clj index 22f5c83d..fe030f15 100644 --- a/src/clj/auto_ap/datomic/migrate.clj +++ b/src/clj/auto_ap/datomic/migrate.clj @@ -333,9 +333,10 @@ :db/doc "What day of the month" :db/valueType :db.type/long :db/cardinality :db.cardinality/one}]]} - :auto-ap/add-power-user-schema {:txes [[{:db/ident :user-role/power-user}]]}} - :auto-ap/add-transaction-date-index {:txes [[{:db/ident :transaction/date - :db/index true}]]} + :auto-ap/add-power-user-schema {:txes [[{:db/ident :user-role/power-user}]]} + :auto-ap/add-transaction-date-index {:txes [[{:db/ident :transaction/date + :db/index true}]]}} + sales/norms-map diff --git a/src/clj/auto_ap/datomic/migrate/sales.clj b/src/clj/auto_ap/datomic/migrate/sales.clj index fec30d7c..53f3e153 100644 --- a/src/clj/auto_ap/datomic/migrate/sales.clj +++ b/src/clj/auto_ap/datomic/migrate/sales.clj @@ -191,7 +191,11 @@ {:db/ident :sales-refund/fee :db/doc "The total fee on the refund" :db/valueType :db.type/double - :db/cardinality :db.cardinality/one}]]}}) + :db/cardinality :db.cardinality/one}]]} + :add-sales-date {:txes [[{:db/ident :expected-deposit/sales-date + :db/doc "The date of sales the deposit was for" + :db/valueType :db.type/instant + :db/cardinality :db.cardinality/one}]]}}) diff --git a/src/clj/auto_ap/square/core.clj b/src/clj/auto_ap/square/core.clj index dd462caf..fe234cc2 100644 --- a/src/clj/auto_ap/square/core.clj +++ b/src/clj/auto_ap/square/core.clj @@ -252,6 +252,14 @@ (retry f (inc i)))) (log/error "Too many failures")))) +(defn get-payment [p] + (:payment (:body (retry #(client/get (str "https://connect.squareup.com/v2/payments/" p) + {:headers base-headers + :as :json + :retry-handler (fn [ex try-count http-context] + (log/warn "Retrying after failure " ex) + (if (> try-count 4) false true))}))))) + (defn settlements ([l] (settlements l (lookup-dates))) ([l lookup-dates] @@ -298,7 +306,19 @@ (amount->money (:fee_money entry)))) (:entries settlement)))) :date (-> (:initiated_at settlement) - (coerce/to-date))}))) + (coerce/to-date)) + :sales-date (->> settlement + :entries + (map :payment_id) + (set) + (take 10) + (map (fn [p] + (get-payment p))) + (map :created_at) + (map coerce/to-date) + (sort) + (drop 5) + first)}))) (filter :expected-deposit/date))) )