176 lines
7.7 KiB
Clojure
176 lines
7.7 KiB
Clojure
;; This buffer is for Clojure experiments and evaluation.
|
|
|
|
;; Press C-j to evaluate the last expression.
|
|
|
|
;; You can also press C-u C-j to evaluate the expression and pretty-print its result.
|
|
|
|
(doseq [z (->> (d/q '[:find [?e ...]
|
|
:in $
|
|
:where (or-join [?e]
|
|
(and
|
|
[?e :sales-order/client [:client/code "NGOP"]]
|
|
[?e :sales-order/date ?d]
|
|
[(>= ?d #inst "2022-06-19")])
|
|
(and
|
|
[?e :expected-deposit/client [:client/code "NGOP"]]
|
|
[?e :expected-deposit/date ?d]
|
|
[(>= ?d #inst "2022-06-19")]))]
|
|
(d/db auto-ap.datomic/conn))
|
|
(map (fn [x] [:db/retractEntity x]))
|
|
(partition-all 20))]
|
|
@(d/transact auto-ap.datomic/conn z)
|
|
)
|
|
|
|
(doseq [client (get-square-clients "NGOP")
|
|
square-location (:client/square-locations client)
|
|
:when (:square-location/client-location square-location)]
|
|
(upsert client square-location (time/plus (time/now) (time/days -13)) (time/now)))
|
|
|
|
|
|
|
|
|
|
(require '[datomic.api :as d])
|
|
|
|
(user/init-repl)
|
|
|
|
(d/q '[:find ?d4 ?type ?p2 (sum ?total) (sum ?tip)
|
|
:with ?charge
|
|
:in $
|
|
:where
|
|
[?c :client/code "NGOP"]
|
|
[?s :sales-order/client ?c]
|
|
[?s :sales-order/date ?date]
|
|
[(ground (clj-time.coerce/to-date (clj-time.core/minus (auto-ap.time/local-now) (clj-time.core/days 10)))) ?min-d]
|
|
[(>= ?date ?min-d)]
|
|
[?s :sales-order/charges ?charge]
|
|
[?charge :charge/type-name ?type]
|
|
[?charge :charge/total ?total]
|
|
[?charge :charge/tip ?tip]
|
|
(or
|
|
|
|
(and [_ :expected-deposit/charges ?charge ]
|
|
[(ground :settlement) ?ccp]
|
|
[(ground :settlement) ?p])
|
|
(and
|
|
(not [_ :expected-deposit/charges ?charge])
|
|
[(get-else $ ?charge :charge/processor :na) ?ccp]
|
|
[(get-else $ ?ccp :db/ident :na) ?p]
|
|
))
|
|
[(name ?p) ?p2]
|
|
[(clj-time.coerce/to-date-time ?date) ?d2]
|
|
[(auto-ap.time/localize ?d2) ?d3]
|
|
[(auto-ap.time/unparse-local ?d3 auto-ap.time/normal-date) ?d4]]
|
|
(d/db auto-ap.datomic/conn))
|
|
|
|
(user/init-repl)
|
|
|
|
|
|
(->> (d/q '[:find ?date (pull ?s [:sales-order/external-id ]) (pull ?charge [*])
|
|
:in $
|
|
:where
|
|
[?c :client/code "NGOP"]
|
|
[?s :sales-order/client ?c]
|
|
[?s :sales-order/date ?date]
|
|
[(<= #inst "2022-06-22T00:00:00-07:00" ?date)]
|
|
[(< ?date #inst "2022-06-23T00:00:00-07:00" )]
|
|
[?s :sales-order/charges ?charge]
|
|
[?charge :charge/type-name "CARD"]
|
|
(not [_ :expected-deposit/charges ?charge])]
|
|
(d/db auto-ap.datomic/conn))
|
|
#_(map second)
|
|
#_(map :sales-order/external-id)
|
|
#_(map #(last (str/split % #"-")))
|
|
#_(take 5)
|
|
#_(map (fn [x]
|
|
(auto-ap.square.core/get-order (first (auto-ap.square.core/get-square-clients "NGOP"))
|
|
(first (filter :square-location/client-location (:client/square-locations (first (auto-ap.square.core/get-square-clients "NGOP")))))
|
|
|
|
x)
|
|
))
|
|
|
|
|
|
)
|
|
|
|
(user/init-repl)
|
|
|
|
(auto-ap.square.core/get-payment (first (auto-ap.square.core/get-square-clients "NGOP")) "VMTHRlak2el5DRd9EDzdBc9p6NRZY")
|
|
|
|
(auto-ap.square.core/get-order (first (auto-ap.square.core/get-square-clients "NGOP"))
|
|
(first (filter :square-location/client-location (:client/square-locations (first (auto-ap.square.core/get-square-clients "NGOP")))))
|
|
|
|
"oiUPZkjiUHZotszGBL5ErZlJd4JZY")
|
|
|
|
fXG1gjzTIVoAyBybf4D4r2IOvaB
|
|
D7piioWfWorhmO7a8ecER3N5taB
|
|
50QOwfhkUaiPZuvs0oCeoXSEuaB
|
|
|
|
(auto-ap.square.core/settlements (first (auto-ap.square.core/get-square-clients "NGOP"))
|
|
(first (filter :square-location/client-location (:client/square-locations (first (auto-ap.square.core/get-square-clients "NGOP"))))))
|
|
|
|
(auto-ap.square.core/get-settlement-details (first (auto-ap.square.core/get-square-clients "NGOP"))
|
|
(first (filter :square-location/client-location (:client/square-locations (first (auto-ap.square.core/get-square-clients "NGOP")))))
|
|
["3Z701Y9EZKDC8YS863BY12E701TS"])
|
|
|
|
(doseq [client (get-square-clients "NGOP")
|
|
square-location (:client/square-locations client)
|
|
:when (:square-location/client-location square-location)
|
|
settlement (settlements client square-location [["2022-06-25" "2022-06-30"]] )]
|
|
|
|
(println (str "square/settlement/" (:id settlement)))
|
|
@(d/transact
|
|
auto-ap.datomic/conn
|
|
|
|
[#:expected-deposit {:external-id (str "square/settlement/" (:id settlement))
|
|
:vendor :vendor/ccp-square
|
|
:status :expected-deposit-status/pending
|
|
:total (amount->money (:total_money settlement))
|
|
:client (:db/id client)
|
|
:location (:square-location/client-location square-location)
|
|
:fee (- (reduce + 0.0 (map (fn [entry]
|
|
(if (= (:type entry) "REFUND")
|
|
(- (amount->money (:fee_money entry)))
|
|
(amount->money (:fee_money entry))))
|
|
(:entries settlement))))
|
|
:date (-> (:initiated_at settlement)
|
|
(coerce/to-date))
|
|
:sales-date (or (:sales-date settlement)
|
|
(-> (:initiated_at settlement)
|
|
(coerce/to-date)))
|
|
:charges (->> (:entries settlement)
|
|
(filter :payment_id)
|
|
(map (fn [p] {:charge/external-id (str "square/charge/" (:payment_id p))})))}])
|
|
)
|
|
|
|
|
|
|
|
|
|
(user/init-repl)
|
|
|
|
(let [client-id (d-clients/code->id "NGGG")
|
|
query [[:all-accounts
|
|
[:id :numeric_code :type :applicability :location :name [:client_overrides [:name [:client [:id :code :name]]]]]]]
|
|
all-accounts (graphql/query {:user/role "admin"} (venia/graphql-query {:venia/queries (->graphql query)}))]
|
|
|
|
all-accounts
|
|
#_(list (transduce
|
|
(comp
|
|
(filter (fn [a]
|
|
(let [overriden-clients (set (map (comp :id :client) (:client-overrides a)))]
|
|
(or (nil? (:applicability a))
|
|
(= :global (:applicability a))
|
|
(overriden-clients (str client-id))))))
|
|
(map (fn [a]
|
|
(let [client->name (reduce
|
|
(fn [override co]
|
|
(assoc override (str (:id (:client co))) (:name co)))
|
|
{}
|
|
(:client-overrides a))]
|
|
(-> a
|
|
(assoc :global-name (:name a))
|
|
(assoc :client-name (client->name (str client-id) (:name a)))
|
|
(dissoc :client-overrides))))))
|
|
conj
|
|
(list)
|
|
(:all-accounts (:data all-accounts)))))
|
|
|