【springboot家政服务预约平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案

摘 要

随着家政服务需求的不断增长,一个高效、便捷的预约平台成为必要。本系统针对传统家政服务平台资源分散、管理不便和用户体验不佳的问题进行了优化设计。通过构建基于Spring Boot框架的后端服务,并采用MySQL数据库存储数据,结合微信小程序前端展示,实现了普通用户、家政用户和管理员三大模块的功能分离。普通用户可浏览家政服务、在线反馈、查看新闻资讯和个人信息管理;家政用户能够发布服务并审核预约;管理员则负责全面管理包括服务类型、预约信息、评价管理在内的所有资源。系统特别强调了用户的个性化需求,比如收藏、点赞、评论等互动功能,以及对在线反馈的支持。前后端分离的设计不仅提升了系统的扩展性和维护性,而且大幅改善了用户体验,使得家政服务预约更加便捷高效,同时增强了平台资源管理的有效性和灵活性。

键词家政服务预约平台;微信小程序;Java;Spring Boot

Abstract

With the growing demand for housekeeping services, an efficient and convenient booking platform has become necessary. This system is optimized for the problems of scattered resources, inconvenient management and poor user experience of traditional housekeeping service platforms. By building a back-end service based on the Spring Boot framework, using a MySQL database to store data, and combining with the front-end display of WeChat Mini Programs, the functions of ordinary users, housekeeping users and administrators are separated. Ordinary users can browse housekeeping services, give online feedback, view news and personal information management; Housekeeping users are able to post services and review appointments; The administrator is responsible for the overall management of all resources, including service type, reservation information, and review management. The system places special emphasis on the user's personalized needs, such as interactive features such as favorites, likes, comments, etc., as well as support for online feedback. The design of front-end and back-end separation not only improves the scalability and maintenance of the system, but also greatly improves the user experience, making housekeeping service appointments more convenient and efficient, and enhancing the effectiveness and flexibility of platform resource management.

Keywords: housekeeping service booking platform; WeChat Mini Program; Java; Spring Boot

目 录

摘 要

Abstract

1.1 研究背景

1.2 研究目的和意义

1.3 国内外研究现状

1.4 论文组成结构

2开发工具及相关技术介绍

2.1 微信小程序

2.2 Java语言简介

2.3 MySQL数据库介绍

2.4 Spring Boot框架

3系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 功能需求分析

3.3 非功能性分析

3.4 系统用例分析

3.5 系统流程分析

4系统设计

4.1 系统总体目标

4.2 系统功能结构

4.3 数据库设计

4.3.1 概念模型设计

4.3.2 逻辑结构设计

5系统实现

5.1 前台用户功能模块的实现

5.1.1 前台首页模块

5.1.2 用户注册模块

5.1.3 用户登录模块

5.1.4家政服务模块

5.1.5在线反馈模块

5.1.6新闻资讯模块

5.1.7 普通用户我的界面

5.1.8 家政用户我的界面

5.2 后台功能模块的实现

5.2.1后台登录模块

5.2.2系统用户模块

5.2.3 服务类型管理模块

5.2.4 家政服务管理模块

5.2.5 在线反馈管理模块

5.2.6系统管理模块

6系统测试

6.1 测试目的

6.2 测试类型

6.3 可用性测试

6.4 测试结果分析

7总结

参考文献

致 谢


1 绪论

1.1 研究背景

随着社会经济的发展和生活节奏的加快,家庭对于家政服务的需求日益增长,涵盖清洁、育儿、老人护理等多个方面。然而,传统的家政服务预约方式效率低下,往往依赖电话沟通或面对面协商,这不仅耗时费力,而且服务质量参差不齐,难以满足现代家庭对便捷性和专业性的要求。此外,信息不对称问题也导致了供需双方难以高效匹配,用户在寻找合适的家政服务时面临诸多不便,而家政服务提供者同样难以找到稳定的工作机会。

在此背景下,借助信息技术手段优化家政服务流程,成为了提升行业效率和服务质量的关键所在。互联网平台的兴起为解决这些问题提供了可能,通过在线预约系统,可以实现家政服务信息的透明化和流程的标准化,有助于打破信息壁垒,提高资源匹配效率。特别是移动互联网和智能设备的普及,使得基于微信小程序等轻量级应用的服务预约变得更加便捷,极大地提升了用户体验,同时也为家政服务行业的数字化转型奠定了基础。

1.2 研究目的和意义

本研究旨在通过设计并实现一个基于Spring Boot、Java、MySQL以及微信小程序的家政服务预约平台,解决传统家政服务预约方式中存在的效率低下、服务质量不一和信息不对称的问题。具体目标包括构建一个易于使用、功能全面的系统,使得普通用户能够方便快捷地查找和预约家政服务,家政服务提供者可以有效地管理和推广自己的服务,同时为管理员提供强大的后台支持以维护系统的正常运行和资源管理。

