商城项目介绍
商城项目
一 前端展示
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:清购物车中数据,你购买什么商品,购物车中就要清理什么商品
思考:提交订单时需要
物流方式
支付方式
收货人
收货电话
收货地址
传数据到后台处理中处理,下订单功能
1122



被折叠的 条评论
为什么被折叠?



