选好一个商品,点击加入购物车的时候,你要把商品的id和用户的id放入购物车表里面,如果还有其他重要的标志性信息也可以放进去,这样用户就是退出商城,下次进入的时候,系统加载也可以去检索购物车表信息,当用户结算后,可以删除购物车的这行数据,把订单号价格以及其他数据放入其他表中,这样就对于该用户清空购物车了

这样做有什么办法减轻数据库的压力?

做数据拆分,商城这种数据量大的数据库,可以按时间拆分,一个月建一张表

当用户购买商品添加到购物车时没有进行登陆,如果我们用session来保存用户的数据那么我们就要考虑到这种情况,一旦用户关闭浏览器那么之前所保存的数据就会丢失,因此采用cookie来保存数据。当用户点击结账时,对用户进行登陆验证,然后判断cookie是否存在购买商品的信息。如果存在,就将cookie中的数据保存到mysql中,然后清空cookie信息,最后结账成功。

用户添加商品到购物车的时候必须进行登陆验证,然后才能将购买的商品直接保存在数据库,但是你有没有想过用户添加到购物车的商品,他不一定购买,因此我们额外增加了维护成本,但好处是用户能在何时何地都可以看到自己的购物信息。记住方式做任何电商网站,都要从用户的角度考虑。

就是说你购物的时候你有可能不是本网站的会员,但你又想购买商品,那么我们会给你提供一个特殊的帐号(游客)具体实现思路如下:当用户购买通过cookie保存,结账的时候用户又不想注册,我们通过获取他的手机号码和地址,然后后台自动生成一个普通用户,将数据保存在数据库中并清除cookie。

订单表

orders订单表
字段名 数据类型 默认值 允许非空 自动递增 备注
id int(11) NO 是 id
uid int(11) NO 会员id号
linkman varchar(32) NO 联系人
address varchar(255) NO 地址
code char(6) NO 邮编
phone varchar(16) NO 电话
addtime int(11) NO 购买时间
total double(8,2) NO 总金额
status tinyint(4) NO 状态0:新订单1:已发货2:已收货3:无效订单

detail订单详情表
字段名 数据类型 默认值 允许非空 自动递增 备注
id int(11) NO 是 id
orderid int(11) NO 订单id号
goodsid int(11) NO 商品id号
name varchar(32) NO 商品名称
prince double(6,2) NO 单价
num int(11) NO 数量

订单号唯一

uniqid()函数

转载于:https://www.cnblogs.com/lijingwen-99/p/7009049.html

关于电商购物车与订单相关推荐

  1. 电商购物车产品在做什么?

    本文由网易跨境电商部产品经理曹宏授权发表. 作为电商交易链路的产品,很多人会问,你们都在做什么? 关于电商产品的工作分类,从流量角度我简单分为以下几类(下图),从流量的角度,交易链路在做的事情就是流量 ...

  2. Java生鲜电商平台-深入订单拆单架构与实战

    Java生鲜电商平台-深入订单拆单架构与实战 Java生鲜电商中在做拆单的需求,细思极恐,思考越深入,就会发现里面涉及的东西越来越多,要想做好订单拆单的功能,还是相当有难度, 因此总结了一下拆单功能细 ...

  3. 架构专家李伟山:电商系统之订单系统

    李伟山 读完需要 12 分钟 速读仅需 4 分钟 李伟山,目前是一家人工智能公司的技术总监,主要负责 AI 产品化的工作,开发设计中国一款云同步社交平台--号簿管家:曾参与设计开发亿万级流量的阿里虚拟 ...

  4. 电商交易之订单中心设计(一)

    背景 在电商交易中台团队工作了一段时间,越发觉自己需要学习的东西还有很多,因此想要定期整理.反思一下所见.所想,因此先从接触的订单中心开始. 订单是什么,我所理解,订单就是交易行为的记录.是用户某一刻 ...

  5. 电商系统之订单系统设计

    电商系统之订单系统 01 概述 订单系统作为电商系统的"纽带"贯穿了整个电商系统的关键流程.其他模块都是围绕订单系统进行构建的.订单系统的演变也是随着电商平台的业务变化而逐渐演变进 ...

  6. Axure电商后台业务管理系统原型模板/通用版电商后台管理系统/订单管理/营销管理/运营管理/财务管理/统计分析/库存管理/流量统计/运营管理/用户管理/秒杀促销/交易统计/活动管理/广告管理

    Axure电商后台业务管理系统原型模板/通用版电商后台管理系统/订单管理/营销管理/运营管理/财务管理/统计分析/库存管理/流量统计/运营管理/用户管理/秒杀促销/交易统计/活动管理/广告管理 作品名 ...

  7. 电商平台的订单设计流程

    一.主流电商产品的订单状态 淘宝的订单状态主要有待付款.待发货.待收货.待评价.已关闭.以及退款中. 京东的订单状态主要有待付款.待收货.已完成.已取消等. 有赞的订单状态主要有待付款.待接单.待发货 ...

  8. Redis - 在电商购物车场景下的实战分析

    1. 购物车需求背景与业务整体设计 1.1 写在前面 1.1.1 需求背景 商城购物车模拟了传统的现实世界中真实存在的购物车的功能,便于用户挑选心仪商品统一结算等.同时还能在这个点上加以创新,加一些其 ...

  9. 电商平台商品订单拆分模式分析

    当我们将购物车进行结算的时候,通常会发现订单并不一定是一个,有可能是多个.同时优惠信息也刚好分摊到每个订单上面. 订单拆分场景 1.商家拆分 电商平台(天猫.淘宝.拼多多等)有很多商家入驻,用户下单普 ...

最新文章

  1. 走近webpack(0)--正文之前的故事
  2. 递归 反转链表 c语言程序,C语言反转链表的递归算法
  3. Django restful framework之 rest接口设计规范
  4. hello world的Java代码,Java语言实现hello world代码
  5. bootstrap到底是用来做什么的(概念)
  6. python修改静态html_Python 静态页面爬虫---urllib3库实现
  7. 调试maven源代码
  8. 洛谷 P1090 合并果子
  9. MOSS2007匿名调查列表使用分页符导致的错误分析
  10. python 微信小程序签到系统_简易微信小程序签到功能
  11. 数领科技|solidworks教程:如何打包solidworks工程文件
  12. 矩阵Jordan标准型过渡矩阵的求解
  13. Leetcode 2233. Maximum Product After K Increments
  14. 双碳绿色风中,乘势而起了哪些新能源?
  15. 《抗倭英雄戚继光》 郦波
  16. thinkphp mysql 日志_基于thinkphp实现异常日志详细统计功能
  17. Unity中左右手系转换
  18. matplotlib绘制函数图像
  19. Swift Invalid bitcode version (Producer: '802.0.41.0_0' Reader: '800.0.42.1_0')
  20. 字符串(字节)长度计算

热门文章

  1. mysql报错5_mysql5.5 启动报错:ERROR!_MySQL
  2. 如何利用python在一个wen'dang'li_如何利用Python网络爬虫给自己跟朋友来一份穷游攻略!走到哪里穷到哪里的哦!...
  3. 什么情况下会导致@Async异步方法会失效?
  4. vue数组变化视图_vue数组操作不更新视图问题(示例代码)
  5. 福禄克网络电缆测试仪LinkIQ网络电缆测试仪的使用方法
  6. 事务管理基础:排它锁和共享锁相关知识笔记
  7. 系统设计知识:系统设计的基本原理介绍
  8. linux 本地yum 恢复,Linux_RHEL系统恢复安装光盘中的yum更新源的方法,安装光盘本地YUM更新源挂载安 - phpStudy...
  9. npz文件转为npy_numpy的文件存储 .npy .npz 文件
  10. testbench实例 vhdl_学写 Testbench --- 结构篇VHDL实例