B端功能分析-導(dǎo)入篇
最近做了一個(gè)海外打單系統(tǒng),很多頁面都涉及到導(dǎo)入導(dǎo)出功能。因?yàn)閷?dǎo)入導(dǎo)出操作對(duì)于后端系統(tǒng)來說,算作一個(gè)非常通用的功能。所以做完就想總結(jié)一下,后續(xù)可以直接拿來套用。
一、導(dǎo)入流程
導(dǎo)入流程簡(jiǎn)單來說涵蓋以下四個(gè)步驟:
- 上傳文件:依據(jù)預(yù)先設(shè)定的導(dǎo)入模板,填寫好數(shù)據(jù)后上傳。
- 文件解析:對(duì)文件格式、文件大小、文件數(shù)據(jù)量等進(jìn)行解析。
- 字段規(guī)范和業(yè)務(wù)邏輯校驗(yàn):字段信息是否滿足定義的字段規(guī)范或者影響業(yè)務(wù)邏輯。
- 導(dǎo)入成功,數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中。
二、流程詳解
1. 上傳文件
根據(jù)業(yè)務(wù)場(chǎng)景,需先定義一份導(dǎo)入模板。導(dǎo)入模板類型包括單sheet形式導(dǎo)入和多sheet形式導(dǎo)入。
1.單sheet形式導(dǎo)入:單sheet形式是最常見的導(dǎo)入模板,一般需要對(duì)導(dǎo)入的字段進(jìn)行說明。一般包括:
①必填項(xiàng):是否必填。
②字段格式:文本框或者下拉框選項(xiàng)。
③字段規(guī)范:例如僅允許輸入阿拉伯?dāng)?shù)字、最多允許多少個(gè)字符、輸入多項(xiàng)時(shí)用英文分號(hào)“;”分開。
④字段間的業(yè)務(wù)邏輯關(guān)系或者導(dǎo)入字段對(duì)業(yè)務(wù)影響:例如子訂單號(hào)隸屬在主訂單下、開始時(shí)間不能大于結(jié)束時(shí)間、最低收費(fèi)不能大于最高收費(fèi)。之前做過一個(gè)批量核銷虛擬商品的需求,針對(duì)子訂單是贈(zèng)品的時(shí)候,贈(zèng)品不能先優(yōu)于主訂單核銷。
下圖截取了某競(jìng)品的商品導(dǎo)入模板,除了對(duì)各字段的詳細(xì)解釋,還進(jìn)行了示例和規(guī)則說明。
2.多sheet形式導(dǎo)入:多sheet導(dǎo)入的場(chǎng)景一般較少,除了要滿足單sheet導(dǎo)入時(shí)的字段規(guī)范外,還需考慮各sheet欄之間的邏輯關(guān)系。例如這次打單系統(tǒng)需針對(duì)不同承運(yùn)商偏遠(yuǎn)郵編地址進(jìn)行維護(hù),偏遠(yuǎn)郵編類型包括偏遠(yuǎn)郵編、超偏遠(yuǎn)郵編、極偏遠(yuǎn)郵編、Alaska郵編、Hawaii郵編。導(dǎo)入時(shí)不同偏遠(yuǎn)類型下存在了同一條郵編,這時(shí)就需要考慮怎么處理。
根據(jù)模板規(guī)范填寫好數(shù)據(jù)后,就可以上傳文件了。
2. 文件解析
上傳文件后,需要的對(duì)文件進(jìn)行解析。不滿足文件格式要求需報(bào)錯(cuò)提示。
①文件格式解析,例如僅支持上傳格式為.xls和.xlsx的excel文件。
②文件大小解析,例如限制大小為20M的文件。
③文件數(shù)據(jù)量解析,例如限制數(shù)據(jù)上限為 50000行、500 列。
④文件模板表頭/sheet欄解析,文件的表頭和sheet名被修改,系統(tǒng)解析錯(cuò)誤。
⑤文件無法解析,例如有些文件加密或者文件損壞,系統(tǒng)無法解析。
3. 字段規(guī)范和業(yè)務(wù)邏輯校驗(yàn)
文件格式解析無誤后,接著需對(duì)各字段信息判斷是否滿足模板定義的字段規(guī)范和業(yè)務(wù)邏輯。此時(shí)就需要考慮“全部成功”或者“部分成功”的邏輯。例如導(dǎo)入100條數(shù)據(jù)中,有1條數(shù)據(jù)導(dǎo)入錯(cuò)誤怎么處理?是整個(gè)文件導(dǎo)入失敗還是部分成功呢。站在用戶角度,“部分成功”體驗(yàn)會(huì)好很多,同時(shí)支持下載查看導(dǎo)入失敗的數(shù)據(jù)。
4. 導(dǎo)入成功
滿足上述要求后,整個(gè)文件數(shù)據(jù)可以入庫了。
三、導(dǎo)入記錄
針對(duì)業(yè)務(wù)需要溯源的場(chǎng)景,每一次導(dǎo)入都需要存儲(chǔ)一份導(dǎo)入日志。包括操作人、操作時(shí)間以及導(dǎo)入內(nèi)容,這樣在后續(xù)需要追溯的時(shí)候就能快速追根溯源。
四、總結(jié)
另外除了上述導(dǎo)入流程細(xì)節(jié)外,還要考慮是否是全量導(dǎo)入、同步導(dǎo)入或者異步導(dǎo)入、導(dǎo)入模板表頭是按照表頭名稱還是表頭坐標(biāo)來匹配。
本文由 @裝甜妹好難 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)
- 目前還沒評(píng)論,等你發(fā)揮!