本研究的意义在于推动家政服务行业的数字化转型,通过技术创新改善现有家政服务模式,提升服务效率和服务质量,满足现代社会对便捷性和专业性的需求。此外,通过建立透明、高效的沟通机制,不仅有助于缓解供需双方的信息不对称问题,还能够增强用户体验,促进家政服务市场的健康发展。长远来看,这将有助于提高整个社会的生活质量,并为其他类似服务业提供宝贵的实践经验和技术参考。

1.3 国内外研究现状

在国内,家政服务预约平台的发展随着互联网技术的进步而逐渐兴起。早期的研究主要集中在如何利用网络技术提高家政服务的信息透明度和匹配效率上,例如通过建立简单的在线信息发布和查询系统来解决信息不对称的问题。近年来,随着移动互联网的普及,研究重点转向了基于智能手机应用的服务预约系统,特别是微信小程序的广泛应用为用户提供了更加便捷的服务体验。这些平台不仅关注于提升用户体验,还致力于优化家政服务提供者与需求者之间的互动机制。

在国外,家政服务预约平台的研究起步较早,并且在技术和商业模式上均有较为成熟的发展。初期的研究多集中于探索如何通过信息化手段改善服务质量。进入21世纪后,随着共享经济模式的流行,以TaskRabbit、Thumbtack为代表的创新型平台开始崭露头角,它们通过构建一个连接家政服务提供者和消费者的市场,使得服务预约变得更加灵活高效。同时,对隐私保护和数据安全的关注也成为了研究的重要方向之一。

总体而言,国内外在家政服务预约平台的研究和发展方面均取得了显著进展,但侧重点有所不同。国内研究更多地聚焦于如何借助本土流行的社交媒体工具提升用户体验和服务效率;而国外则更注重通过创新商业模式和技术手段,如共享经济模式的应用,来满足市场需求。尽管存在差异,两者都致力于通过信息技术改善传统家政服务行业的不足,推动行业向更加智能化、高效化的方向发展。

1.4 论文组成结构

本文的结构按逻辑顺序分为以下几个章节:

第1章绪论,本章节介绍研究背景和意义,回顾当前研究现状,并阐明本文主要组织结构。

第2章系统关键技术,本章节将对家政服务预约平台的实现关键技术进行简要介绍。

第3章系统分析,本章节基于市场调研,分析家政服务预约平台的可行性、功能、角色、性能等需求,明确各模块的业务需求。

第4章系统设计,本章节详细阐述系统的整体架构设计,包括前后端结构、数据库设计及功能模块的设计思路。

第5章系统实现,本章节介绍系统各主要模块的具体实现,包括代码示例、业务逻辑及界面设计等。

第6章系统测试,本章节描述系统的测试方法及结果,分析系统的性能、稳定性及用户反馈。

第7章结论,本章节对主要对研究成果进行总结。

2 开发工具及相关技术介绍

2.1 微信小程序

微信小程序开发工具[1]是为开发者提供的官方集成开发环境(IDE),旨在简化和加速微信小程序的创建与调试过程。它支持代码编辑、智能提示、实时预览及调试等功能,使开发者能够高效编写前端界面与后端逻辑。该工具内置了丰富的API接口和组件库,便于实现多样化的应用功能。同时,它还集成了云开发能力,允许开发者直接在小程序中使用云端数据库、存储和计算资源,极大地降低了开发门槛,提升了开发效率,非常适合个人开发者和企业快速构建并发布微信小程序[2]。

2.2 Java语言简介

Java语言是我们目前生活中最常用的语言,它是一门面向对象的编程语言[3],不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,所以Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统嵌入式系统应用程序等[4]。

2.3 MySQL数据库介绍

MySQL是一种开源的关系型数据库管理系统[5],由瑞典MySQL AB公司开发,现在由Oracle公司维护。MySQL支持多个操作系统,包括LinuxWindows、macOS等。它是一种客户端/服务器模式的数据库,提供高效、可靠、稳定的数据存储和管理服务。MySQL是目前最流行的开源关系型数据库之一,被广泛应用于Web应用程序、企业应用程序和移动应用程序等领域[6]。

2.4 Spring Boot框架

Spring Boot[7]是一款基于Java的开源框架,旨在简化新Spring应用的初始搭建以及开发过程。它通过提供默认配置和约定优于配置的原则,使开发者能够快速上手,减少繁琐的配置工作。Spring Boot内置了众多开箱即用的功能模块,如嵌入式的HTTP服务器(Tomcat、Jetty等)、安全机制、数据库访问支持(JPA、MyBatis等),极大地方便了Web应用和服务端开发。此外,它还集成了Spring生态系统的其他项目,如Spring Data、Spring Security等,为构建微服务架构提供了强有力的支持。凭借其灵活性和强大的功能,Spring Boot成为了现代企业级应用开发的首选框架之一[8]。

3 系统分析

3.1 可行性分析

