Advertisement
Guest User

Untitled

a guest
Jun 20th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   (let [assign-contactor-id (fn [order]
  2.                               (if (get-in order [:contractor-ids :wfirma])
  3.                                 order
  4.                                 (as-> {:ids (into #{} (:contractor-ids order))} $
  5.                                      (get-contractors auth $)
  6.                                       (get-in $ [0 :ids :wfirma])
  7.                                      (assoc-in order [:contractor-ids :wfirma] $))))
  8.         assign-products-id (fn [order]
  9.                              (->> (fn [products]
  10. ;; do you see here place for transducer?
  11.                                     (map #(if (get-in % [:ids :wfirma])
  12.                                             %
  13.                                             (as-> (get-products auth {:codes (hash-set (:code %))}) $
  14.                                                   (get-in $ [0 :ids :wfirma])
  15.                                                   (assoc-in % [:ids :wfirma] $)))
  16.                                          products))
  17.                                   (update order :products)))
  18.         extended-order (-> order
  19.                            (assign-contactor-id)
  20.                            (assign-products-id))
  21.         ids (->> (dissoc (:ids order) :wfirma)
  22.                  (clojure.string/join " "))
  23.         payment-method #(case %
  24.                           :cod "cod"
  25.                           :prepayment "transfer")]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement