prepares for fixing square issue
This commit is contained in:
@@ -17,7 +17,8 @@
|
||||
[manifold.deferred :as de]
|
||||
[manifold.executor :as ex]
|
||||
[manifold.stream :as s]
|
||||
[manifold.time :as mt]))
|
||||
[manifold.time :as mt]
|
||||
[clojure.data.csv :as csv]))
|
||||
|
||||
(defn client-base-headers
|
||||
([client] (client-base-headers client "2021-08-18"))
|
||||
@@ -370,6 +371,16 @@
|
||||
(fn [e]
|
||||
(log/error ::failed-to-transform-order
|
||||
:exception e)))))))
|
||||
(defn should-import-order? [order]
|
||||
;; sometimes orders stay open in square. At least one payment
|
||||
;; is needed to import, in order to avoid importing orders in-progress.
|
||||
(and
|
||||
(or (> (count (:tenders order)) 0)
|
||||
(seq (:returns order)))
|
||||
(or (= #{} (set (map #(:status (:card_details %)) (:tenders order))))
|
||||
(not= #{} (set/difference
|
||||
(set (map #(:status (:card_details %)) (:tenders order)))
|
||||
#{"FAILED" "VOIDED"})))))
|
||||
|
||||
(defn daily-results
|
||||
([client location]
|
||||
@@ -381,16 +392,7 @@
|
||||
(fn [search-results]
|
||||
(->> (or search-results [])
|
||||
(s/->source)
|
||||
(s/filter (fn [order]
|
||||
;; sometimes orders stay open in square. At least one payment
|
||||
;; is needed to import, in order to avoid importing orders in-progress.
|
||||
(and
|
||||
(or (> (count (:tenders order)) 0)
|
||||
(seq (:returns order)))
|
||||
(or (= #{} (set (map #(:status (:card_details %)) (:tenders order))))
|
||||
(not= #{} (set/difference
|
||||
(set (map #(:status (:card_details %)) (:tenders order)))
|
||||
#{"FAILED" "VOIDED"}))))))
|
||||
(s/filter should-import-order?)
|
||||
(s/map #(mu/with-context lc (order->sales-order client location %)))
|
||||
(s/buffer 10)
|
||||
(s/realize-each)
|
||||
@@ -890,7 +892,7 @@
|
||||
:headers (client-base-headers client)
|
||||
:as :json})
|
||||
:body)))
|
||||
(def refs
|
||||
(def refs
|
||||
(->>
|
||||
@(let [[c [l]] (get-square-client-and-location "NGCL")]
|
||||
|
||||
@@ -901,9 +903,39 @@
|
||||
|
||||
(let [[c [l]] (get-square-client-and-location "NGCL")]
|
||||
|
||||
#_(get-payment c l )
|
||||
#_(get-payment c l)
|
||||
|
||||
(map (fn [r] @(get-payment c (:payment_id r))) refs))
|
||||
|
||||
(map (fn [r] @(get-payment c (:payment_id r))) refs))
|
||||
|
||||
(def my-results
|
||||
(let [[c [l]] (get-square-client-and-location "NGFA")]))
|
||||
|
||||
(clojure.data.csv/write-csv *out*
|
||||
(for [c (get-square-clients)
|
||||
l (:client/square-locations c)
|
||||
:when (:square-location/client-location l)
|
||||
bad-row (try (->> @(search c l (coerce/to-date-time #inst "2024-04-01T00:00:00-07:00") (coerce/to-date-time #inst "2024-04-15T23:59:00-07:00"))
|
||||
(filter #(not (should-import-order? %)))
|
||||
(map #(first (deref (order->sales-order c l %))))
|
||||
(filter (fn already-exists [o]
|
||||
(when (:sales-order/external-id o)
|
||||
(seq (dc/q '[:find ?i
|
||||
:in $ ?ei
|
||||
:where [?i :sales-order/external-id ?ei]]
|
||||
(dc/db conn)
|
||||
(:sales-order/external-id o)))))))
|
||||
(catch Exception e
|
||||
[]))]
|
||||
[(:client/code c) (atime/unparse-local (clj-time.coerce/to-date-time (:sales-order/date bad-row)) atime/normal-date) (:sales-order/total bad-row) (:sales-order/tax bad-row) (:sales-order/tip bad-row) (:db/id bad-row)])
|
||||
:separator \tab)
|
||||
|
||||
|
||||
|
||||
;; =>
|
||||
|
||||
|
||||
|
||||
(clojure.pprint/pprint (let [[c [l]] (get-square-client-and-location "NGWC")]
|
||||
|
||||
(get-order c l "yzmLBYVGhKXUPwGXm482GJb2VX9YY")))
|
||||
)
|
||||
0
src/clj/auto_ap/ssr/admin/clients.fiddle
Normal file
0
src/clj/auto_ap/ssr/admin/clients.fiddle
Normal file
Reference in New Issue
Block a user