transactions find bank accounts when manual import.

This commit is contained in:
BC
2018-07-12 23:54:23 -07:00
parent d6345832dc
commit 77eade2f15
3 changed files with 14 additions and 16 deletions

View File

@@ -31,8 +31,6 @@ services:
POSTGRES_USER: ap POSTGRES_USER: ap
POSTGRES_PASSWORD: fifteen-invoices-imported! POSTGRES_PASSWORD: fifteen-invoices-imported!
POSTGRES_DB: autoap POSTGRES_DB: autoap
ports:
- "5432:5432"
volumes: volumes:
- ./data/var/lib/postgresql/data:/var/lib/postgresql/data - ./data/var/lib/postgresql/data:/var/lib/postgresql/data
migrator: migrator:

View File

@@ -103,7 +103,7 @@
:amount amount :amount amount
:account-id account-id}))))] :account-id account-id}))))]
(manual-import raw-transactions company-id 1) (manual-import raw-transactions company-id)
{:status 200 {:status 200
:body (pr-str {:imported (count raw-transactions) :body (pr-str {:imported (count raw-transactions)

View File

@@ -37,7 +37,7 @@
(Integer/parseInt check-number) (Integer/parseInt check-number)
nil)) nil))
(defn import-transactions [transactions yodlee-account-id->company yodlee-account-id->bank-account-id] (defn import-transactions [transactions transaction->company transaction->bank-account-id]
(doseq [transaction transactions (doseq [transaction transactions
:let [{post-date :postDate :let [{post-date :postDate
account-id :accountId account-id :accountId
@@ -56,11 +56,11 @@
(- amount) (- amount)
amount) amount)
check-number (extract-check-number transaction) check-number (extract-check-number transaction)
company-id (yodlee-account-id->company account-id) company-id (transaction->company transaction)
bank-account-id (yodlee-account-id->bank-account-id account-id) bank-account-id (transaction->bank-account-id transaction)
check-id (transaction->check-id transaction check-number company-id bank-account-id amount) check-id (transaction->check-id transaction check-number company-id bank-account-id amount)]]
]]
(println transaction)
(try (try
(transactions/upsert! (transactions/upsert!
@@ -75,7 +75,7 @@
:status status :status status
:company-id company-id :company-id company-id
:check-number check-number :check-number check-number
:bank-account-id (yodlee-account-id->bank-account-id account-id) :bank-account-id (transaction->bank-account-id transaction)
:check-id check-id :check-id check-id
}) })
(when check-id (when check-id
@@ -84,7 +84,7 @@
(catch Exception e (catch Exception e
(println e))))) (println e)))))
(defn manual-import [manual-transactions company-id bank-account-id] (defn manual-import [manual-transactions company-id]
(let [transformed-transactions (->> manual-transactions (let [transformed-transactions (->> manual-transactions
(filter #(= "posted" (:status %))) (filter #(= "posted" (:status %)))
(group-by #(select-keys % [:date :original-description :amount])) (group-by #(select-keys % [:date :original-description :amount]))
@@ -95,7 +95,7 @@
(map (map
(fn [index {:keys [date description-original high-level-category amount account-id] :as transaction}] (fn [index {:keys [date description-original high-level-category amount account-id] :as transaction}]
{:id (str date "-" description-original "-" amount "-" index) {:id (str date "-" description-original "-" amount "-" index)
:bank-account-id account-id
:date (time/unparse date "YYYY-MM-dd") :date (time/unparse date "YYYY-MM-dd")
:amount {:amount amount} :amount {:amount amount}
:description {:original description-original :description {:original description-original
@@ -105,7 +105,7 @@
transaction-group))))] transaction-group))))]
(println "importing manual transactions" transformed-transactions) (println "importing manual transactions" transformed-transactions)
(import-transactions transformed-transactions (constantly company-id) (constantly bank-account-id)))) (import-transactions transformed-transactions (constantly company-id) :bank-account-id)))
(defn do-import [] (defn do-import []
(let [transactions (client/get-transactions) (let [transactions (client/get-transactions)
@@ -117,7 +117,7 @@
:yodlee-account-id yodlee-account-id})) :yodlee-account-id yodlee-account-id}))
(:bank-accounts c))) (:bank-accounts c)))
(companies/get-all)) (companies/get-all))
yodlee-account-id->company (by :yodlee-account-id :company-id all-bank-accounts) transaction->company (comp (by :yodlee-account-id :company-id all-bank-accounts) :accountId)
yodlee-account-id->bank-account-id (by :yodlee-account-id :bank-account-id all-bank-accounts)] transaction->bank-account-id (comp (by :yodlee-account-id :bank-account-id all-bank-accounts) :accountId)]
(import-transactions transactions yodlee-account-id->company yodlee-account-id->bank-account-id))) (import-transactions transactions transaction->company transaction->bank-account-id)))