2019谷粒商城新电商课件购物车_第1页
2019谷粒商城新电商课件购物车_第2页
2019谷粒商城新电商课件购物车_第3页
2019谷粒商城新电商课件购物车_第4页
2019谷粒商城新电商课件购物车_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、x 课程系列谷粒商城版本:V 1.0购物车一、购物车业务简介购物车模块要能过顾客所选的的商品,下所选商品,还要能随时更新,当用户决定时,用户可以选择决定的商品进入结算页面。功能要求:1)要持久化,保存到数据库中。2)利用缓存提高性能。3)未登录状态也可以存入购物车,一旦用户登录要进行合并操作。1Java 大数据 前端 python 人工智能资料,可:尚硅谷官网当前的位置x 课程系列二 购物车模块搭建1gmall-cart-web2Java 大数据 前端python 人工智能资料,可:尚硅谷官网x 课程系列pom.xml3Java 大数据前端 python 人工智能资料,可:尚硅谷官网xmlns

2、:xsi= xsi:schemaLocation=4.0.0com.atguigu.gmallgmall-cart-web0.0.1-SNAPSHOTjargmall-cart-webDemo project for Spring Bootcom.atguigu.gmallgmall-parent1.0-SNAPSHOTcom.atguigu.gmallgmall-interface1.0-SNAPSHOTcom.atguigu.gmallgmall-web-util1.0-SNAPSHOTorg.springframework.bootspring-boot-maven-pluginproj

3、ectxmlns=x 课程系列pertieshost 文件nginx.confGmallCartWebApplication 提到跟 cart 目录同级拷入静态文件和页面4Java 大数据 前端 python 人工智能资料,可:尚硅谷官网upstream server :8087;server listen 80;server_name ; location / proxy_pass;proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;# gmall

4、63 server.port=8087spring.thymeleaf.cache=falsespring.thymeleaf.mEGACYHTML5=cart-web tocol=zookeeper spring.dubbo.registry.address=63:2181 spring.dubbo.base-package=com.atguigu.gmall =dubbo spring.dubbo.consu

5、mer.timeout=100000 spring.dubbo.consumer.check=falsex 课程系列2gmall-cart-service5Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列pom.xml6Java 大数据前端 python 人工智能资料,可:尚硅谷官网x 课程系列pertiesGmallCartServiceApplication 提到跟 cart 目录同级三、功能添加入购物车7Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列1功能:1、 根据 skuId出商品详情 sku

6、Info2、 把 skuInfo 信息对应保存到购物车3、 返回页面2设计购物车的数据结构3实体 beanCartInfo8Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列4 Redis 中的结构利用 Hash 结构:5 gmall-cart-service 模块业务思路:11、 先检查该用户的购物车里是否已经有该商品2、 如果有商品,只要把对应商品的数量增加上去就可以,同时更新缓存3、 如果没有该商品,则把对应商品到购物车中,同时缓存。2CartServiceImpl9Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列6Web 模块业

7、务(gmall-cart-web)1思路:1、 获得参数:skuId 、num2、该用户是否登录,用 userId3、 如果登录则调用10的 service 的业务Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列4、 如果未登录,要把购物车信息暂存到 cookie 中。5、 实现利用 cookie 保存购物车的。2CartController7实现利用 cookie 保存购物车的 CartCookieHandler思路:1和 service 模块的类似1、 先出来在 cookie 中的购物车,反序列化成列表。11Java 大数据 前端 python 人工智能资料,

8、可:尚硅谷官网x 课程系列2、 通过循环比较有没有该商品3、 如果有,增加数量4、 如果没有,增加商品5、 然后把列表反序列化,利用之前最好的 CookieUtil 保存到 cookie 中。2CartCookieHandler12Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列3 添加后的展示页面succuess.html13Java 大数据前端 python 人工智能资料,可:尚硅谷官网x 课程系列8 测试效果四、功能展示购物车列表1 功能1、 展示购物中的信息2、 如果用户已登录从缓存中取值,如果缓存没有,加载数据库。3、 如果用户未登录从 cookie 中

9、取值。2 CartServiceImpl:1、redis 中取出来要进行反序列化2、redis 的 hash 结构是无序的,要进行排序(可以用时间戳或者主键 id,倒序排序)3、如果 redis 中没有要从数据库中,要连带把最新的价格也取出来,默认要显示最新价格而不是当时放入购物车的价格,如果考虑用户体验可以把两者的差价提示给用户。4、加载入缓存时一定要设定失效时间,保证和用户信息的失效时间一致即可。14Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列CartInfoMapper.xml15Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程

10、系列CartInfoMapper.java因为要取 mapper.xml 所以perties 中要加入3 CartController16Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列cartCookieHandler 中 getCartList 在前面的做添加购物车时已完成。4显示购物车列表页面17Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列5 测试效果五、功能-合并购物车由于加入购物车时,用户可能登录和未登录两种情况,登录前在 cookie 中保存了一部分购物车信息,如果用户登录了,那么对应的要

11、把 cookie 中的购物车合并到数据库中,并且刷新缓存。1CartServiceImpl思路:用数据库中的购物车列表与传递过来的 cookie 里的购物车列表循环匹配。18Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列能匹配上的数量相加匹配不上的到数据库中。最后重新加载缓存2CartController增加如果用户是登录状态的,但是 cookie 里却还有购物车,说明需要把 cookie 中的购物车合并进来,同时把 cookie 中的清空。19Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列在 CartCookieHandler

12、中加入在 web-util 的 CookieUtil 中增加六、选中状态的变更用户每次购物车的多选框,都要把当前状态保存起来。由于可能会涉及更频繁的操作,所以这个状态不必到数据库中。保留在缓存状态即可。1CartServiceImpl把对应 skuId 的购物车的信息从 redis 中取出来,反序列化,修改 isChecked 标志。再保存回 redis 中。同时保存另一个 redis 的 key 专门用来用户选中的商品,方便结算页面使用。20Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列合并的时候要把未登录前 cookie 里的附上。21Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列2CartController同样这里要区分,用户登录和未登录状态。如果登录,修改缓存中的数据,如果未登录,修改 cookie 中的数据。3CartCookieHandler(修改 cookie 数据)从 cookie 的购物车列表中依次匹配 skuId,匹配中则设入 isChecked 标志。22Java 大数据 前端 python 人工智能资料,可:尚硅谷官网x 课程系列4页面动作的 js注意 jquery1.6 版本以后要用 prop(“chec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论