说在前面的话 上一节说了购物车的生成,本节主要说了在购物车的列表上去结算,从而生成一个未支付的订单,生成的订单默认状态为1, 题目说的BUG是因为所有数据都是通过前端向后端生成的,包括订单的金额.因此是可以通过F12工具进行修改金额.所以说这个商城的订单生成金额是有BUG存在的.所以我们应该在后台通过商品id.数量进行生成金额,不应该在取前端的金额. 购物车的数据都是从redis中取出来的. service层: OrderServiceImpl .java package cn.tsu.orde…
1. 学习计划 1.订单系统实现 2.订单生成 3.Mycat数据库分片 2. 订单系统 2.1. 功能分析 1.在购物车页面点击“去结算”按钮,跳转到订单确认页面 a) 必须要求用户登录 b) 使用拦截器实现. c) 如果用户未登录跳转到登录页面. d) 如果用户已经登录,放行.展示确认页面. e) 判断cookie中是否有购物车数据 f) 如果有同步到服务端. 2.订单确认页面中选择收货地址,选择支付方式,确认商品列表. a) 根据用户id查询收货地址列表 b) 展示支付方式列表. c) 从…
1. 学习计划 第十二天: 1.购物车实现 2.订单确认页面展示 2. 购物车的实现 2.1. 功能分析 1.购物车是一个独立的表现层工程. 2.添加购物车不要求登录.可以指定购买商品的数量. 3.展示购物车列表页面 4.修改购物车商品数量 5.删除购物车商品 2.2. 工程搭建 e3-cart-web打包方式war 可以参考e3-portal-web 2.2.1. Pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0"…
首先来谈谈e3mall商城,e3mall商城是黑马推出一个学习的项目,前身是淘淘商城.两个用的技术差不多.,但由于后期加了一些新技术,更名为e3mall商城.本商城为分布式商城,主要用到的技术使maven.ssm框架.redis缓存,redis实现单点登录.zookeeper.dubbo.solr.activemq.nginx.freemarker等技术. 一.谈谈项目的架构 该项目由于是一个商城,因此需要考虑到很多因素,比如项目的抗压能力等因素,因此该项目使用了分布式架构,分布式架构在这几年基…
今日任务 完成订单模块的功能 1.1      订单 模块的功能 1.1.1    我的订单: [我的订单的查询] * 在header.jsp中点击我的订单. * 提交到Servlet: * 获得用户的信息: * 调用业务层:分页查询. * 查询该用户的所有的订单: * 查询每个订单的时候,需要将其订单项一起查询出来. * 页面跳转 1.1.2    查询某个订单详情: [查询某个订单] 在订单列表页面中点击付款的链接 提交到Servlet: * 接收数据: * 调用业务层: * 页面跳转: 1…
敬给读者 本节主要给大家说一下activemq整合spring,该如何进行配置,上一节我们说了activemq的搭建和测试(单独测试),想看的可以点击时空隧道前去查看.讲完了之后我们还说一说在项目中使用redis缓存的场景. 1.activemq整合spring开发 2.activemq在项目中的使用(添加商品同时索引库也添加) 2.商品详情页使用redis的缓存存数据 一.activemq整合spring开发 项目(e3mall-manager) 第一步:引用相关的jar包. <depende…
一.说在前面的话 前面几节我们主要对该项目的后端进行了增删改查,但是所有的数据都是存放在数据库中,这样的话数据库的压力显而易见是很大的,因此本节学习nosql的缓存,也就是redis的使用,在使用之前,我们来想一想为什么要用redis.redis的内存是否有限制,redis的存储方式.那么让我们带着这些问题去学习redis. Redis服务器的搭建和使用. 二.redis 1.redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.(上一节n…
一.方法实现 private JdbcTemplate jdbcTemplate = new JdbcTemplate(DBConn.getDataSource()); @SuppressWarnings("deprecation")    @Override    public boolean insertObject(Orders entity) {        String sql1 = "insert into orders(number,status,uid) v…
购物车 购物车模型 购物车中的数据不应该重复. 即对相同商品的增加应该是对购买数量的处理而不是增加一条记录 因此对此进行联合唯一索引, 但是也因此存在一些问题 class ShoppingCart(models.Model): user = models.ForeignKey(User, verbose_name=u"用户") goods = models.ForeignKey(Goods, verbose_name=u"商品") nums = models.Int…
说在前面的话 1.本节主要讲了e3mall购物车的实现方法,我搭建的项目和系统购物车有一些区别,因此这里需要说一下.系统搭建的项目在未登陆的情况下也可以通过cookie进行加入购物车,当用户要下单的时候再进行拦截(配置拦截器),若用户没登陆.则跳转登陆页面,登陆完成后继续刚才的操作,同时把cookies中的商品加入到后台redis缓存中(其中需要判断redis中是否含有该商品,若含有,则增加数量),然后进行支付购买.若用户已登陆,加入的购物车则直接保存到后台redis缓存中.类似JD. 2.而我…