电商项目的流程和知识的运用

最近电商挺火,面试如果能聊一聊电商,基本能够拿下初试,在作者复习的同时,留下足迹,供后者参考。。。

1.购物车模块
1.为什么要购物车存在??体验性
购物车模块要能过存储顾客所选的的商品,记录下所选商品,还要能随时更新,当用户决定购买时,用户可以选择决定购买的商品进入结算页面。
功能要求:

  1. 要持久化,保存到数据库中(定时同步,也可说不做同步因为数据量特别大)。
  2. 利用缓存提高性能。
  3. 未登录状态也可以存入购物车,一旦用户登录要进行合并操作

2.流程图
在这里插入图片描述

3.购物车的问题

问题:
1、 cookie被禁了能添加吗?
不能了,给提示
2、 购物车未登录有过期时间吗?已登录后有吗?
可以设置
3、 购物车能添加多少个商品? 20-50 200个
cookie
4、 每个商品最多能加多少件?
200
5、 PC和客户端购物车数据一样吗?
登录一样,未登录不一样
6、 未登录情况下 A用户在A电商 添加3个商品 然后 B用户用A电脑又添加2个商品
问 登录B用户的账号 购物车合并的数据是哪个? 不想这样 区分用户?
7、 添加购物车减库存吗?不减
8、 进入购物车列表的时候 验库存吗?验价码?
9、 验价格吗?验
验库存?验
10、购物车里的商品价格变换了有提示吗?库存无货了有提示吗?
有提示。

订单-------------------------------------------------------------------------------------------

当用户点击结算的时候,这块我们用springmvc的自定义拦截器先判断用户是否登录,如果用户没有登录,则跳转到登陆页面,让用户去登录,登录成功之后,跳转到订单结算页面(这块拦截器在跳转到登录页面的时候,把之前的请求地址保存下来,作为参数进行跳转,在登录成功之后,查看是否有请求参数,如果有就跳转到对应的url,如果值为null,跳转到首页);如果用户登录了,则跳转到订单结算页面;
当跳转到订单结算页面的时候,首先对收货人地址进行管理,其次选择支付方式,一期的时候只提供了支付宝支付(建议 微信(二维码自己生成)、支付宝、银联),确认订单信息,然后提交数据到后台,生成对应的订单表、订单详情表和订单物流表(当订单生成的时候,我们要调用对应的库存系统针对订单的商品数量进行锁定,即锁定库存)。当订单创建成功之后,自动跳转到成功页面(将订单数据和到货时间传递过去)。
这块我们设置的订单的有效时间为2天/或者两个小时(这个时间可以自己定,只要合理就行),因为我们***设置了一个定时任务,利用spring task(我们用这个,注解就行了) 或者Quartz(需要配置文件,第三方jar包)***每分钟去检查订单的有效性,如果订单是无效订单,把订单状态修改为关闭订单,当订单为无效订单的时候,我们要释放原来锁定的库存(定时关单)。

问题:
1、 订单表结构(存了什么信息)
在这里插入图片描述
2、 订单业务流程
在这里插入图片描述
3、 订单有效期(定时关单)??

4、 怎么防止重复提交订单

5、 怎么防止超卖(不许超卖)?
现在 库存就1个商品了 多个用户 同时(没有先后顺序)去下订单 ,你们是怎么做的? 采用数据库锁 ,乐观锁和悲观锁的使用方式
加锁

支付----------------------------------------------------------------------------------(这东西有什么好问的)
支付宝:调接口,调SDK,主要有几个参数:公钥私钥,商户id,我们采用轮训的方式,对支付宝采取回调,把参数传过去,支付宝回调,回调告诉我们成功了。。。
微信:二维码自己生成,前端使用一个插件。。
查看支付日志。日志对照,打客服,有问题,调接口,该状态。。。
问的很loud

在这里插入图片描述

在这里插入图片描述

问题:
1、 支付需要的参数?
Appid 私钥 公钥 网关(支付支付的接口) 回调路径 订单号 交易号
2、 支付减库存。。。。。。。。
MQ
3、 支付日志 记录了什么东西? 作用是什么?
订单支付的钱,,,,对账,
4、 怎么对账?
人工就行(日志里拿订单编号)

