购物车储备产品

问题描述:

继续从这个问题here,当用户去付款时,如何预订购物车中的产品?如果用户放弃购买并且不回到您的网站,如果网页未被重新加载,您将如何取消该产品的保留。对于这个问题,你如何保留这个产品呢?我使用php mysql创建购物车并使用paypal网络支付标准。 感谢购物车储备产品

我太需要这个答案,用asp.net和MS SQL。问题是,您需要标记SQL记录以避免其他人同时预订该项目,但是如果第一个用户关闭浏览器,则无法在sql中保留项目...

+1

设置另一个时间,lastReserveTime,比较当前的时间,如果时间跨度> HTTP会话超时,用户已经离开,该产品就可以被他人 – Dapeng 2010-01-15 10:49:05

+0

好家伙保留。好一个! – David 2010-01-15 10:50:27

您可以创建一个定期运行的cron作业,并检查是否有任何未及时付款的预留项目(例如,在预订后的24小时内)。

对我们来说很好的清洁解决方案是使用“内部订单”类型的系统。产品表将包含产品细节以及现有库存。当用户保留产品时,我们将其视为内部订单,因此在订单表中,您将拥有用户保留的项目以及保留的项目。然后,您可以根据用户拥有储备的单位数来减少产品表中的库存数量。

然后,您可以在每晚的基础上检查尚未转换为发票的内部订单,并随后将其从数据库中删除,从而根据保留的单位数量增加产品表中的库存数量开具发票。

但是,如果使用完成购买,该项目只是转换为发票。在某些情况下,我们使用同一张表作为发票和订单,并使用简单字段指定记录是发票还是内部订单。