基于微信小程序的民宿短租系统设计与实现(ssm论文源码调试讲解)

第4章 系统设计

4.1系统设计的目标

系统设计的目标是满足用户的需求和满足系统实现所需要的所有要求。本系统收集了信息浏览、信息删除、信息添加、信息修改、信息查询为一体17。改变了用户民宿短租的方式,提高管理员管理效率以及用户预订的效率。为用户、房主提供专业的民宿短租系统。

4.2系统功能结构图设计

本系统的结构分为管理员、用户、房主三部分。本系统的功能结构图如下图4.1所示:

图4.1民宿短租系统的功能结构图

4.3数据库设计

数据库为数据的存放地。集合着系统中所有的数据。可以单独设计。一个系统想要拥有快速的反应和保证数据的安全就需要一个好的数据库18。每种不同的数据都有属于它的数据库表。数据库设计包括数据ER图设计和数据库表设计。数据ER图里设计了实体以及实体的属性。数据库表设计了不同数据的类型、长短等19。

4.3.1数据E-R图

数据ER图就是把抽象的数据进行建模,通过不同的图形来清晰化的表示数据。数据库设计的第一步就是数据ER图的设计。本系统中主要的数据为管理员信息、用户信息、民宿信息和预订信息等。

  1. 管理员信息为管理员身份的资料,包括编号和密码、账号。管理员信息ER图如下图4.2所示:

图4.2管理员信息ER图

(2)用户信息为用户身份的资料。用户身份的资料有账号、密码、电话、住址等。用户信息ER图如下图4.3所示:

图4.3用户身份的ER图

(3)民宿信息可由房主进行发布,民宿信息包括面积、价格,装修等,民宿信息ER图如下图4.4所示:

图4.4民宿信息ER图

(4)预订信息也是由用户产生,管理员审核,房主管理。预订信息包括类型、民宿户型、民宿面积等。预订信息ER图如下图4.5所示:

图4.5预订信息ER图

(5)系统全局ER图如下图4.6所示:

图4.6系统全局ER图

4.3.2数据库表设计

数据库表是将数据ER图进一步细分和实现。数据库最终是以数据库表呈现。通过对不同的实体设置不同的字段类型和长短、标识来进行数据库表的实现。在数据库表设计中要注意数据的冗余问题和范式问题。本系统的数据库表有管理员信息表、民宿信息表、预订信息表和公告信息表等。本系统的数据库表如下表4.1-4.11所示:

表4.1 config

序号列名数据类型长度小数位标识主键外键允许空默认值说明1idbigint20是是否auto_increment2namevarchar100否3valuevarchar100是

表4.2 discussminsuxinxi

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 refid bigint 20 否
4 userid bigint 20 否
5 nickname varchar 200 是
6 content longtext 否
7 reply longtext 是

表4.3 fangjianleixing

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 fangjianleixing varchar 200 是

表4.4 fangzhu

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 fangzhuzhanghao varchar 200 否
4 mima varchar 200 否
5 fangzhuxingming varchar 200 否
6 touxiang varchar 200 是
7 xingbie varchar 200 是
8 lianxidianhua varchar 200 是
9 shenfenzhenghao varchar 200 是

表4.5 minsuxinxi

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 minsumingcheng varchar 200 否
4 minsutupian varchar 200 是
5 fangjianleixing varchar 200 是
6 minsuxingji varchar 200 否
7 yiwanjiage int 11 是
8 minsudizhi varchar 200 是
9 minsujieshao longtext 是
10 fangzhuzhanghao varchar 200 是
11 lianxidianhua varchar 200 是
12 clicktime datetime 是
13 clicknum int 11 是 0

表4.6 minsuyuding

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 yuyuebianhao varchar 200 是
4 minsumingcheng varchar 200 是
5 minsutupian varchar 200 是
6 fangjianleixing varchar 200 是
7 minsudizhi varchar 200 是
8 fangzhuzhanghao varchar 200 是
9 yiwanjiage int 11 是
10 ruzhuriqi date 是
11 ruzhutianshu int 11 是
12 zongjine int 11 是
13 yuyueshijian datetime 是
14 beizhu varchar 200 是
15 yonghuzhanghao varchar 200 是
16 yonghuxingming varchar 200 是
17 shoujihaoma varchar 200 是
18 sfsh varchar 200 是 否
19 shhf longtext 是
20 ispay varchar 200 是 未支付
21 userid bigint 20 是

表4.7 news

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 title varchar 200 否
4 introduction longtext 是
5 picture varchar 200 否
6 content longtext 否

表4.8 storeup

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 userid bigint 20 否
4 refid bigint 20 是
5 tablename varchar 200 是
6 name varchar 200 否
7 picture varchar 200 否
8 type varchar 200 是 1
9 inteltype varchar 200 是

表4.9 token

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 userid bigint 20 否
3 username varchar 100 否
4 tablename varchar 100 是
5 role varchar 100 是
6 token varchar 200 否
7 addtime timestamp 否 CURRENT_TIMESTAMP
8 expiratedtime timestamp 否 CURRENT_TIMESTAMP

表4.10 users

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 username varchar 100 否
3 password varchar 100 否
4 role varchar 100 是 管理员
5 addtime timestamp 否 CURRENT_TIMESTAMP

表4.11 yonghu

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 yonghuzhanghao varchar 200 否
4 mima varchar 200 否
5 yonghuxingming varchar 200 否
6 touxiang varchar 200 是
7 xingbie varchar 200 是
8 shoujihaoma varchar 200 是

