注:展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信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();
}
目 录