一斗遏、后臺(tái)數(shù)據(jù)庫設(shè)計(jì)
sku表
sku表通過product_id來綁定商品坞笙,具體每個(gè)屬性組合的具體價(jià)格以及庫存也通過此表定義,商品表不做定義碎赢。sku_code為sku編碼低剔,有需求的可以加,例如商品二維碼條形碼等肮塞。具體參數(shù)以pro_parm字段來定義襟齿,并以json格式存儲(chǔ)(這里是各種組合的可能性,也就是笛卡爾積)枕赵。數(shù)據(jù)示例看下圖猜欺。
sku表示例數(shù)據(jù)
二、后臺(tái)相關(guān)接口
前端通過選取指定商品屬性拷窜,獲取具體sku
屬性1
屬性2
操作訂單的接口代碼較多开皿,這里不寫钓试,這里只貼一下,具體屬性匹配的接口副瀑,入?yún)⑹巧唐穒d和json格式的商品屬性弓熏,返回給前端sku表的信息。
三糠睡、安卓端相關(guān)設(shè)計(jì)
1挽鞠、新增商品sku信息
如下圖,設(shè)置商品的具體屬性(圖:規(guī)格新增)狈孔,然后根據(jù)具體屬性計(jì)算屬性的笛卡爾積(解釋:笛卡爾積就是所說的排列組合信认,比如有兩個(gè)規(guī)格顏色和尺碼,每個(gè)規(guī)格下又有兩種可能性均抽,那就是2*2=4種組合嫁赏,我代碼中使用遞歸實(shí)現(xiàn)的笛卡爾積計(jì)算),進(jìn)而根據(jù)各種可能性填寫具體金額和庫存(圖:具體屬性匹配組合)油挥。
圖:規(guī)格新增
圖:具體屬性匹配組合
2潦蝇、商品界面sku信息 展示
sku展示數(shù)據(jù)
圖在最上面(屬性1、屬性2)這里不再貼深寥。請(qǐng)求后臺(tái)商品詳情接口攘乒,后臺(tái)返回類似上圖格式的sku數(shù)據(jù),我們便可以直接加載到rv或者直接add到LinearLayout中惋鹅。下面是主要代碼
取數(shù)據(jù)
計(jì)算數(shù)據(jù)