day04_JavaWeb企业实战项目

第1章 任务_订单模块

1_模型的抽取
2_提交订单
3_查询我的订单
4_订单详情
5_支付功能
6_权限过滤器

第2章 1_模型的抽取

2.1 分析超市小票

会员ID:1231231
流水号:hrwj_ba_31_sy003_1002
交易时间:2017年3月10日08:41:53
商品名称 商品价格 商品数量 小计
好日子 15 2 30
芙蓉王 25 2 50
黄鹤楼 15 3 45
大前门 10 1 10
总金额:135元

设计表,存储小票上的数据
会员id 流水号 交易时间 商品名称 商品价格 商品数量 小计 总金额
1231231 XXX XXXX 好日子 15 2 30 135
1231231 XXX XXXX 芙蓉王 25 2 50 135
1231231 XXX XXXX 黄鹤楼 15 3 45 135
1231231 XXX XXXX 大前门 10 1 10 135
弊端:数据冗余严重 DB原则:存储最少的数据,办更多的事情

用户表user(uid,username,password,name,birthday,telephone,state,code…)

一个表专注于交易描述 ,订单表 orders
订单id(流水号) 会员id 交易时间 总金额 收货人姓名 地址 电话 订单状态(1234)
1123 1231231 XXXX 135
1124 1234444 YYYY 200

orders表中的会员id列参照了用户表uid
订单状态:
买家:下单未付款,付款未发货,已发货,签收
卖家: 未付款,发货,未签收,已收货(结束)

一个表专注于每笔订单详细交易情况,订单项orderitem
订单项id 商品id 数量 小计 所在订单编号
001 p003 2 30 1123
002 p005 2 50 1123
003 p101 3 45 1123
004 p220 1 10 1123
005 p334 1 101 1124
006 p556 3 54 1124
007 p445 5 45 1124
orderitem表中的商品id参照了商品表的pid
orderitem表中的所在订单编号参照了订单表的订单id

2.2 提交订单原理分析

用户点击提交订单,将购物车中的数据以订单/订单项形式保存下来,清空购物车
在这里插入图片描述
保存订单:
为订单表中插入一行数据,描述本次交易,这行数据部分数据是通过程序赋予,部分数据来自购物车的,部分数据来自session中的用户
oid:UUIDUtils orderTime:new Date(); total: 从购物车获取
state:1 address: null name:null telephone:null uid:从session中的用户获取

保存订单项:
向订单项表中插入数据,描述当前订单的详细的购买信息,部分数据来自于购物车,部分数据需要通过程序赋予
itemid: UUIDUtils quantity:来自于购物车中的购物项
total:来自于购物车中的购物项 pid:来自于购物车上的购物项下商品对象pid
oid:来自于当前订单id

提交订单时,订单以及订单项必须同时成功(事务)

2.3 实现订单模块相关程序

OrderServlet OrderService OrderServiceImp OrderDao OrderDaoImp
Order{ User user, List list=new ArrayList(); …}
OrderItem{ Product product,Order order;}

2.4 步骤实现

1_准备工作

2_OrderServlet__>saveOrder
//确认用户登录状态
//创建订单对象,为订单对象赋值
//遍历购物项的同时,创建订单项
//调用业务层功能:保存订单
//清空购物车
//将订单放入request
//转发/jsp/order_info.jsp
return “/jsp/order_info.jsp”;
3_OrderService
利用事务保存订单,订单项
4_OrderDao
5_/jsp/order_info.jsp
获取到订单信息

总结:
1_模型的抽取
2_业务层事务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值