购物车储备产品
问题描述:
答
我太需要这个答案,用asp.net和MS SQL。问题是,您需要标记SQL记录以避免其他人同时预订该项目,但是如果第一个用户关闭浏览器,则无法在sql中保留项目...
答
您可以创建一个定期运行的cron作业,并检查是否有任何未及时付款的预留项目(例如,在预订后的24小时内)。
答
对我们来说很好的清洁解决方案是使用“内部订单”类型的系统。产品表将包含产品细节以及现有库存。当用户保留产品时,我们将其视为内部订单,因此在订单表中,您将拥有用户保留的项目以及保留的项目。然后,您可以根据用户拥有储备的单位数来减少产品表中的库存数量。
然后,您可以在每晚的基础上检查尚未转换为发票的内部订单,并随后将其从数据库中删除,从而根据保留的单位数量增加产品表中的库存数量开具发票。
但是,如果使用完成购买,该项目只是转换为发票。在某些情况下,我们使用同一张表作为发票和订单,并使用简单字段指定记录是发票还是内部订单。
设置另一个时间,lastReserveTime,比较当前的时间,如果时间跨度> HTTP会话超时,用户已经离开,该产品就可以被他人 – Dapeng 2010-01-15 10:49:05
好家伙保留。好一个! – David 2010-01-15 10:50:27