一、前言
随着现代社会生活节奏的加快,人们对家政服务的需求日益增长。家政服务涵盖了家庭清洁、保姆、月嫂、老人护理等多个领域,传统的家政服务管理方式存在诸多问题,如信息不透明、服务人员与客户匹配效率低、服务质量难以保障等。同时,互联网技术的快速发展为家政服务的创新管理提供了新的机遇。
本家政服务系统采用 Spring Boot、HTML 和 MySQL 构建。Spring Boot 作为后端框架,具有快速搭建、便捷配置的特性,能高效处理业务逻辑,如用户管理、订单流程等。HTML 用于构建系统的前端页面,通过它创建直观、易用的用户界面,满足不同用户角色(客户、服务人员)的交互需求。MySQL 作为关系型数据库,负责存储各类数据,包括用户信息、订单详情、服务人员资料等。三者结合,从后端逻辑处理、前端页面展示到数据持久化存储,形成一个完整、高效且稳定的家政服务系统技术架构。
二、技术环境
前端:HTML、CSS、JavaScript
后端:SpringBoot、SpringMVC、Mybatis
插件:Maven Helper、Lombok、MybatisLog
工具:IDEA、Postman、Maven、Git、Navicat
环境:Windows10、MySQL
三、功能设计
3.1 家政人员用例图如下图所示:
3.2 用户用例图如下图所示:
3.3 管理员用例图如下图所示:
3.4 系统总体模块架构如下图所示:
四、数据库设计
数据库的 E-R 图(实体 - 关系图)是一种强大的工具,用于直观地表示数据库中的实体及其之间的关系。在数据库设计中,E-R 图可以帮助我们清晰地理解数据的结构和流向。限于篇幅要求,仅列出关键部分实体属性图和E-R图,如下所述。
五、部分效果展示
5.1 家政服务系统的用户首页界面顶部为系统标识与导航栏,包含服务分类、个人中心等入口。中部轮播展示热门家政服务推荐。下方分板块呈现所有的服务。
5.2 家政服务界面显示所有的服务,包括不限于搬家、育儿、保洁等服务。
5.3 用户查看家政服务详情界面顶部展示服务名称,中间为服务的详细介绍,涵盖服务内容、人员资质、服务时长、收费标准等。底部有用户评价展示与预约服务按钮。
5.4 用户查看服务评论的界面显示评论列表,列表按时间顺序列出评论内容,包括评分、文字评价及评论者名称和头像。整体一目了然。
5.5 用户查看自己预约订单的界面有订单查询筛选区,中部展示订单列表,每个订单项包含订单号、服务类型、预约时间、服务人员、订单状态等关键信息。
5.6 用户管理界面可进行用户的查询,输入关键词精准定位。能创建新用户,填写各项必要信息。支持对已存在用户信息的修改,还可删除无用用户,同时能设置用户权限。
5.8 管理员管理订单界面功能全面。可查看订单详情,包括商品信息、购买数量、下单时间等。能修改订单状态,如确认、发货、退货处理。也可查询特定订单。
5.9 家政服务管理界面可添加家政人员姓名、联系方式、擅长服务种类等信息。登记客户住址、所需服务项目、预约时间。实现人员与订单匹配,查看服务进程并进行结算管理等操作。
5.10 在家政服务管理界面中,家政人员拥有修改个人信息的权限。他们能对自己的姓名、联系方式、服务专长、工作经验等信息进行修改更新,确保信息的准确性,以便更好地匹配客户需求。
六、部分功能代码
6.1 查询家政服务详情
<select id="list" resultType="com.company.project.model.House">
select s.id as id,s.created_at as createdAt,s.created_by as createdBy,
s.updated_by as updatedBy,s.updated_at as updatedAt,s.status as status,
s.house_type_id as houseTypeId,s.name as name,s.img_url as imgUrl,
s.make_time as makeTime,s.house_state as houseState,s.service_money as serviceMoney,
s.phone as phone,s.wx as wx,s.house_details as houseDetails,
s.make_house_time as makeHouseTime,
u.user_name as userName,
ht.name as houseTypeName
from t_house s
left join t_house_type ht on s.house_type_id = ht.id
left join t_user u on s.created_by = u.id
where s.is_delete = 0
<if test="name != null and name != ''">
and s.name like CONCAT('%',#{name},'%')
</if>
<if test="createdBy != null and createdBy != ''">
and s.created_by = #{createdBy}
</if>
</select>
七、答辩可能出现的问题
🌟问题一
答辩老师:请简要说明 Spring Boot 的自动配置原理,在本系统中哪些模块利用到了这一特性?
同学可回答:SpringBoot 自动配置原理基于条件注解。它是通过扫描类路径下的类,依据条件判断是否创建特定的 Bean。在家政服务系统中,多个模块利用了此特性。在 Web 模块,引入spring-boot-starter-web后,自动配置了 Spring MVC 相关组件,如DispatcherServlet,方便创建控制器处理请求。数据库访问模块,引入spring-boot-starter-jdbc后,自动配置JpaRepository相关功能,简化数据库操作,无需大量手动配置。
源码及文档获取
大家点赞、收藏、关注、评论啦 、需要源码及文档的可直接私信我即可。