一个头发茂密的二十岁小伙为了毕业而设计的一个社区(校园)二手交易网站
社区物品交易系统是基于前端和后台的Web系统,系统功能主要包括注册登录模块、二手商城模块、求购论坛模块、商品详情模块、站内搜索、上架二手商品、发布求购帖子等。课题将重点研究与用户交互最多的二手商城模块,方便用户更加直观的了解商品的种种信息。具体研究内容如下:
用户在本系统注册一个账号,通过此账号才能使用本系统提供的服务如浏览商品、上架商品等。
二手商城主要显示总的二手商品信息,并且可以通过板块和类别等进行信息过滤,点击商品之后可以查看其详细信息。
在本系统内置一个小型商品检索系统,可以通过输入字段检索全部或者特定板块的商品并且显示出来。
求购论坛主要显示商品求购信息帖子,并且可以通过板块进行信息过滤,点击帖子之后可以显示详情信息。
在帖子详情界面,如商品描述信息与自己上架的商品相符,可以选择推送自己的商品到帖子详情下面。
将心仪的二手商品添加到购物车,可以修改数量,也可选择移除商品,或进行结算。
在个人中心界面可以选择修改个人信息,查看自己已上架、交易的商品,也可以查看发布的求购帖子等。
本系统使用Java作为主要开发语言,采用Spring + Spring MVC + MyBatis等Java框架搭建项目,dao层代码由mybatis-generator自动生成对应使用Thymeleaf模板解析技术来展现其视图层,以MySQL作为后台数据库进行开发,前端使用Js以及Js的类库Jquery等脚本语言对页面渲染。对于社区人员所上传,搜索的商品能够很友好的展现出来。另外,前端页面大量使用AJAX技术来访问后台提供的统一接口,降低其与其他系统间的耦合度,提高系统可扩展性、兼容性以及集成能力。 网站缓存这一块使用了Redis作为缓存数据库,在热门商品展示和商品点击数等模块的相关信息直接储存到缓存数据库,加快了用户响应速度,有效的减少了数据库IO次数,为今后的并发问题打下基础。
(1)商品板块表
此表储存商品的所属大板块信息,便于用户商品的上架以及查询的分类。
表4.1 板块表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
续表4.1
| id | int | 11 | 0 | 否 | 主键 |
|---|---|---|---|---|---|
| board_name | varchar | 255 | 0 | 否 | 板块名 |
| board_desc | varchar | 255 | 0 | 是 | 板块描述 |
| topic_num | int | 11 | 0 | 否 | 子类别数 |
| article_num | int | 11 | 0 | 否 | 帖子数 |
(2)商品板块的子类别表
此表储存商品的所属子类别信息,与板块表存在一对多的关系,将商品分类进一步细化。
表4.2 子类别表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| topic_name | varchar | 255 | 0 | 否 | 子类别名 |
| board_id | int | 11 | 0 | 否 | 板块id |
| topic_desc | varchar | 255 | 0 | 是 | 描述 |
| topic_num | int | 11 | 0 | 否 | 商品数 |
(3)商品表
此表储存商品信息。
表4.3 商品表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| modify | datetime | 0 | 0 | 是 | 修改时间 |
| name | varchar | 255 | 0 | 否 | 名称 |
| level | int | 11 | 0 | 否 | 品级 |
续表4.3
| remark | varchar | 255 | 0 | 是 | 备注 |
|---|---|---|---|---|---|
| price | decimal | 10 | 0 | 否 | 价格 |
| topic_id | int | 11 | 0 | 否 | 子类别id |
| count | int | 11 | 0 | 否 | 数量 |
| shelf | datetime | 0 | 0 | 否 | 上架时间 |
| statu | tinyint | 4 | 0 | 否 | 状态 |
| display | int | 11 | 0 | 否 | 状态 |
| transaction | int | 11 | 0 | 否 | 交易方式 |
| sales | int | 11 | 0 | 否 | 销售量 |
| user_id | int | 11 | 0 | 否 | 所属用户 |
| image | varchar | 255 | 0 | 是 | 图片 |
(4)商品留言表
此表储存其他用户对相应商品的评价,留言等信息。
表4.4 商品留言表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| modify | datetime | 0 | 0 | 是 | 修改时间 |
| pro_id | int | 11 | 0 | 否 | 商品id |
| content | text | 0 | 0 | 否 | 内容 |
| display | int | 11 | 0 | 否 | 是否显示 |
| user_id | int | 11 | 0 | 否 | 用户id |
(5)商品图片表
此表储存相应商品的图片的地址信息。
表4.5 商品图片表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| pro_id | int | 11 | 0 | 否 | 商品id |
| user_id | int | 11 | 0 | 否 | 用户id |
| path | varchar | 255 | 0 | 否 | 路径 |
(6)推送商品表
此表与求购论坛中帖子相关,用户阅读完帖子后,将自己的商品推送到帖子下方展示。
表4.6 推送商品表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| modify | datetime | 0 | 0 | 是 | 修改时间 |
| article_id | int | 11 | 0 | 否 | 帖子id |
| pro_id | int | 11 | 0 | 否 | 商品id |
| display | int | 11 | 0 | 否 | 是否显示 |
| user_id | int | 11 | 0 | 否 | 用户id |
(7)商品交易方式表
此表储存本系统所支持的商品交易方式的信息。
表4.7 商品交易方式表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| modify | datetime | 0 | 0 | 是 | 修改时间 |
| num | int | 11 | 0 | 否 | 交易代码 |
| tran_way | varchar | 255 | 0 | 否 | 交易名称 |
(8)交易记录表
此表储存已经交易成功的商品的信息记录。
表4.8 交易记录表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| modify | datetime | 0 | 0 | 是 | 修改时间 |
| state | int | 11 | 0 | 是 | 状态 |
| user_id | int | 11 | 0 | 否 | 买家id |
| from_user_id | int | 11 | 0 | 否 | 卖家id |
| pro_id | int | 11 | 0 | 否 | 商品id |
| quantity | int | 11 | 0 | 否 | 数量 |
| transaction | int | 11 | 0 | 否 | 交易方式 |
(9)购物车表
此表储存用户的购物车信息,记录用户添加进购物车后的商品以及其他信息。
表4.9 购物车表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| modify | datetime | 0 | 0 | 是 | 修改时间 |
| display | int | 11 | 0 | 否 | 是否显示 |
| user_id | int | 11 | 0 | 否 | 用户id |
| pro_id | int | 11 | 0 | 否 | 商品id |
| quantity | int | 11 | 0 | 否 | 数量 |
| transaction | int | 11 | 0 | 否 | 交易方式 |
(10)用户表
此表储存本系统中所有用户的基本信息。
表4.10 用户表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| modify | datetime | 0 | 0 | 是 | 修改时间 |
| user_name | varchar | 255 | 0 | 否 | 昵称 |
| varchar | 255 | 0 | 是 | 邮箱 | |
| phone | varchar | 255 | 0 | 否 | 电话 |
| real_name | varchar | 255 | 0 | 是 | 真实姓名 |
| village | varchar | 255 | 0 | 否 | 小区名称 |
| address | varchar | 255 | 0 | 否 | 详细住址 |
| gender | varchar | 255 | 0 | 否 | 性别 |
| create_time | datetime | 0 | 0 | 是 | 创建时间 |
| avatar | varchar | 255 | 0 | 是 | 头像 |
| hui_y | tinyint | 4 | 0 | 否 | 是否会员 |
| locked | tinyint | 4 | 0 | 否 | 是否锁定 |
(11)用户密码表
此表储存用户的密码信息。
表4.11 用户密码表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | user_id | 11 | 0 | 否 | 主键 |
| modify | datetime | 0 | 0 | 是 | 修改时间 |
| password | varchar | 255 | 0 | 否 | 密码 |
| user_id | user_id | 11 | 0 | 否 | 用户id |
(12)用户留言表
此表储存用户之间相互留言的信息。
表4.12 用户留言表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| from_user | int | 11 | 0 | 否 | 留言用户 |
| to_user | int | 11 | 0 | 否 | 接受用户 |
| time | datetime | 0 | 0 | 否 | 时间 |
| content | text | 0 | 0 | 否 | 内容 |
| display | int | 11 | 0 | 是 | 是否显示 |
(13)地址表
此表储存加入本系统的社区的信息。
表4.13 地址表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| village_name | varchar | 255 | 0 | 否 | 社区名称 |
| address | varchar | 255 | 0 | 否 | 社区地址 |
| user_num | int | 11 | 0 | 否 | 用户数 |
(14)帖子表
此表储存用户对某商品需要而发出求购帖子的信息。
表4.14 帖子表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| article_title | varchar | 255 | 0 | 否 | 帖子标题 |
续表4.14
| content | text | 0 | 0 | 否 | 内容 |
|---|---|---|---|---|---|
| board_id | int | 11 | 0 | 否 | 板块id |
| user_id | int | 11 | 0 | 否 | 用户id |
| display | tinyint | 4 | 0 | 否 | 状态 |
| like_num | int | 11 | 0 | 否 | 点赞数 |
| reply_count | int | 11 | 0 | 否 | 回复数 |
| click_count | int | 11 | 0 | 是 | 点击数 |
| create_time | datetime | 0 | 0 | 否 | 创建时间 |
| last_click_t | datetime | 0 | 0 | 否 | 最后一次点击时间 |
(15)帖子留言表
此表储存用户对相应帖子的评价,留言等信息。
表4.15 帖子留言表
| 字段名称 | 数据类型 | 字段大小 | 小数点 | 允许空 | 说明 |
|---|---|---|---|---|---|
| id | int | 11 | 0 | 否 | 主键 |
| modify | datetime | 0 | 0 | 是 | 修改时间 |
| act_id | int | 11 | 0 | 否 | 帖子id |
| content | text | 0 | 0 | 否 | 内容 |
| display | int | 11 | 0 | 否 | 是否显示 |
| user_id | int | 11 | 0 | 否 | 用户id |