transactions find bank accounts when manual import.
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user