第5章 系统功能的实现

5.1 系统界面实现

5.1.1界面设计原则

系统的界面设计至关重要。良好的界面可以给人好的感受和良好的操作体验。在系统界面设计时需要遵守的原则为:

  1. 不同的身份使用的功能不同,所以要设计不同的登录界面以便来区分不同的身份。在设计界面时首先要考虑好身份的区别和不同身份的界面功能,根据不同的身份来设计不同的操作界面;

  2. 要采用尽可能减少手动输入的方式进行设计。对于某些信息如果可以减少输入就都自动生成,这样也可以减少用户手动输入时的错误;

  3. 设置大量的帮助词和提示词来指导用户的操作,减少用户的记忆。

5.1.2数据输入界面设计

为了减少用户手动输入的次数,增加系统的容忍有力,在数据输入界面设计时就要注意以下几点:

  1. 对于多种字段需要输入里可以采用列表框。比如在输入房间类型,租赁时间时,可以选择信息进行填写。对于需要大量文字描述的特定信息时可以选择特定缩写、数字等来代替;

  2. 对于同一类型的信息在输入时可以采用统一的界面风格,可以培养用户的输入习惯。对于特定信息在输入时可以设定好数据类型,比如在输入手机号时只能输入数字,在输入数量时,只能输入数字。

5.2 主要功能模块实现

5.2.1用户登录功能模块的实现界面

本系统需要登录才可以使用相关功能。用户登录功能的操作步骤为,用户点击用户登录功能,可以跳转到用户登录的窗口界面里,在用户登录的窗口界面里输入账号和密码,然后点击登录按钮。用户登录窗口的界面实现如下图5.1所示:

图5.1用户登录功能的窗口实现界面

用户登录的流程为当用户输入信息后,会自动进行数据的比对,当比对通过可以登录成功,当比对错误会提示账号或者密码错误,需要重新登录的提示。用户登录的流程图如下图5.2所示:

图5.2用户登录的流程

5.2.2修改密码功能模块的界面实现

修改密码可以保证账号的安全,本功能为基础功能。修改密码的实现如下图5.3所示:

图5.3修改登录密码的功能实现界面

5.2.3用户注册模块功能的实现

用户注册功能可以实现成为本系统用户的作用。当用户点击用户注册功能时界面会进入新的注册界面。注册的流程为用户填写注册信息,数据库先进行判断数据是否正确,如果正确可以在数据库中插入用户信息,如果信息错误,则会提示注册失败。用户注册功能的流程如下图5.4所示:

图5.4用户注册功能的实现流程

用户注册的实现界面如下图5.5所示:

图5.5用户注册功能的实现界面

5.2.4评价功能模块的界面实现

用户评价的流程为用户点击评价功能,然后输入评价信息,当评价信息为有效时,可以评价成功,当评价信息为无效时,需要重新评价。用户评价的流程如下图5.6所示:

图5.6用户评价的流程图

用户评价的实现界面如下图5.7所示:

图5.7用户评价的实现效果界面

5.2.5新闻公告功能模块的实现界面

公告信息是由管理员负责管理的,用户可以在前台看到公告的详细信息,在公告功能里,公告可以由列表进行标题、时间的展示。当想了解具体的公告信息时,可以点击标题进入公告详情界面。公告功能的实现界面如下图5.8所示:

图5.8公告功能的实现界面

5.2.6民宿详情的功能实现界面

在民宿详情界面里可以看到详细的民宿信息,包括类型、户型、面积、价格等。民宿详情里有联系方式,用户可以实现在线预订。民宿详情的实现界面如下图5.9所示:

图5.9民宿详情功能模块的实现界面

5.2.7在线预订功能模块的实现界面

用户在预订民宿时需要填写入住日期、入住天数和订单备注。在线预订信息的实现界面如下图5.10所示:

图5.10在线预订功能的实现界面

5.2.8民宿预订管理功能界面的实现

用户预订成功后可以管理预订信息。民宿预订管理功能的实现界面如下图5.11所示:

图5.11民宿预订管理功能的实现界面

5.3房主注册功能的实现界面

房主也可以通过注册实现系统的使用。实现界面如下图5.12所示:

图5.12房主注册功能的实现界面

5.3.1房主功能界面的实现

本界面分为图片、文字、标题、按键、列表等。房主可以发布民宿和管理预订信息以及个人信息。房主界面的实现效果如下图5.13所示:

图5.13房主功能界面的运行实现效果

5.4管理员功能的实现界面

管理员的功能为用户管理、房主管理、民宿管理、房间类型管理、预订管理和系统管理等。实现界面如下图5.14所示:

图5.14管理员功能的实现界面

相关推荐
阳光九叶草LXGZXJ7 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
字节渡客8 小时前
Redis键明明过期了,业务还在读到旧数据
数据库·redis·spring
daidaidaiyu8 小时前
ThingsBoard 集群的核心逻辑源码分析
java
我可能是个假开发9 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
caoerzhong9 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
OnlineProxy10 小时前
亚马逊多账号运营:如何在规避“关联封号”风险的同时实现电商规模化扩张
服务器·数据库·redis
【JAVA】玩家10 小时前
Spring核心原理全解析:从零到生产实战
java·后端·spring
Wang's Blog11 小时前
Java框架 SpringCloud 快速入门: 实现 Feign 最佳实践(抽取方式)
java·spring cloud
辻弋20111 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
MandalaO_O11 小时前
IDEA 开发(快捷键 + 调试 + 序列化)
java·ide·intellij-idea