ssm开发电商项目详细代码分享及数据库表结构设计——重点用户下订单功能与用户支付功能(免费)
商城项目介绍
商城项目
一 前端展示
1.1注册
1.2登录
1.3注销
1.4商品类别展示
1.5单个商品的展示
1.6 立刻购买(buynow)
1.7购物车(gotoShopcar)
1.8付款
二 后端管理
用户管理
增加编辑页面
商品管理
编辑界面
商品类别管理
编辑页面
三 开发计划
3.1了解需求
3.2 表结构设计
1.用户表(t_user)
字段名 |
字段类型 |
字段长度 |
字段中文名 |
备注 |
id |
int |
11 |
用户编号 |
主键,自动排序 |
name |
varchar |
20 |
用户姓名 |
不能为null |
password |
varchar |
11 |
用户密码 |
不能为null |
sex |
varchar |
4 |
性别 |
|
phone |
varchar |
20 |
手机号码 |
|
|
varchar |
30 |
电子邮箱 |
|
is_admin |
tinyint |
1 |
是否是管理员 |
1表示是管理员,0就不是管理员 |
IsValid |
tinyint |
1 |
当前用户是否有效 |
0表示用户删除 1表示用户有效 |
2.商品类别表(t_goods_type)
字段名 |
字段类型 |
字段长度 |
字段中文名 |
备注 |
|||||
id |
Int |
11 |
商品类别编号 |
主键,自动排序 |
|||||
gtype_name |
varchar |
20 |
商品类别名称 |
不能为null |
|||||
gtype_parentid |
int |
8 |
商品父类编号 |
不能为null |
|||||
gtype_pic |
varchar |
100 |
图片 |
|
|||||
IsValid |
tinyint |
1 |
当前商品类别是否有效 |
0表示删除 1表示有效 |
|
||||
3.商品信息表(t_goods_info)
字段名 |
字段类型 |
字段长度 |
字段中文名 |
备注 |
id |
Int |
11 |
商品编号 |
主键,自动排序 |
goods_name |
varchar |
20 |
商品名称 |
|
goods_description |
varchar |
100 |
商品描述 |
|
goods_pic |
Varchar |
200 |
商品图片 |
|
goods_price |
double |
20 |
商品价格 |
|
goods_stock |
Int |
8 |
商品库存 |
|
goods_price_off |
double |
20 |
促销价 |
|
goods_discount |
double |
8 |
折扣 |
|
goods_parentid |
Int |
8 |
所属大类 |
|
goods_fatherid |
Int |
11 |
所属小类 |
|
IsValid |
tinyint |
1 |
当前商品是否有效 |
0表示删除 1表示有效 |
4.订单表(t_order)
字段名 |
字段类型 |
字段长度 |
字段中文名 |
备注 |
id |
Int |
11 |
订单编号 |
主键 |
o_sendtype |
Varchar |
20 |
物流方式 |
|
o_paytype |
Varchar |
20 |
支付方式 |
|
o_paycount |
Double |
20 |
订单总金额 |
|
o_orderdate |
Date |
20 |
下单日期 |
|
userid |
Int |
11 |
下单用户 |
来自用户表 |
o_shperson |
Varchar |
20 |
收货人 |
|
o_shphone |
Varchar |
20 |
收货电话 |
|
o_shaddress |
varchar |
200 |
收货地址 |
|
IsValid |
tinyint |
1 |
当前订单类别是否有效 |
0表示删除 1表示有效 |
5.订单详情表(t_order_detail)
字段名 |
字段类型 |
字段长度 |
字段中文名 |
备注 |
id |
Int |
11 |
详情表编号 |
主键 |
o_orderid |
Int |
11 |
所属订单 |
来自订单表编号 |
goodsid |
Int |
11 |
商品编号 |
|
goodsname |
Varchar |
20 |
商品名称 |
|
goodsprice |
Double |
20 |
商品价格 |
|
goods_description |
Varchar |
200 |
商品描述 |
|
goodsnum |
Int |
11 |
商品数量 |
|
goodspic |
Varchar |
200 |
商品图片 |
|
goods_total_price |
Double |
11 |
商品小计 |
|
goods_date |
Date |
20 |
订单时间 |
|
IsValid |
tinyint |
1 |
当前订单是否有效 |
0表示删除 1表示有效 |
6.用户地址表(t_address)
字段名 |
字段类型 |
字段长度 |
字段中文名 |
备注 |
id |
Int |
11 |
地址编号 |
|
shouhuoren |
Varchar |
20 |
收货人 |
|
phone |
Varchar |
20 |
手机号码 |
|
address |
Varchar |
200 |
收货地址 |
|
userid |
Int |
11 |
用户编号 |
外键,与用户表关连 |
isdefault |
Varchar |
5 |
是否默认地址 |
|
IsValid |
tinyint |
1 |
当前地址是否有效 |
0表示删除 1表示有效 |
7.购物车表(t_shoppingcar)
字段名 |
字段类型 |
字段长度 |
字段中文名 |
备注 |
id |
int |
11 |
购物车项编号 |
|
Goods_id |
int |
11 |
商品编号 |
|
Goods_num |
int |
11 |
商品数量 |
|
createDate |
datetime |
|
加入购物车的时间 |
|
userid |
Int |
11 |
用户编号 |
外键,与用户表关连 |
IsValid |
tinyint |
1 |
当前商品是否下架 |
0表示下架 1表示没有下架 |
数据库测试数据如下
3.3 编码阶段
4.部分功能下面做详细分析介绍
4.11.点击加入购物车时
4.11.1:购物车:将要添加到购物车的商品添加到session中存着
4.11.2:购物车:将要添加到购物车的商品添加到cookie中存着
4.11.3:购物车:将要添加到购物车的商品添加到数据库购物车表中
与cookie或session配合起来用.(如果是未登录的用户,加入购物车的商品存在cookie或session中,如果已经登录的用户,根据用户信息将购物车数据存在数据库表中)
京东:未登录的用户加入购物车的商品存在cookie中
登录的用户加入购物车的商品存在数据库购物车表中.
(注意:登录后,cookie中购物车的数据添加数据库购物车表中)
淘宝:只有登录的用户才能将商品加入到购物车,否则就不能加入.
淘宝采用数据库购物车表存数据.
4.11.4:购物车数据库表:编号,商品编号,商品数量,用户编号,是否有效
4.11.5:加入购物车:点击加入购物车进行后台,在后台处理器的方法中判断是否登录了,如果没有登录,将商品信息加到cookie中存着,用一个cookie存购物车信息;如果登录就将商品加到数据库购物车表中(如果当前用户已经添加过当前商品到购物车中修改购买数量,如果没有,就添加到购物车表).
登录时合并cookie中购物车信息到数据库表中.一个购物车一个cookie,cookie中存对象集合字符串,cookie的key名叫shoppingcar.
4.12:展示购物车信息,有两种情况:没有登录的用户展示的是cookie中购物车数据;已经登录过的用户展示的是数据库中购物车表中数据.
4.13:删除购物车中商品信息:有两种情况,没有登录的用户删除的是cookie中购物车数据,已经登录的用户删除的是数据库表中数据.
4.14:立即购买页面(支付页面pay.jsp):
4.14.1:如果是从商品详情页面过来点击立即购买,跳转后台处理器中,在处理器判断用户及商品编号查询数据,跳转立即购买页面.
4.14.2:如果是从前端购物车结算页面点击结算时,先判断用户是否登录,如果没有登录调用登录页面,登录后,判断购物车页面是否有商品选中要结算,如果有选中要结算跳转到处理器中查询数据,再将数据带到立即购买页面.
4.15:下订单:
这四个操作要么同时执行成功,要么同时执行失败.
4.15.1:向订单表中添加一条订单数据.
4.15.2:向订单详情表中添加多条订单详情数据.
4.15.3:修改商品库存.
4.15.4:清购物车中数据,你购买什么商品,购物车中就要清理什么商品
思考:提交订单时需要
物流方式
支付方式
收货人
收货电话
收货地址
传数据到后台处理中处理,下订单功能