PHP-电子商务系统中如何设计分库存商品下单?

WordPress 开发 WordPress 开发 主题:1098 回复:2322

PHP-电子商务系统中如何设计分库存商品下单?

虐人心 发布于 2017-03-02 字数 340 浏览 1055 回复 4

和凡客等类似,每个商品可能在多个库存中保存。用户下单需要自动去匹配离用户近的且有库存的商品。比如用户在北京下单(或者说收货地址写的北京),如果北京库存没有该商品,应优先从天津而不是南京调取库存。

请问,由于涉及到查询和更新操作会比较多,如何设计(系统架构包括数据库设计)才能更加高效?另外,库存地点的选取有没有比较优化的方法?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(4

灵芸 2017-09-29 4 楼

具体电商是怎么实现的不太清楚,我只能说说的想法:
方法一:
1.首先库表设计可以按地区进行分表,比如北京->[朝阳区,海淀区,丰台区,东城区...]
2.将各个仓库按照地区位置存入相应的表中,同时存入改仓库的南纬北纬坐标,X,Y坐标
3.按照用户的注册地址或者IP定位出用户所在的点,首先可以或得大概位置,比如北京市朝阳区
4.这样就可以定位到朝阳区下所有的仓库,然后筛选出有库存的仓库
5.既然知道的南纬北纬坐标,那么就可以从筛选结果中算出直线的距离,距离最短者为最近仓库
(算法很简单,混过初中的人应该就能算出来)
方法二:
另外也可以以用户的位置为圆心画个圆,然后查分部在园中间的仓库点,里圆心最近的,就是最近仓库
上面只是我自己的想法,不知道别人有没有更好的思路

夜无邪 2017-07-25 3 楼

其实库存地点的数量不至于很多,可以每个库存地点分配一部分到货地址,这样只要这个库存地有货,就从这里发出,没有就从附近的一个地点发出。

虐人心 2017-06-06 2 楼

1、最简单的办法是手工拆分订单,让人去判断,这样会有与客户的交流;
2、仓库设置服务范围以及相邻仓库,可以一个或者几个,系统根据客户收货地址匹配发货仓库,如果缺货,则使用相邻仓库。
3、实在要精确或者无限次匹配下去,就试用仓库地址以及发货地址,也就是所有三级地区的经纬度(x,y)来进行距离计算吧。

浮生未歇 2017-05-03 1 楼

我觉得这样会增加服务器的运算,在添加仓库的时候,可以添加几个相邻的备用仓库,在这几个仓库没有库存的情况下,再去考虑自动判断的仓库的问题。