注:展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。
3.2 系统流程及分析
首先用户进入该系统,用户需要自己输入自己的用户名和密码,系统会判断用户名是否为空,如果为空,则提示用户用户名不能为空并返回让用户重新输入用户名和密码,如果不为空,则判断密码是否为空,如果为空,则提示用户密码不能为空并返回让用户重新输入用户名和密码,如果不为空,则检查用户名密码是否正确,如果是,则显示登录成功,如果不是,则提示用户用户名和密码错误并返回让用户重新输入用户名密码。系统流程图如图3-4所示。
3.3 系统数据库设计
数据库的实体体系结构包括:确定数据的存储结构,确定数据的访问方式。而其中,资料库的实体架构之优劣,将会对资料库的整体运作产生较大的影响。因此,在选择存储与访问模式时,一定要仔细的研究资料库所支援的交易种类,以便找出与资料库最佳匹配的交易模式。
如3-5表所示。
表 3-5 关于我们
字段 |
类型 |
是否为空 |
说明 |
ID |
bigint(20) |
否 |
主键 |
ADDTIME |
timestamp |
否 |
创建时间 |
TITLE |
varchar(200) |
否 |
标题 |
SUBTITLE |
varchar(200) |
是 |
副标题 |
CONTENT |
longtext |
否 |
内容 |
PICTURE1 |
longtext |
是 |
图片1 |
PICTURE2 |
longtext |
是 |
图片2 |
PICTURE3 |
longtext |
是 |
图片3 |
其中,ID是用户的id,只有登录id后才能进行图书借阅、购买等操作。 如3-6所示。
表3-6 系统管理员表
字段 |
类型 |
是否空 |
说明 |
ID |
bigint(20) |
否 |
主键 |
ADDTIME |
timestamp |
否 |
创建时间 |
YONGHUMING |
varchar(200) |
否 |
用户名 |
MIMA |
varchar(200) |
否 |
密码 |
XINGMING |
varchar(200) |
否 |
性名 |
XINGBIE |
varchar(200) |
是 |
性别 |
TOUXIANG |
longtext |
是 |
头像 |
SHOUJI |
longtext |
是 |
手机 |
MONEY |
float |
是 |
余额 |
该管理员表获取了用户的登录情况,在管理员的页面上显示相关信息。图书信息内容:如3-7所示。
表3-7 图书信息表
字段 |
类型 |
是否为空 |
说明 |
ID |
bigint(20) |
否 |
主键 |
ADDTIME |
timestamp |
否 |
创建时间 |
TUSHUBIANHAO |
varchar(200) |
否 |
图书编号 |
TUSHUMINGCHENG |
varchar(200) |
否 |
图书名称 |
TUSHUFENLEI |
varchar(200) |
否 |
图书分类 |
TUSHUFENGMIAN |
longtext |
否 |
图书封面 |
TUSHUZUOZHE |
varchar(200) |
否 |
图书作者 |
CHUBANSHE |
varchar(200) |
是 |
出版社 |
LIANXIREN |
varchar(200) |
是 |
联系人 |
JIEYUEJIAGE |
int(11) |
否 |
借阅价格 |
TUSHUXIANGQING |
longtext |
是 |
图书详情 |
ONELIMITSTIME |
int(11) |
是 |
单限 |
ALLLIMITTIMES |
int(11) |
是 |
图书数量 |
SHANGJIAMINGCHENG |
varchar(200) |
是 |
商家名称 |
CLICKTIME |
datetime |
是 |
最近点击时间 |
PRICE |
float |
否 |
价格 |
其中可查看图书编号、图书名称、图书数量、商家名称、最近点击时间以及价格等。收藏表:如3-8所示。
表3-8 收藏表
字段 |
类型 |
是否为空 |
说明 |
ID |
bigint(20) |
否 |
主键 |
ADDTIME |
timestamp |
否 |
创建时间 |
USERID |
bigint(20) |
否 |
用户id |
REFID |
bigint(20) |
是 |
商品id |
TABLENAME |
varchar(200) |
是 |
表名 |
NAME |
varchar(200) |
否 |
名称 |
PICTURE |
longtext |
否 |
图片 |
TYPE |
varchar(200) |
是 |
类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) |
INTELTYPE |
varchar(200) |
是 |
推荐类型 |
REMARK |
varchar(200) |
是 |
备注 |
以上的表是该系统的主要功能之一,商家如3-9所示。
表3-9 商家表
字段 |
类型 |
是否为空 |
说明 |
ID |
bigint(20) |
否 |
主键 |
ADDTIME |
timestamp |
否 |
创建时间 |
SHANGJIAMINGCHNEG |
varchar(200) |
否 |
商家名称 |
MIMA |
varchar(200) |
否 |
密码 |
SHANGJIATUPIAN |
longtext |
是 |
商家图片 |
LIANXIDIANHUA |
varchar(200) |
是 |
联系电话 |
SHANGJIADIZHI |
varchar(200) |
是 |
商家地址 |
JINGYINGFANWEI |
varchar(200) |
是 |
经营范围 |
MONEY |
float |
是 |
余额 |
以上是商家表的字段设计。借阅记录如3-10表所示。
表3-10 借阅记录表
字段 |
类型 |
是否为空 |
说明 |
ID |
bigint(20) |
否 |
主键 |
ADDTIME |
timestamp |
否 |
创建时间 |
JIEYUEDANHAO |
varchar(200) |
是 |
借阅单号 |
TUSHUMINGCHENG |
varchar(200) |
是 |
图书名称 |
TUSHUFENGMIAN |
longtext |
是 |
图书封面 |
TUSHUFENLEI |
varchar(200) |
是 |
图书分类 |
JIEYUEJIAGE |
varchar(200) |
是 |
借阅价格 |
ALLLIMITTIMES |
int(11) |
否 |
图书数量 |
JIEYUETIANSHU |
int(11) |
否 |
借阅天数 |
JIEYUEJINE |
varchar(200) |
是 |
借阅金额 |
TUSHUGUIHUAN |
varchar(200) |
是 |
图书归还 |
JIEYUESHIJIAN |
date |
是 |
借阅时间 |
SHANGJIAMINGCHENG |
varchar(200) |
是 |
商家名称 |
JIEYUEBEIZHU |
varchar(200) |
是 |
借阅备注 |
YONGHUMING |
varchar(200) |
是 |
用户名 |
XINGMING |
varchar(200) |
是 |
姓名 |
SHOUJI |
varchar(200) |
是 |
手机 |
SHHF |
longtext |
是 |
回复内容 |
ISPAY |
varchar(200) |
是 |
是否支付 |
以上是借阅记录表的字段设计。归还记录:如3-11表所示。
表3-11 归还记录表
字段 |
类型 |
是否为空 |
说明 |
ID |
bigint(20) |
否 |
主键 |
ADDTIME |
timestamp |
否 |
创建时间 |
TUSHUMINGCHENG |
varchar(200) |
是 |
图书名称 |
TUSHUFENGMIAN |
longtext |
是 |
图书封面 |
ALLLIMITTIMES |
int(11) |
是 |
图书数量 |
JIEYUESHIJIAN |
varchar(200) |
是 |
借阅时间 |
HAISHUSHIJIAN |
datetime |
是 |
还书时间 |
TUSHUPINGFEN |
varchar(200) |
否 |
图书评分 |
PINGJIANEIRONG |
longtext |
否 |
评价内容 |
SHANGJIAMINGCHENG |
varchar(200) |
是 |
商家名称 |
GUIHAIBEIZHU |
varchar(200) |
是 |
归还备注 |
YONGHUMING |
varchar(200) |
是 |
用户名 |
XINGMING |
varchar(200) |
是 |
姓名 |
SHOUJI |
varchar(200) |
是 |
手机 |
SHHF |
longtext |
是 |
回复内容 |
4.1 登录模块
该系统有三个登录界面,分别为用户登录、管理员登录和商家登录,这三个登录分别对应不同的功能。
用户登录主要是需要用户输入自己的账号、密码,用户只需要输入自己的账号、密码则可以成功登录。
注册页面增加了注册用户是否已存在验证的功能,代码实现如下。
public R register(@RequestBody YonghuEntity yonghu){
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
if(u!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
yonghu.setId(uId);
yonghuService.insert(yonghu);
return R.ok();
}
目 录