Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (let [assign-contactor-id (fn [order]
- (if (get-in order [:contractor-ids :wfirma])
- order
- (as-> {:ids (into #{} (:contractor-ids order))} $
- (get-contractors auth $)
- (get-in $ [0 :ids :wfirma])
- (assoc-in order [:contractor-ids :wfirma] $))))
- assign-products-id (fn [order]
- (->> (fn [products]
- ;; do you see here place for transducer?
- (map #(if (get-in % [:ids :wfirma])
- %
- (as-> (get-products auth {:codes (hash-set (:code %))}) $
- (get-in $ [0 :ids :wfirma])
- (assoc-in % [:ids :wfirma] $)))
- products))
- (update order :products)))
- extended-order (-> order
- (assign-contactor-id)
- (assign-products-id))
- ids (->> (dissoc (:ids order) :wfirma)
- (clojure.string/join " "))
- payment-method #(case %
- :cod "cod"
- :prepayment "transfer")]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement