电商项⽬介绍
⽬录
1.⾃我介绍
⾯试官你好,我叫xx,毕业于xxxxx,我从事java程序开发已经四年了,下⾯我具体说⼀下我的项⽬经验.
从2017年⾄今,我从事java编程⼯作已经四年了,前⾯两年我在长沙微猴科技,2019年来到深圳,在深圳和合联众在微猴做过两个项⽬,⼀个汽车站管理系统,⼀个⾦⼒飞⼈⼒资源管理系统,在和合联众做了⼀个课程学习管理平台,和优乐淘购物平台
2.项⽬介绍
我从去年10⽉开始,⼀直参与这个商城系统的开发,我们这个系统是b2c模式的电商系统,我简单介绍⼀下我们这个系统的架构,项⽬是⼀个分布式架构项⽬,后台部分⽤的是springboot,springsvc,mybatis,权限验证是c罗,前端⽤的是vue+element ui,总共是7个⼈做这个项⽬.
购物车与登录模块/订单模块/⽤户模块/等模块交互
购物车考虑的点很多,⽐如
*3.1*
我们规定购物车必须要先登录才能使⽤
经过⼀个,根据token判断⽤户是否登录,如果登录判断Token是否过期,未登录以及过期的提⽰登陆
*3.2*
账户退出之后,购物车内容必须保存起来(mongoDB)---(直接使⽤mongo命令连接数据库---创建时,直接使⽤use [database]命令即可--查看当前数据库:最简单的命令就是db.stats()--直接通过db.xxx.insert(),db.xxx.save()命令来保存数据)
mongodb简介: MongoDB是⼀个介于和⾮关系数据库之间的产品,是⾮关系数据库当中功能最丰富,最像关系数据库的。它⽀持的数据结构⾮常松散,是类似的格式,因此可以存储⽐较复杂的数据类型。Mongo最⼤的特点是它⽀持的查询语⾔⾮常强⼤,其语法有点类似于⾯向对象的查询语⾔,⼏乎可以实现类似关系数据库单表查询的绝⼤部分功能,⽽且还⽀持对数据建⽴。
*3.3*
购物车页⾯要能够显⽰商品的详细信息(商品名称、链接、数量、单价、总价)
商品分spu表和sku表,分别代表公共信息和规格信息,详细信息数据可以从sku⾥⾯获取
*3.4*
多条商品能够以列表显⽰;
⽤hash数据结构保存,购物车 ⽤每个⽤户⼀个⼤key,⼩key1保存商品名字+数量,value1保存数值,⼩key2保存商品名+info,vlue2保存json 然后,抽出各个⽤户中的⼩key2,存在⼀个公共的⼤key⾥⾯,保存的时候⽤hsetnx指令(不存在就从数据库中拿过去保存,有值就什么都不做)
*3.5*
修改删除功能 : 能够调整商品的数量//移除购物车中的商品;
*3.6*
购物车能够添加50件不同的商品;
*3.7*
如果使⽤优惠券,结算价格相应调整;
*3.8*
购物车中的商品结算后,从购物车中清除;
*3.9*秒杀汽车
限购商品数量不能超过限购数量,购买完成后不能再次添加购物车,不限购的不能超过库存;
4.订单模块介绍
交互的模块:登录模块/商品模块/⽤户模块(加减积分)/⽀付模块
订单模块维度: 状态机维度(订单状态/⽀付状态/商品状态/商品⽀付状态/)----⽤户信息-----下单时间---⽀付时间---⽀付细节主订单(OrderHeader)的状态枚举有:
处理中/  成功/  失败/  订单取消/  订单部分取消/  订单完成/  订单关闭
待⽀付下单失败
待⽀付待确认
待⽀付已确认
待⽀付确认失败(拒单)
待⽀付确认失败(超时)
待⽀付已取消
已⽀付待下单