iwebshop商城系统在商品(货品)库存量上的设计缺点

本文探讨了iWebShop商城系统在商品库存管理上的不足,指出系统在库存更新时缺乏有效的检查和控制机制,可能导致库存异常。在用户购物车、下单过程中,系统未充分考虑库存实时变化的场景,存在库存瞬间被清零的风险,这对实际运营的商城构成严重隐患。建议对库存操作流程进行改进,确保库存管理的准确性和安全性。
公司要做一个商城,选用了iwebshop这套开源PHP商城系统,在检查其对商品库存量的操作时,发现iwebshop并没有对库存量操作做设计。
在需要做库存操作时(添加,减少),只是简单地用update语句set一下商品或货品表的库存字段。


当用户把商品加入购物车时,会检查一下商品的库存量,但不会修改库存量,这一步没什么问题,相关的代码在:
/classes/cart.php # getUpdateCartData() 中。


当用户确认订单后,即到 simple/cart3 这个控制器流程时,会修改库存量(减去用户购买的数量)。
但在修改库存量时却没有检查库存量:
先把一个商品加入购物车,然后到后台把对应的库存量设为0,再到购物车中提交订量,会提交成功,并且对应的库存量为0(没有变成负数)。
对库存量做操作的相关代码在:/controllers/block.php # updateStore() 中,在此方法中用PHP代码进行了一下判断:当修改后的库存量小于0时直接设为0,所以库存量没有变成负数。


iwebshop原生的库存量处理流程大概就是上面这些,在开始支付,成功支付,发货等触发点上都没有库存量的相关判断和操作。
所以,iwebshop的库存量只是一个玩具,看一看就是了,没什么实际作用。


贴一下库存量相关的表结构:
goods表store_nums字段,goods表用于保存商品,store_nums字段保存一个商品总库存量。
products表store_nums字段,products表用于保存货品,store_nums字段保存一个货品的库存量,商品与货品的区别是:一个商品的一个款式就是一个货品,比如一款衣服是一个商品,这款衣服的红色XL码是一个货品。
iwebshop的库存操作就是修改这两个表的store_nums字段。并且,当一个商品只有一个款式时,库存量保存在goods表中(估计products表中没记录,但没确认),有多个款式时各款式的库存量则保存在products表中,goods表的库存量则是所有款式的库存量总和。<
1、iWebSI平台支持 iWebSI的web层、db层负载均衡,基于内存的分布式缓存系统、分布式文件系统、分布式数据存储系统可以支持站点拥有服务于百万甚至千万级庞大用户群的能力 2、编译型模板引擎 这是一款由Jooyea技术团队自主研发的编译型引擎,可以以很少的系统资源来获得最大的运行效率,与传统解析型模板相比速度提高2-3倍 3、缓存技术 iWebShop领先的高速文本缓存极大减轻数据库压力,此外当缓存文件达到一定数量时,iwebcache缓存存储引擎会还将文件进行有序目录散列,提高缓存读取效率 4、良好的兼容扩展 结合iWebExchanger,iWebShop不仅可以与iWebAX家族产品组合建站,也可以与其他建站程序方便整合。 5、方便二次开发 iWebShop采用php5的mvc程序架构,代码结构清晰,注释明确,易于理解,并提供完整的开发文档,便于二次开发和学习交流 6、灵活插件机制 iWebShop提供非常灵活易用的插件机制,并支持热插拔,用户不仅能从第三方获取资源,利用开放的API接口还可自行开发插件 7、语言包机制 iWebShop将页面文本语言与系统分离,只需上传语言包即可轻松实现不同语种的“翻译”,结构式自动拼接设计也丝毫不会影响系统效率 8、一键式操作 通过网站后台,iWebShop可以进行一键升级、一键换模板皮肤、一键安装插件等便捷功能。 9、防恶意软件 iWebShop使用开放的底层安全规范架构,由于底层架构的安全规范设计,能够有效地保护您的网站和网络用户免受恶意软件的侵害,确保网络用户数据免遭破坏 10、附加组件的安全机制 iWebShop事先设定了应用组件、皮肤的编写安全规范,在该安全规范的约束下,应用组件和皮肤您可以放心使用,不会对网站后台数据以及前台社会化网络用户造成任何损失
iWebShop基于iweb SI框架开发,在获得iweb SI技术平台库支持的条件下,iWebShop可以轻松满足用户量级百万至千万级的大型电子商务网站的性能要求。站点的集群与分布式技术(分布式计算与存储/高可用性/负载均衡)被屏蔽在SI平台之内,基于iWebShop并且按照SI平台库扩展规范开发的新增功能模块,也将同时获得这种超级计算与处理的能力。作为开源的LAMP电子商务系统,iWebShop提供了一套轻量级的支持库,这使iWebShop可以轻松部署在虚拟主机上或者单台服务器上。 iWebShop 2.7.14090000 优化及bug修复: 1,多商家功能模块开发完成,b2c2c的全新模式 2,升级修改了内核 3,增加了多供应商模块 4,增加了威信支付接口 5,修正了session_id失效后台菜单显示问题 6,增加短信接口 7,广告位可以动态绑定商品分类 8,更换了后台统计图标采用纯js模式 iWebShop有以下特点: 1.易于集成 iWebShop设计灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。 2.性能与容量扩展 SI库管理的集群支持节点热插拔,当系统需要增加集群中的Web服务节点或者数据存储节点时只需要更改SI库的配置文件,无须编写任何代码就可以轻松管理新增流量和数据。 3.多领域的应用 其面向企业级应用,可处理多方面的需求,建站者可以用iWebShop轻松建设一个多种用途和多领域的电子商务网站。 4.国际化支持,UTF-8编码,多种语言包支持。 5.UI兼容ie6、ie7、ie8、ff等主流浏览器。 ·iWebShop 2.7.14090000 ·TinyShop电子商务系统 1.0.3 ·PrestaShop 1.6.0.9 ·夏日php电子商务系统 0.2 ·CuuMall免费网上商城系统 2.3 ·炫彩电子商务平台 1.5.5.0523 ·PHPSHE商城系统 1.2 ·X-Cart 5.0.13 ·TomatoCart 1.1.8.6.1 ·新秀B2C商城系统 1.0.3
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值