可行性分析是系统分析的第一步,进行系统的可行性分析是至关重要的。它不仅帮助我们评估项目的潜在风险和挑战,还能确保资源的有效利用,避免不必要的浪费。通过技术、经济和操作三个维度的全面分析,我们可以明确项目的实施路径,确定是否具备成功的基础条件,并为后续的开发和运营提供科学依据。这种系统化的评估有助于识别可能的瓶颈,提前制定应对策略,从而提高项目的成功率和可持续性。

3.1.1 技术可行性

技术可行性方面,本系统采用成熟的Spring Boot框架与MySQL数据库进行开发,结合微信小程序前端展示,这些技术均有良好的社区支持和丰富的资源,能够高效实现预期功能。同时,前后端分离的设计模式有助于提高系统的扩展性和维护性,确保系统的稳定运行。

3.1.2 经济可行性

经济可行性上,利用开源技术和现有的微信平台生态,可以大幅降低开发成本和后续维护费用。此外,通过线上平台的构建减少了传统救助方式中的物理空间需求和人力资源消耗,提高了资源利用效率,使得项目具有较高的经济效益和可持续发展能力

3.1.3 操作可行性

操作可行性方面,系统设计注重用户体验,界面友好,操作简便,无论是普通用户、家政用户还是管理员都能快速上手。并且,基于微信小程序的特性,用户无需额外安装应用,降低了使用门槛,方便各类人群随时随地参与家政服务预约活动。

3.2 功能需求分析

本家政服务预约平台旨在为普通用户、家政服务提供者及管理员提供一套全面的服务解决方案。系统通过清晰的功能模块划分,确保各角色能够高效地完成各自的任务,包括但不限于服务浏览与预约、信息发布与管理、反馈处理等,从而提升用户体验和运营效率。具体功能描述如下:

1. 普通用户功能模块:

首页:提供家政服务的快速入口及推荐服务,让用户一目了然地了解平台的核心功能。

家政服务:用户可以详细浏览各类家政服务的具体内容,包括价格、时长和服务详情,并进行预约操作。

在线反馈:允许用户提交关于服务质量或平台使用体验的反馈,帮助改进服务和解决问题。

新闻资讯:展示与家政服务相关的最新动态和资讯,使用户能够及时获取行业信息。

我的:集中管理用户的个人信息、收藏的服务、历史预约记录、评价信息以及提交的反馈,便于用户查看和编辑个人资料。

2. 家政用户功能模块:

首页:为家政用户提供一个简洁的界面,展示重要通知和服务需求趋势,帮助他们快速了解当前市场动态。

家政服务:允许家政用户发布和管理自己的服务项目,包括设置服务价格、时长和服务详情,并能查看服务请求。

新闻资讯:提供行业最新消息和更新,使家政用户能够紧跟市场变化,优化自身服务内容和策略。

我的:家政用户可以在此管理个人信息、查看收藏的服务信息、处理预约请求、查看客户评价,以及调整已发布的服务详情。

3. 管理员功能模块:

后台首页:提供系统整体运行状况的概览,包括用户活动、服务请求和反馈统计等关键指标。

系统用户:管理平台所有注册用户的账户信息,执行添加、编辑或删除操作以维护用户数据的准确性。

服务类型管理:定义和调整家政服务的类别,确保服务分类清晰准确,便于用户查找所需服务。

家政服务管理:审核新发布的家政服务项目,保证服务质量,并根据需要更新或移除不符合标准的服务。

预约信息管理:监督和处理所有家政服务的预约请求,确保预约流程顺畅且高效。

评价信息管理:查看并管理员工收到的客户评价,帮助提升服务质量及解决潜在问题。

在线反馈管理:审查用户提交的反馈信息,及时回应用户关切,持续改进平台体验。

系统管理:更新和维护平台首页的轮播图内容,吸引用户关注热门服务或重要通知。

公告通知管理:发布和管理对平台用户的公告通知,确保信息传达及时有效,增强用户沟通。

资源管理:管理和更新平台上的新闻资讯及资讯分类,为用户提供有价值的信息资源。

3.3 非功能性分析

系统非功能需求指的是性能需求,即对一个系统的性能需求进行分析和定义的过程。在进行性能需求分析时,因此家政服务预约平台的设计与实现主要需要考虑以下几个方面的性能需求:

响应时间:响应时间是指系统在接收到请求后,作出响应的时间。根据具体的业务需求和用户体验要求,可以确定系统在不同场景下的响应时间要求。

吞吐量:吞吐量是指系统在一定时间内处理的事务或请求的数量。根据业务需求和用户量的估计,可以确定系统需要支持的最大吞吐量。

并发用户数:并发用户数是指系统在同时使用的用户数量。根据预期的用户量和并发访问需求,可以确定系统需要支持的最大并发用户数。

可扩展性:可扩展性是指系统在面对用户量增加或并发访问需求增加时,能否通过增加硬件资源或调整系统架构来满足需求。根据预期的用户增长和扩展计划,可以确定系统需要具备的可扩展性要求。

故障处理能力:系统对故障的处理能力是指在出现错误或故障时,系统能够快速、准确地识别、定位并处理故障的能力。根据业务的重要性和对故障处理的要求,可以确定系统需要具备的故障处理能力。

