Skip to content

andyhorng/importer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

外部訂單匯入

曾經沒寫好的程式,試看看重構

需求

會有多家廠商提供訂單的 csv ,要將其匯入到自有的資料庫。每家的廠商提供的 csv 都相差非常多。目標是做一個小框架,讓新廠商的加入很簡單,程式也必須好讀好維護。

舊版

很多重複的程式碼,多一個外部來源就得複製既有的程式碼做修改,共同的部分抽取的很爛。(已經無法翻出來做範例了)

新版

  • 每家廠商是一個 module ,module 須定義自有資料庫需要的欄位
  • 欄位的定義是函數

流程

  1. 是先利用一個 key 的函數來分群(訂單的資料結構是巢狀的, csv 都是打平過的,需要還原成巢狀)
  2. 對每一個訂單的資料,呼叫定義好的函數來做欄位的轉換(這樣的彈性很大,有些廠商是會把兩個欄位放在同一個欄位,或者相反)

範例請看 unit test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages