目录
回复讨论(解决方案)

购物车

Jun 23, 2016 pm 02:03 PM
购物车

购物车问题:某商品有最后一个,几个用户同时发现了,同一时刻下单,怎样保证不被多次购买?


回复讨论(解决方案)

同时精确到0.1毫秒,几率不高。

可以参考12306呀,有票的时候是可以让你点击进去,既是“加入购物车”,但是等付款的时候呢,提示“余票不足”,当然他的排队功能就没必要了。

不应该是付款的时候,应该是生成订单的时候,订单相当于合同

排队,事务锁定

做事务处理,如果是mysql请用innodb

下单的时候要检查库中存货,并非简单的购物车加一
虽然订单相当于合同,单订单也可以被乙方撕毁(就是不结账,你有什么办法?)

下单的时候要检查库中存货,并非简单的购物车加一
虽然订单相当于合同,单订单也可以被乙方撕毁(就是不结账,你有什么办法?)

唠叨说的情况现实中确实存在的,这个话题与技术无关,但可以谈谈自己的感受??
在淘宝购物我就经常遇到下单后才被卖方告知存货不足,往往是无奈另选或者撤单,这是国人常见的做法??协商为主,就算闹到法律层面,买方也没什么好处,没有订金就更是如此
但同样的事在洋人那里就行不通了,下单后无法供货,到法律层面卖方是要吃亏的,例如数倍定金赔付

我的看法是,虽然在国内很难追究单方面撕毁合同(买卖任意一方都是如此),但不应把自己置于理亏的局面
至于对恶意下单(例如去年的淘宝事件)是要从其他方面解决

所以要在 下单的时候检查库中存货,而且商品还需要有一个“已定货”属性
这样吃亏的是商家:订货的人不结账,需要的人买不到而转向别家

就像 12306 一样,说是无票了,列车空座率还很高

订货的人不结账,可以设定时间就和12306上面一样,或者提前短信或邮件提醒,然后管理员在后台,撤销该订单,这样做在订货人点击确认下单给予明确的提示。
数据库中要有一个临时表,存储已下的订单而未确认结账的产品信息,订货人确认下单的时候,首先判断该产品已售数+临时表中该产品数+该订货人选填数之和是不是大于该产品仓库总数,如果小于等于,订货人下单就往该临时表中添加记录,下单成功,做提示。该订单结账后删除临时表中该产品记录即可。

还有 结账后 要把临时表中的记录删除 减掉库存改产品数,上面的就不用设定产品已售数啦,直接判断临时表中该产品数+该订货人选填该产品数之和是否大于该产品剩余仓库总数。大致实现原理是这样的,很简单,你可以依照这个原理变换多个实现思路也好。另外做到给买家明确而友好的提示也很重要。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1280
29
C# 教程
1257
24
PHP实现购物车功能 PHP实现购物车功能 Jun 22, 2023 am 09:00 AM

在我们日常生活中,网上购物已经成为非常普遍的消费方式,而购物车功能也是网上购物的重要组成部分之一。那么,本文将为大家介绍如何利用PHP语言来实现购物车的相关功能。一、技术背景购物车是一种在线购物网站常见的功能。当用户在一个网站上浏览一些商品,他们可以将这些商品添加到一个虚拟的购物车中,以便于在后续的结账过程中选择和管理。购物车通常包括以下基本功能:添加商品:

Java中如何实现一个简单的购物车功能? Java中如何实现一个简单的购物车功能? Nov 02, 2023 am 11:56 AM

Java中如何实现一个简单的购物车功能?购物车是在线商店的一个重要功能,它允许用户将想要购买的商品添加到购物车中,并对商品进行管理。在Java中,我们可以通过使用面向对象的方式来实现一个简单的购物车功能。首先,我们需要定义一个商品类。该类包含商品的名称、价格和数量等属性,以及相应的Getter和Setter方法。例如:publicclassProduct

实战教程:PHP和MySQL实现购物车功能详解 实战教程:PHP和MySQL实现购物车功能详解 Mar 15, 2024 pm 12:27 PM

实战教程:PHP和MySQL实现购物车功能详解购物车功能是网站开发中常见的功能之一,通过购物车用户可以方便地将想要购买的商品加入购物车,然后进行结算和支付。在这篇文章中,我们将详细介绍如何使用PHP和MySQL实现一个简单的购物车功能,并提供具体的代码示例。创建数据库和数据表首先需要在MySQL数据库中创建一个用来存储商品信息的数据表。以下是一个简单的数据表

如何使用PHP实现一个简单的购物车功能 如何使用PHP实现一个简单的购物车功能 Sep 24, 2023 am 09:13 AM

如何使用PHP实现一个简单的购物车功能购物车功能是电子商务网站中必不可少的一部分,它允许用户将感兴趣的商品添加到购物车中,随后可以进行结算或继续浏览和添加商品。本文将介绍如何使用PHP实现一个简单的购物车功能,并提供具体的代码示例。创建数据库和表格首先,我们需要创建一个数据库和一个用于存储购物车数据的表。CREATEDATABASEshopping_ca

如何利用Redis和JavaScript实现购物车功能 如何利用Redis和JavaScript实现购物车功能 Sep 21, 2023 pm 01:27 PM

如何利用Redis和JavaScript实现购物车功能购物车是电商网站中非常常见的功能之一,它允许用户将感兴趣的商品添加到购物车中,方便用户随时查看和管理购买的商品。在本文中,我们将介绍如何利用Redis和JavaScript实现购物车功能,并提供具体的代码示例。一、准备工作在开始之前,我们需要确保已经安装并配置好Redis,可以通过官方网站[https:/

如何在MySQL中设计商城的购物车表结构? 如何在MySQL中设计商城的购物车表结构? Oct 30, 2023 pm 02:12 PM

如何在MySQL中设计商城的购物车表结构?随着电子商务的快速发展,购物车已成为在线商城的重要组成部分。购物车用于保存用户选购的商品和相关信息,为用户提供方便快捷的购物体验。在MySQL中设计一个合理的购物车表结构,可以帮助开发人员有效存储和管理购物车数据。本文将介绍如何在MySQL中设计商城的购物车表结构,以及提供一些具体的代码示例。首先,购物车表应该包含以

PHP商城开发技巧:设计购物车和订单同步功能 PHP商城开发技巧:设计购物车和订单同步功能 Jul 30, 2023 pm 07:22 PM

PHP商城开发技巧:设计购物车和订单同步功能在一个商城网站中,购物车和订单是不可或缺的功能。购物车用于用户选购商品并保存到临时购物车中,而订单则是用户确认购买商品后生成的记录。为了提升用户体验和减少错误,设计一个购物车和订单同步的功能非常重要。一、购物车和订单的概念购物车通常是一个临时的容器,用于保存用户选购的商品。用户可以将商品加入购物车,方便浏览和管理。

如何实现购物车数量提醒功能的Java开关买菜系统 如何实现购物车数量提醒功能的Java开关买菜系统 Nov 04, 2023 am 09:03 AM

如何实现购物车数量提醒功能的Java开关买菜系统随着互联网的迅速发展,电子商务越来越普及。越来越多的人开始通过手机或电脑网页购物,享受便利、高效的购物体验。在购物过程中,购物车是一个必不可少的工具,它方便用户把自己喜欢的商品放入一个临时的“购物篮”中,待确认下单时再进行结算。然而,在网购的过程中,有时候用户会忘记购物车中已经有几个商品了。所以在设计一个购物车

See all articles