购物车的业务理解

在开发购物车之前,首先要把几个关键类之间的关系理清楚

步骤 1 : 类图

  1. Product 产品
  2. User 用户
  3. Order 订单
  4. OrderItem 订单项
    一条记录就是一个订单项,对应一种商品,以及购买数量。

购物车的业务理解_第1张图片

步骤 2 : 类关系图

  1. 产品和订单项的关系是 一对多
    一种产品,对应多条订单项。
    一条订单项,对应一种产品
  2. 订单项和订单的关系 多对一
    一个订单里有多条订单项
    一个订单项,只会出现在一个订单里
  3. 订单和用户的关系: 多对一
    一个订单,只能属于一个用户
    一个用户,可以下多个订单
    购物车的业务理解_第2张图片
    那购物车分为几个模块呢?
    通常购物车至少有四个模块,根据表进行分模块,分别是产品模块,用户模块,订单模块,订单项模块。
    购物车的业务理解_第3张图片

1、购物车的实现流程
2、支付流程
3、下订单的业务
4、登录这个模块你考虑的是哪些业务
5、注册模块考虑的哪些方面
6、在写接口这块你会考虑到哪些问题
7.签到实现
8. 权限实现
9. API接口如何实现的
10、秒杀实现流程
11、什么样的页面需要静态缓存对网站有利
12、商品下单后可以修改订单吗
13、用户在什么时候能评论
14、用户的物流信息是怎么跟踪的
15 退款实现
16 用户收藏实现流程
17 用户浏览记录流程
18 宠物分类需要思考那些方面
19 商品详情页
20 首页搜索

1、我们项目做的购物车和其他电商是大同小异的,不同的是增加了金币可以兑换钱的这个功能。首先我们在详情页有加入购物车的按钮,也在首页有购物车的导航模块,点击导航购物车可以看到购物车表的商品,在商品加入购物车之后,跳到订单页下订单,这时候会查询出当前用户有多少金币可以抵挡钱去支付,之后调接口完成支付,这是购物车的一整套流程。
2、对要买的商品下订单
用户将货款划到支付平台
支付平台通知商家支付成功
商家收到支付通知进行发货
用户收到货物验货成功通知支付平台
支付平台将货款划到商家账户。
3、在商品详情页有立即购买按钮和购物车页面有结算按钮,点击任何一个按钮会把当前的用户id和商品id传达订单页面,这时候后台进行订单表的处理。
4、 我们公司在做登陆这块考虑到了sql注入,这是为了提高用户的安全性,防止一些非法人员进行恶意的攻击,导致造成数据库的压力。还有一方面是为了用户方便考虑,减少一些注册的麻烦,我们做了第三方登陆。还有最基本的用户名密码验证,防止造成用户数据的损失。
5、注册这块我们做了用户实名注册,与手机号进行绑定验证,调短信接口实现。这是为了减少数据库压力。以免一些恶意人员进行无限制的注册,一直访问数据库。
6、 我会考虑到跨域的问题,以及接口url的安全验证。
7、 我们项目的签到是根据用户是否连续登陆来判断,用户首次注册成功会给予相应的金币,如果连续签到则对应天数金币翻倍相加,如果没有连续签到,则金币归为基础金币加5。
8、 权限是后台必有的功能,我们可以根据用户的等级设置对应的权限,涉及到五张表,分别根据用户的id来匹配出对应有哪些权限。
9、 后台写的接口就是为了app端调用数据,那么后台写的接口就是根据前台的需求来进行操作,需要考虑到的是跨域问题,我们公司做的接口安全是根据自己定义好的token和sign来进行验证,sign只有请求者和发送者知道。
10、 为了避免高并发的问题,在做秒杀的时候我们会设置在规定的时间内进行,减少对数据库请求。同时在秒杀时提醒用户是否登陆。处理高并发可以通过负载均衡来实现。
11、 就好比新闻详情页做静态缓存是非常有利的,因为这样会加快访问速度,同时减少的数据库的访问次数,对SEO也是有利的。我们会定期进行更新详情页的内容
12、 商品下单后是可以修改订单的,如果用户和客服进行及时的沟通更改,我们后台是可以进行更改的,因为发货是在支付成功后,商家得打支付成功的信号在发货,这是可以有商家决定改的。
13、 当然是在确认收货之后才可以进行评论,商家审核评论通过便可显示。
14、我们公司对这一是掉了一个物流跟踪接口,他提供物流订单监控服务,用户将订单内容订阅到快递鸟后,快递鸟对订单进行实时监控,当物流轨迹有更新时,实时获取数据,对数据进行格式化,计算运单语句到达时间,全流程的物流状态、当前所在城市等数据后,推送给用户。监控直到订单签收后结束。15、当点击某订单的"充值失败"时页面把该订单的订单号和该订单的已付款传递给支付密码输入页面,验证支付密码后,把该订单的已付款退回该用户的账户。
16、在商城首页每个商品的右下角有收藏按钮,以及详情页也会有收藏按钮,在用户点击收藏按钮时,我们后天会对应的获取到用户id,商品id,进行入库收藏表,并修改状态为已收藏,在下次点击按钮时会告诉用户已收藏。
17、浏览记录是通过用户最新访问的商品进行查询显示,我们会将每次浏览过的商品id存储在cookie或session活缓存里,在需要是进行实时读取。
18、需要考虑的有进行无限极分类,通过依次找父id来实现。
19、商品详情页那么我们考虑的是对详情页的优化,做了真静态的缓存处理,加快了页面打开浏览速度,无需连接数据库;其次是有利于搜索引擎优化SEO,百度谷歌都会优先收录静态页面,不仅被收录的快还收录的全,同时减轻了服务器负担。
20、首页的搜索我们是根据商品名称进行搜索查询,对应做了msyql索引的优化,在关键字上简历普通索引,尽量避免了select * 来查询,而是指定字段查,这样更快

你可能感兴趣的:(软件测试)