分布式事务-----------------------------事务和关单--------------------------------------------------------

在这里插入图片描述
怎么用LCN:
1.创建数据库
2.配置文件,数据库连接信息
3.本地事物和分布式事物
4.引入依赖
5.在启动上加注解,就控制住了(我们只会使用,具体不清楚,阿里的方法,我们老大告诉我们这么用的)
在这里插入图片描述
在这里插入图片描述
细节:
在这里插入图片描述
1 、如何高效完成各个分布式系统的协作
通过消息队列来达到异步解耦的效果,减少了程序之间的阻塞等待时间,降低了因为服务之间调用的依赖风险。
2、消息的弊端?如何解决?(保证:最终一致性)
消息队列的问题在于不确定性,不能绝对保证消息的准确到达,所以要引入延迟、周期性的主动轮询,来发现未到达的消息,从而进行补偿。
生产者-消费者在这里插入图片描述
生产者-消费者
1.不消费,就存在
2.不管
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发送消息::
在这里插入图片描述
在这里插入图片描述

轮询扫描
1 、应用场景
长期没有付款的订单,要定期关闭掉。
如果时限比较小,比如30分钟未付款的订单就关闭(一般是锁了库存的订单),也可以用延时队列解决。(1天)
如果时限比较长比如1-2天,可以选择用轮询扫描。
2 、实现方式 spring task(定时任务)
轮询扫描有很多工具,比较经典的就是 quartz。
但是springboot整合了自家的spring task ,功能上基本和quartz差不多,但是配置更简单,全程只用注解就可以,不用额外的xml。

3、利用多线程实现异步并发操作(定时关单,,多线程问题)
默认扫描是单线程的即一次任务执行完,第二次的任务才能执行。如果第一次的任务被一些其他情况阻塞住了,那么第二次的扫描就没法开始了。
所以采用线程池,
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
ThreadPoolTaskExecutor
线程池的好处:提高数据处理能力,能够在多并发的情况下,减轻服务器压力,提高性能!(并行,串行),没有安全问题,因为都是关单

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
找软件用软件,到华军软件园! 软件发布 您IP是 219.134.121.152,用的是电信网络 华军软件园 请输入软件名称,如:PPTV 搜索 Android iOS News 首页 装机 最新 排行 分类 苹果 安卓 驱动 游戏 说明书 手机 新闻 专题 华军资讯 电商订单仓储ERP管理系统 3.5.0   1、一套软件多个仓库、多个电子商务平台、多个店铺进行轻松管理。支持Amazon、速卖通、eBay、淘宝、天猫、京东、敦煌、当当、Wish等各种电商平台,既可以从后台自动对接下载订单,也可以从Excel文件导入(excel文件支持各种格式的自定义模板);   支持兰亭、DX等批量发货、定期对账结算功能。   2、支持前端的自定义开发和后端功能定制。   3、零售、分销、批发、营销方式全面支持。   4、ERP、商品、库存、订单实时同步。   5、灵活的商品注册:支持多款式、组合品、商品图片   6、支持Amazon、eBay、淘宝、天猫等各种电子商务平台。   7、将从平台下载的订单自动快速导入、自动派单、分配库存。   8、具备每天30000单处理能力。   9、订单有货情况下即可自动派单,也可以手动派单。   10、订单缺货情况下形成采购单,为采购人员提供参考数据。   11、每个订单处理流程状态:导入订单(或手工录入) →派单→申请跟踪号→打印e邮宝运单→拣货→包装→发货情况,每个环节环环相扣,还可以动态统计每个环节之间的发生时长,以便发现业务处理中存在的瓶颈,做到及时发现问题、解决问题,不但的疏通和优化内部流程。   12、支持拆单、并单等业务。   13、完善仓库管理功能:采购、入库(各种入库类别)、调拨、返还、借用、出库(销售出库、调拨出库、报损出库、借用出库…)。   14、专业的WMS支持多仓库、库区、库位同时也支持虚拟库存。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值