规格的编辑以及组合筛选开发说明
1 SKU的维护需求
参考有赞
用户名:18618487753
密码:wangfeng
2 开发说明
2.1 交付数据格式:
如上的效果要形成的skuList数组
[
{
sku:{
{
spec\_name:"颜色",spec\_value\_name:"红色",spec\_value\_id:1
},
{
spec\_name:"尺寸",spec\_value\_name:"S",spec\_value\_id:2
}
},
price:100,
quantity:10,
cost:50
},
{
sku:{
{
spec\_name:"颜色",spec\_value\_name:"红色",spec\_value\_id:1
},
{
spec\_name:"尺寸",spec\_value\_name:"L",spec\_value\_id:3
}
},
price:100,
quantity:10,
cost:50
},
{
sku:{
{
spec\_name:"颜色",spec\_value\_name:"绿色",spec\_value\_id:1
},
{
spec\_name:"尺寸",spec\_value\_name:"S",spec\_value\_id:2
}
},
price:100,
quantity:10,
cost:50
}
...
]
2.2 数据源
组合上述sku的数据源:
[
{
spec_name:"颜色",
spec_value_list:
[
{
spec_value_name:"绿色" , spec_value_id:1
},
{
spec_value_name:"红色" , spec_value_id:2
}
]
},
{
spec_name:"尺寸",
spec_value_list:
[
{
spec_value_name:"S" , spec_value_id:3
},
{
spec_value_name:"L" , spec_value_id:4
}
]
}
]
即由下面的操作结果形成的:
组合算法参考:
/shoptnt-web/src/main/webapp/themes/b2b2cv4/new_store/js/pages/goods/spec-v2.js
中的
也就是由源,组合成目标格式的json
2.2.1 规格列表来源:
2.2.1.1 规格列表获取API
get:/goods-info/seller/category/1spec.do
其中1是商品分类的id
返回值:
[
{
spec_id:1,
spec_name:"颜色"
},
{
spec_id:2,
spec_name:"尺寸"
}
...
]
2.2.1.2 规格项的获取
get:/goods-info/seller/spec/1/spec-values.do
其中1是规格的id
返回值:
[
{
spec_value_id:1,
spec_value_name:"颜色"
},
{
spec_value _id:2,
spec_value _name:"尺寸"
}
...
]
3 sku的展示和选择
4 开发说明
4.1 某商品可选择规格获取API
返回数据格式:
[
{
spec_name:"颜色",
spec_value_list:
[
{
spec_value_name:"绿色" , spec_value_id:1
},
{
spec_value_name:"红色" , spec_value_id:2
}
]
},
{
spec_name:"尺寸",
spec_value_list:
[
{
spec_value_name:"S" , spec_value_id:3
},
{
spec_value_name:"L" , spec_value_id:4
}
]
}
]
即用上述的数据形成的这个界面:
4.2 某商品的sku获取API
get:/goods-info/goods/sku/1.do
返回的数据结构:
[
{
sku:{
{
spec_name:"颜色",spec_value_name:"红色",spec_value_id:1
},
{
spec_name:"尺寸", spec_value_name:"S", spec_value_id:2
}
},
price:100,
quantity:10,
sku_id:1
},
{
sku:{
{
spec_name:"颜色", spec_value_name:"红色", spec_value_id:1
},
{
spec_name:"尺寸", spec_value_name:"L", spec_value_id:3
}
},
price:100,
quantity:10 ,
sku_id:2
},
{
sku:{
{
spec_name:"颜色", spec_value_name:"绿色", spec_value_id:1
},
{
spec_name:"尺寸", spec_value_name:"S", spec_value_id:2
}
},
price:100,
quantity:10 ,
sku_id:3
}
...
]
用户点击选择spec(规格),程序通过运算来确定sku,这个过程中要根据库存(quantity)来确定某些(或个)的规格是否可选,当所有规格都选择完成时,要得到用户最终选择的sku。
4.3 其它
一、算法参考:
http://blog.csdn.net/liu_jun_y/article/details/53066490
http://www.cnblogs.com/rubylouvre/p/3422004.html
或根据下面的关键词在网上找找资料
SKU组合查询算法
二、json模拟:
上述api都在开发中,可以在statics目录下建立.json文件来模拟数据。