安全性:系统在性能需求分析中,也需考虑安全方面的需求,如数据的保密性、完整性和可用性等。根据具体的安全需求和合规要求,可以确定系统需要满足的安全性需求。

通过对这些性能需求进行详细分析和定义,可以为家政服务预约平台的设计和开发提供指导,确保系统在满足预期的性能需求的同时,具备良好的性能和可靠性。

3.4 系统用例分析

系统用例分析在家政服务预约平台的开发过程中起到了至关重要的作用,它通过详细描述系统中不同用户角色与系统之间的交互过程,明确了每个角色的功能需求和操作流程。这不仅有助于确保设计出的系统能够满足用户的实际需要,提高系统的易用性和用户体验,同时也为开发团队提供了清晰的方向和依据,保证了开发工作的高效进行,并有利于后续的系统测试和维护工作。

普通用户角色用例如图3-1所示。

图3-1 普通用户用例图

家政用户角色用例如图3-2所示。

图3-2 家政用户用例图

管理员用例图如图3-3所示。

图3-3 管理员用例图

3.5 系统流程分析

家政服务预约平台支撑整个机构不同层面的多种职能,而各功能模块间存在着多种关联信息,组成一个有机整体,并针对就业数据自身特点和面临的现实条件,对系统进行流程图设计。活动图是一种用于对系统的动态行为建模的另一种常用图表,通常用于可视化展示系统中各个活动的执行顺序、流程控制和数据交互,展现从一个活动到另一个活动的控制流,活动图在本质上是一种流程图;但活动图着重表现从一个活动到另一个活动的控制流。因此,这里列举了2个业务活动图。

(1)用户登录查询的业务流程如下。

用户注册登录,系统从数据库获取用户数据信息,登录成功用户进入查询页面,用户输入查询关键字,数据库查询用户所输入的关键字,查询成功显示查询的模块信息,查询失败不显示。用户登录查询功能的活动图如图3-4所示。

图3-4 用户登录查询活动图

(2)管理员添加信息的业务流程如下。

此活动图描述了管理员添加信息。管理员可以通过信息管理模块页面选择要添加的基本信息。添加成功传入数据库中,失败则不添加。管理员可以保存信息并更新系统中的信息。管理员添加信息功能的活动图如图3-5所示。

图3-5 管理员添加信息活动图

4 系统设计

4.1 系统总体目标

家政服务预约平台主要服务于家政服务预约管理,利用网络改变传统家政服务预约模式,简化家政服务预约平台流程,减轻传统家政服务预约平台带来的工作负担和降低大量资源的消耗。本系统达到的目标主要有以下几点:

(1)通过简单的页面设计和便捷的功能操作,保证系统的简单性和实用性,形成良好的用户体验。

(2)本系统主要针对家政服务预约平台需求进行设计开发,突出较强的针对性。

(3)能够具有一定的安全机制,保证用户信息的安全性。

4.2 系统功能结构

通过整体功能模块设计,我们将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。系统总体功能模块图如下图所示。

图4-2 系统功能结构图

4.3 数据库设计

4.3.1 概念模型设计

借助先进的系统,E-R图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。根据家政服务预约平台分析结果,本家政服务预约平台总体E-R图如下图所示。

图4-3 系统E-R图

4.3.2 逻辑结构设计

逻辑结构设计则细化了概念模型,定义了具体的数据表、字段类型及约束条件,如用户表包含用户ID、用户名、密码等字段,并设置了主键和外键以确保数据的完整性和一致性。家政服务预约平台所需要的部分数据结构表如下表所示。

表 4-1-access_token(登陆访问时长)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

token_id

int

临时访问牌ID

2

token

varchar

64

临时访问牌

3

info

text

65535

信息

4

maxage

int

最大寿命:默认2小时

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

user_id

int

用户编号

表 4-2-article(文章)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

article_id

mediumint

文章id

2

title

varchar

125

标题

3

type

varchar

64

文章分类

4

hits

int

点击数

5

praise_len

int

点赞数

6

create_time

timestamp

创建时间

7

update_time

timestamp

更新时间

8

source

varchar

255

来源

9

url

varchar

255

来源地址

10

tag

varchar

255

标签

11

content

longtext

4294967295

正文

12

img

varchar

255

封面图

13

description

text

65535

文章描述

