从用户注册到订单入库

用户注册:

1,首先用户填写的信息合不合法需要校验

2,对用户密码进行md5加密

3,将信息写入数据库

用户登陆:

1,用户点击登陆 用户名和密码进行传参,通过业务层先对密码进行md5加密

2,查询数据库 判断是否能查询到 如果为空,那我就返回空 证明用户的密码或用户名错误

3,如果有数据,把查询到的数据进行脱敏处理存,然后转换成json字符串 存入到redis中,设置失效时间

4,返回的密钥 准备cookie实现数据存储,setDomain指定域名进行资源共享,将cookie保存到客户端

实现回显:

利用jsonp跨域 发起ajax请求 从缓存中获取密钥返回一个data到前端JS ,然后对数据进行转换 json串–>对象

redis应用在商品分类的查询,存储登陆的密钥,负责校验,数据存到第三方需要脱敏处理,防止信息泄露

用户退出:

1,点击退出按钮跳转页面重定向到系统首页

2,首先从cookie中获取数据,如果cookie不为空且cookie长度大于0,遍历cookie,如果cookie中的名和我之前的一样,就说明找到了cookie,同时获取到了value值,也就拿到了redis中的key, 删除redis中的key,

3,删除cookie,之前怎么设置现在怎么set,设置存活时间为0 则立即删除

商品数据展现:

当用户看中某一个商品时,点击该商品,应该展现的是商品的详情信息.

1,根据商品id ,查询商品和商品详情,呈现到页面中(利用jsp中el表达式动态获取数据信息)

新增购物车:

当查询商品之后,点击新增购物车时.应该跳转到购物车展现页面. 之后完成购物车新增操作.
强调:
1.用户先登陆,通过单点登陆动态获取userid,当用户第一次新增购物车时,应该入库保存

先查询数据库是否有该记录,根据userid和itemid如果没查询到,入库,如果查询到,直接增加数量

2.当用户重复添加时,应该只更新商品的数量.

1,表设计:通过用户id 和商品id标识唯一的购物行为

根据用户id,如何获取用户id,###利用单点登陆方式动态获取userId登陆之后拦截器可以识别,利用request对象进行传参

查询购物车信息,存到域中,之后在列表页面中展现,

更新购物车:

根据用户id和商品id进行更新购物车数量

控制权限:

通过springMVC对外提供拦截器接口 HandlerInterceptor

1,实现HandlerInterceptor 接口

2,重写prehandle方法,

如果用户已经登陆就放行,反则拦截。

如何判断用户已经登陆:

​ 判断客户端是否有指定的cookie

​ 获取cookie中的值去redis中校验是否存在

​ 如果两个条件同时满足则放行 return true

3,重定向到用户登陆页面,return false

springMVC还提供了一个接口 WebMvcConfigurer拦截器的配置

1,实现WebMvcConfigurer接口

2,重写addInterceptor方法,

3,通过InterceptorRegistry下面的方法addInteceptor,注入要拦截的类, 和addPathPatterns添加要拦截的路径 /cart/** /order/** 下面的

订单入库:

当用户点击提交订单时.应该跳转到订单确认页面

订单 和订单商品是一对多的关系 和订单物流是一对一的关系

根据订单id入库订单商品和订单物流

通过订单id查询订单提交成功页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值