表 4-3-article_type(文章分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

type_id

smallint

分类ID

2

display

smallint

显示顺序

3

name

varchar

16

分类名称

4

father_id

smallint

上级分类ID

5

description

varchar

255

描述

6

icon

text

65535

分类图标

7

url

varchar

255

外链地址

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

表 4-4-auth(用户权限管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

auth_id

int

授权ID

2

user_group

varchar

64

用户组

3

mod_name

varchar

64

模块名

4

table_name

varchar

64

表名

5

page_title

varchar

255

页面标题

6

path

varchar

255

路由路径

7

parent

varchar

64

父级菜单

8

parent_sort

int

父级菜单排序

9

position

varchar

32

位置

10

mode

varchar

32

跳转方式

11

add

tinyint

是否可增加

12

del

tinyint

是否可删除

13

set

tinyint

是否可修改

14

get

tinyint

是否可查看

15

field_add

text

65535

添加字段

16

field_set

text

65535

修改字段

17

field_get

text

65535

查询字段

18

table_nav_name

varchar

500

跨表导航名称

19

table_nav

varchar

500

跨表导航

20

option

text

65535

配置

21

create_time

timestamp

创建时间

22

update_time

timestamp

更新时间

表 4-5-code_token(验证码)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

code_token_id

int

验证码ID

2

token

varchar

255

令牌

3

code

varchar

255

验证码

4

expire_time

timestamp

失效时间

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-6-collect(收藏)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

collect_id

int

收藏ID

2

user_id

int

收藏人ID

3

source_table

varchar

255

来源表

4

source_field

varchar

255

来源字段

5

source_id

int

来源ID

6

title

varchar

255

标题

7

img

varchar

255

封面

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

表 4-7-comment(评论)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

comment_id

int

评论ID

2

user_id

int

评论人ID

3

reply_to_id

int

回复评论ID

4

content

longtext

4294967295

内容

5

nickname

varchar

255

昵称

6

avatar

varchar

255

头像地址

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

9

source_table

varchar

255

来源表

10

source_field

varchar

255

来源字段

11

source_id

int

来源ID

表 4-8-evaluation_information(评价信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

evaluation_information_id

int

评价信息ID

2

service_name

varchar

64

服务名称

3

service_type

varchar

64

服务类型

4

home_user

int

家政用户

5

ordinary_user

int

普通用户

6

user_name

varchar

64

用户姓名

7

service_evaluation

varchar

64

服务评价

8

date_of_evaluation

date

评价日期

9

evaluation_content

text

65535

评价内容

10

create_time

datetime

创建时间

11

update_time

timestamp

更新时间

12

source_table

varchar

255

来源表

13

source_id

int

来源ID

14

source_user_id

int

来源用户

表 4-9-hits(用户点击)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

hits_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

表 4-10-home_user(家政用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

home_user_id

int

家政用户ID

2

name_of_personnel

varchar

64

人员姓名

3

age_of_personnel

varchar

64

人员年龄

4

gender_of_staff

varchar

64

人员性别

5

qualification_certificate

varchar

255

资质证明

6

examine_state

varchar

16

审核状态

7

user_id

int

用户ID

8

create_time

datetime

创建时间

9

update_time

timestamp

更新时间

表 4-11-housekeeping_service(家政服务)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

housekeeping_service_id

int

家政服务ID

2

service_name

varchar

64

服务名称

3

service_type

varchar

64

服务类型

4

cover_image

varchar

255

封面图片

5

home_user

int

家政用户

6

service_price

double

服务价格

7

service_duration

varchar

64

服务时长

8

service_instructions

text

65535

服务须知

9

service_details

longtext

4294967295

服务详情

10

hits

int

点击数

11

praise_len

int

点赞数

12

collect_len

int

收藏数

13

comment_len

int

评论数

14

examine_state

varchar

16

审核状态

15

reservation_information_limit_times

int

预约限制次数

16

create_time

datetime

创建时间

17

update_time

timestamp

更新时间

表 4-12-notice(公告)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

notice_id

mediumint

公告ID

2

title

varchar

125

标题

3

content

longtext

4294967295

正文

4

create_time

timestamp

创建时间

5

update_time

timestamp

更新时间

表 4-13-online_feedback(在线反馈)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

online_feedback_id

int

在线反馈ID

2

title_name

varchar

64

标题名称

3

type_of_feedback

varchar

64

反馈类型

4

feedback_user

int

反馈用户

5

feedback_date

date

反馈日期

6

feedback_content

text

65535

反馈内容

7

examine_state

varchar

16

审核状态

8

examine_reply

varchar

255

审核回复

9

create_time

datetime

创建时间

10

update_time

timestamp

更新时间

表 4-14-ordinary_user(普通用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

ordinary_user_id

int

普通用户ID

2

user_name

varchar

64

用户姓名

3

user_age

varchar

64

用户年龄

4

user_gender

varchar

64

用户性别

5

examine_state

varchar

16

审核状态

6

user_id

int

用户ID

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间

表 4-15-praise(点赞)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

praise_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

status

tinyint

点赞状态:1为点赞,0已取消

表 4-16-reservation_information(预约信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

reservation_information_id

int

预约信息ID

2

service_name

varchar

64

服务名称

3

service_type

varchar

64

服务类型

4

home_user

int

家政用户

5

service_price

double

服务价格

6

ordinary_user

int

普通用户

7

user_name

varchar

64

用户姓名

8

appointment_time

datetime

预约时间

9

appointment_remarks

text

65535

预约备注

10

examine_state

varchar

16

审核状态

11

examine_reply

varchar

255

审核回复

12

pay_state

varchar

16

支付状态

13

pay_type

varchar

16

支付类型: 微信、支付宝、网银

14

evaluation_information_limit_times

int

评价限制次数

15

create_time

datetime

创建时间

16

update_time

timestamp

更新时间

17

source_table

varchar

255

来源表

18

source_id

int

来源ID

19

source_user_id

int

来源用户

表 4-17-service_type(服务类型)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

service_type_id

int

服务类型ID

2

service_type

varchar

64

服务类型

3

create_time

datetime

创建时间

4

update_time

timestamp

更新时间

表 4-18-slides(轮播图)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

slides_id

int

轮播图ID

2

title

varchar

64

标题

3

content

varchar

255

内容

4

url

varchar

255

链接

5

img

varchar

255

轮播图

6

hits

int

点击量

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

表 4-19-upload(文件上传)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

upload_id

int

上传ID

2

name

varchar

64

文件名

3

path

varchar

255

访问路径

4

file

varchar

255

文件路径

5

display

varchar

255

显示顺序

6

father_id

int

父级ID

7

dir

varchar

255

文件夹

8

type

varchar

32

文件类型

表 4-20-user(用户账户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_id

int

用户ID

2

state

smallint

账户状态:(1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

所在用户组

4

login_time

timestamp

上次登录时间

5

phone

varchar

11

手机号码

6

phone_state

smallint

手机认证:(0未认证|1审核中|2已认证)

7

username

varchar

16

用户名

8

nickname

varchar

16

昵称

9

password

varchar

64

密码

10

email

varchar

64

邮箱

11

email_state

smallint

邮箱认证:(0未认证|1审核中|2已认证)

12

avatar

varchar

255

头像地址

13

open_id

varchar

255

针对获取用户信息字段

14

create_time

timestamp

创建时间

表 4-21-user_group(用户组)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

group_id

mediumint

用户组ID

2

display

smallint

显示顺序

3

name

varchar

16

名称

4

description

varchar

255

描述

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

register

smallint

注册位置

9

create_time

timestamp

创建时间

10

update_time

timestamp

更新时间

5 系统实现

5.1 前台用户功能模块的实现

5.1.1 前台首页模块

前台小程序首页为用户提供一个综合信息展示平台,包括家政服务、在线反馈等,通过清晰的布局和分类让用户能够快速找到感兴趣的内容,并参与互动。其首页界面展示如下图5-1所示。

图5-1 前台首页界面图

5.1.2 用户注册模块

用户注册模块为新用户提供简便的注册流程,新用户可通过填写基本信息完成注册,系统会自动生成用户资料,支持后续完善个人信息,保障了用户的便捷性和数据完整性。用户注册界面展示如下图5-2所示。

图5-2注册界面图

用户注册的关键代码如下:

    /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

5.1.3 用户登录模块

用户登录模块实现了安全快捷登录功能,用户只需填写用户名和密码即可完成登录,系统根据用户角色自动跳转至相应界面,确保用户体验流畅且个性化。用户登录界面如下图5-3所示。

图5-3用户登录界面图

登录的逻辑代码如下所示。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

5.1.4家政服务模块

家政服务模块展示了详细的家政服务信息,包括家政用户、服务价格、服务时长、服务须知、服务详情等,用户可以点赞、收藏或评论,同时支持家政服务预约功能。家政服务界面如下图5-4所示。

图5-4 家政服务界面图

查询家政服务的逻辑代码如下所示。

   @RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

    }

服务预约界面如下图5-6所示。

图5-5 服务预约界面图

5.1.5在线反馈模块

在线反馈模块允许用户提交关于平台使用体验或改进建议的反馈,后台设有专门模块收集这些意见,并由管理员审核处理,确保平台能够持续优化服务。在线反馈界面如下图5-6所示。

图5-6 在线反馈界面图

提交在线反馈信息的逻辑代码如下所示。

   @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

5.1.6新闻资讯模块

新闻资讯模块旨在为用户提供最新、最相关的家政服务行业动态和平台更新信息。通过简洁直观的界面设计,用户可以轻松浏览各类资讯文章,并根据个人兴趣选择阅读。新闻资讯界面如下图5-7所示。

图5-7 新闻资讯界面图

5.1.7 普通用户我的界面

普通用户的“我的”模块是一个集个人信息管理、服务互动于一体的综合功能区。用户可以在此查看和编辑自己的基本信息,如联系方式和个人简介等,以保持资料的最新状态。此外,还能查看历史预约记录、已收藏的服务以及提交的评价和反馈,便于回顾和管理自己的使用经历。普通用户我的界面如下图5-8所示。

图5-8普通用户我的界面图

5.1.8 家政用户我的界面

家政用户的“我的”模块专注于提供高效的服务管理和业务优化工具。在家政用户登录后,他们可以通过此模块查看和更新个人信息、管理发布的服务详情,包括调整价格和服务描述等。同时,家政用户还可以处理收到的预约请求,查看客户评价,以便及时改进服务质量。家政用户我的界面如下图5-9所示。

图5-9家政用户我的界面图

5.2 后台功能模块的实现

5.2.1后台登录模块

管理员的后台登录页面设计简洁且安全,提供了用户名和密码输入框以及验证码验证功能,确保只有授权人员能够访问管理系统。成功登录后,管理员将被引导至后台首页,概览系统的关键运行状态。后台登录界面如下图5-10所示。

图5-10 后台登录界面图

5.2.2系统用户模块

系统用户模块实现对所有注册用户的集中管理和维护,管理员可以审核新注册用户的信息,监控用户行为,必要时进行账户封禁或权限调整操作,同时支持批量导出用户数据用于分析和报告,保障了平台的安全性和合规性。系统用户界面如下图5-11所示。

图5-11 系统用户界面图

修改用户信息关键代码如下:

   @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }

5.2.3 服务类型管理模块

服务类型管理模块使管理员能够定义、更新家政服务的分类标准,以满足市场变化和服务扩展的需求。管理员可以轻松添加新的服务类别或修改现有类别。服务类型管理界面如下图5-12所示。

图5-12 服务类型管理界面图

5.2.4 家政服务管理模块

在家政服务管理模块中,管理员负责审核新发布的家政服务项目,确保其符合平台的质量标准,并及时调整或移除不符合要求的服务。该模块还支持对服务详情的直接编辑,如价格、时长和服务说明等,以优化用户体验并提高服务质量。家政服务审核界面如下图5-13所示。

图5-13 家政服务审核界面图

家政服务审核关键代码如下:

     @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }

5.2.5 在线反馈管理模块

在线反馈管理模块让管理员能够集中处理用户的反馈信息,包括查看、回复和解决用户提出的问题或建议。该模块不仅有助于提升用户满意度,还能为平台改进提供宝贵的意见。管理员可以通过标记状态来跟踪反馈的处理进度,确保每个问题都得到妥善解决。在线反馈审核界面如下图5-14所示。

图5-14 在线反馈审核界面图

5.2.6系统管理模块

轮播图管理模块是系统管理的一部分,专门用于更新和维护平台首页展示的轮播图内容。管理员可以上传新图片、设定显示顺序及链接地址,用以推广热门服务或重要公告。轮播图界面如下图5-15所示。

图5-15 轮播图界面图

上传轮播图关键代码如下:

   @PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            //判断有没路径,没有则创建

            String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

            String fileName = file.getOriginalFilename();

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

    }

6 系统测试

6.1 测试目的

系统的测试目的在于确保家政服务预约平台在功能、性能、安全性和用户体验等方面均达到预期标准。通过全面的测试,验证各模块的正确性和稳定性,确保不同类型的用户能够顺畅地使用系统完成各自的任务。同时,测试还致力于发现并修正潜在的问题和缺陷,优化系统响应速度和数据处理能力,保障系统的可靠运行,并为用户提供一个安全、高效、便捷的服务平台。

6.2 测试类型

检测系统是否合格,需要用到很多的测试类型。接下来就对这部分内容进行描述。

功能测试:这是系统测试中,首先进行的测试内容,其属于黑盒测试。主要检验制作的系统与需求说明文档的相符程度,还有它们之间存在的差异问题。

性能测试:主要测试制作的系统,在同时面对很多的用户请求时,该系统的应对能力。同时也是检查制作的系统跟事先预定的系统性能存在的差距问题。这样的方法通常在实时系统中,或者是嵌入式系统中运用得比较多。

容量测试:这种方法针对数据。检查正常运行的系统对数据处理的容量值。

安全性测试:这种方法常用于检验系统中设置的安全保护机制对来自非法用户的攻击时是否有效。而检测系统中的信息保护机制就需要使用常见安全测试中的保护测试来验证。

健壮性测试:这种测试还有一个别称是容错测试,通常运用故障插入法来检测系统的容错能力,看系统是否可以忽略故障保持继续运行,或者是检测系统应对故障时的自动恢复能力。

兼容性测试:面对计算机的各种软硬件环境,检测本系统是否可以兼容。

易用性测试:这种方法主要是面向用户,检测用户是否很容易理解和使用系统。

家政服务预约平台在经历最后的测试环节,需要检验本系统的功能安全性,功能适用性等内容,最终得出测试结论。

表6-1 功能测试数据表

测试内容

测试结果

系统功能的适用性

符合要求

系统功能的依从性

符合要求

系统功能的安全性

符合要求

系统功能的准确性

符合要求

系统功能的可操作性

符合要求

6.3 可用性测试

通常来说,一个布局合理,显示的内容无错别字,并具备合理正常的操作逻辑的系统往往很受欢迎,而且可以提升访问者的使用时间以及访问率。

表6-2 可用性测试数据表

测试内容

测试结果

检查系统的操作逻辑合不合理

合理

检查系统的功能布局合不合理

合理

检查系统能否支持鼠标和键盘

检查系统反馈的提示有无错别字

检查系统功能有无友好性

检查系统页面能否正常关闭

检查系统各数据项有无错误

检查系统有无提供帮助信息

6.4 测试结果分析

家政服务预约平台经过了编码阶段的单元测试,和最后的系统整体测试等测试后,对于用户要求的功能,本系统都进行了实现,各个模块都运行正常。在面对一些故障性问题时,本系统也有相应的应对办法,并且本系统可以保持24小时正常运转。因此,基于大数据的面向高校的家政服务预约平台可以交付用户使用。

7 总结

本研究围绕家政服务预约平台的开发与实现展开,旨在通过现代信息技术为普通用户、家政用户和管理员提供高效、便捷的家政服务预约平台。研究从需求分析入手,明确了用户、家政用户和管理员的功能需求,并结合非功能需求进行了系统可行性分析。系统采用 B/S 架构,基于Java语言和Spring Boot框架进行开发,结合微信小程序实现移动终端支持,同时利用MySQL数据库进行数据存储与管理。在系统设计阶段,详细规划了架构设计、功能设计和数据库设计,确保系统的模块化与可扩展性。系统实现部分按照功能模块逐一开发,完成了用户、管理员和家政用户的各项功能。系统测试阶段,针对主要功能进行了全面测试,验证了功能的正确性和系统的稳定性,测试结果表明系统各项功能均达到预期目标。

通过本次研究,家政服务预约平台的开发不仅为用户提供了便捷的家政服务预约管理工具,也为家政用户和管理员提供了高效的工作平台。系统的成功实现证明了所选技术栈的合理性与可行性,为后续的优化与功能扩展奠定了坚实基础。未来,随着技术的不断进步和用户需求的进一步明确,系统有望在更广泛的场景中发挥重要作用。

参考文献

  1. 张引,赵玉丽,张斌,等.微信小程序全栈开发技术与实战[M].人民邮电出版社:202212.258.
  2. 千锋教育.微信小程序开发与实战[M].人民邮电出版社:202209.367.
  3. 陈敬宗.计算机软件Java编程特点与技术应用分析[J].中国信息界,2025,(01):162-164.
  4. 柯灵.Java编程语言在计算机软件开发中的应用与问题处理探析[J].电脑知识与技术,2024,20(27):45-47.
  5. 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
  6. 肖睿,李鲲程,范效亮,等.MySQL数据库应用技术及实践[M].人民邮电出版社:202206.228.
  7. 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
  8. 李兴华,马云涛.Spring开发实战[M].人民邮电出版社:202303.381.
  9. 刘波,庄媛.互联网时代家政行业如何多元发展[N].天津日报,2025-01-27(012).
  10. Ahmed U J ,Talukder S M ,Talukdar A , et al.Sheba.xyz: Codifying household service solutions using a digital platform[J].Journal of Information Technology Teaching Cases,2024,14(2):290-298.
  11. Ettarfi K .Conceptualizing labor agency through resilience: Practices of reassembling work on domestic services platforms[J].Geoforum,2024,156104130-104130.
  12. 李泊锐,李蕊婷,高巧依.数字化趋势下家政服务平台的生态网络构建现状及对策探析——以宁波市三个阿姨信息科技有限公司为例[J].上海商业,2024,(10):18-20.
  13. 何晓荣,赖桂冰.家政服务业经营管理模式改革探究[J].今日财富,2024,(30):56-58.
  14. 王凯文.基于深度学习的家政服务推荐平台研究与应用[D].太原师范学院,2024.
  15. 邹连飞.A家政公司O2O管理模式的优化研究[D].广州大学,2024.
  16. 赵爽,赵丹丹.基于区块链技术的家政服务信用体系构建研究[J].网络安全技术与应用,2023,(09):124-126.
  17. 推进家政服务业提质扩容升级家政服务信用信息平台[J].中国信用,2023,(06):20-21.
  18. 吕怡楠.互联网时代下的家政服务业发展研究[J].上海商业,2023,(01):89-91.
  19. Jianjun Y ,Yanli F ,Yuanguang Z , et al.Pricing and quality strategies for an on-demand housekeeping platform with customer-intensive services[J].Transportation Research Part E,2022,164
  20. 龙凤,友邻优生活B2B2C家服在线交易平台(微信小程序端)V2.0.重庆市,家无忧(重庆)网络科技有限公司,2022-04-28.

致 谢

在此论文完成之际,感谢我的指导老师。在指导老师的网页设计课上,当时我学到了很多东西,这对于我实习过程中也打了一定的基础,而且指导老师对于我的设计也提出许多建议,并予以悉心的指导,对于一些细小的问题都耐心的指导我去完善,授予我写论文的心得,时常的鼓励我,另外感谢教导我完善此项目的前端同学,对于这个项目,我是边学习边实现完成的,有许多东西开始并不是很明白,但前端开发的同学非常耐心的引导我去将这个项目完成,在系统的后端开发中,所用到的后台开发技术也时常会给我讲解,助于我更好的将论文完成,在此对帮助到我的同学和一直予以教导的指导老师致以衷心的感谢,祝事业有成。

免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!

免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!

免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值