目 录
表applying_for_an_interview (申请面试)
表recruitment_information (招聘信息)
6结论
随着社会的快速发展,人们越来越依赖各种服务。其中,家政服务作为一项重要的服务领域,正逐渐渗透到我们的生活中。尤其是在疫情背景下,人们更加意识到家政服务的重要性。然而,传统的家政服务模式在满足人们日益增长的需求方面存在诸多问题,如服务价格不透明、服务质量参差不齐、人员流动性大、信息不完整等。为了满足广大消费者的需求,家政服务系统应运而生。
本文提出的家政服务系统是基于Java语言、MySQL数据库、 Spring Cloud 框架为基础进行开发设计的。Spring Cloud经过多年的发展和完善,已经成为一个稳定、成熟的框架。使用Spring Cloud可以快速构建分布式、高可用、可扩展的系统。采用Spring Cloud框架可以开发出一款开发一款功能齐全、操作简便的家政服务系统。通过本系统,不仅可以方便用户在线查看家政资讯、服务信息等内容,还能根据个人需求完成在线下单。通过系统不仅可以让用户享受到更加便捷、高效的服务,还可以规范家政服务市场,如规范服务价格、服务质量、服务内容等方面的市场行为,提高家政服务行业的整体水平,为用户提供更加满意的服务。
关键词:家政服务;Java;MySQL;Spring Cloud
Abstract
With the rapid development of society, people are increasingly relying on various services. Among them, domestic service, as an important service field, is gradually penetrating into our lives. Especially in the context of the epidemic, people are more aware of the importance of domestic services. However, the traditional domestic service model has many problems in meeting people's growing needs, such as opaque service prices, uneven service quality, high personnel mobility, and incomplete information. In order to meet the needs of consumers, home service systems have emerged.
The household service system proposed in this article is developed and designed based on Java language, MySQL database, and Spring Cloud framework. After years of development and improvement, Spring Cloud has become a stable and mature framework. Using Spring Cloud can quickly build distributed, highly available, and scalable systems. By using the Spring Cloud framework, a fully functional and easy-to-use home service system can be developed. Through this system, it is not only convenient for users to view household information, service information, and other content online, but also to complete online orders according to personal needs. Through the system, users can not only enjoy more convenient and efficient services, but also regulate the domestic service market, such as regulating market behavior in service prices, service quality, service content, etc., improve the overall level of the domestic service industry, and provide users with more satisfactory services.
Keywords: Home service; Java; MySQL; Spring Clout
1 绪论
1.1 研究背景
随着社会经济的快速发展和人民生活水平的提高,家政服务行业作为满足家庭生活照料需求的重要服务行业,近年来得到了迅猛的发展。然而,家政服务行业在快速发展的同时,也面临着一些问题。一方面,由于家政服务行业存在信息不对称、服务质量不稳定等问题,导致消费者在选择家政服务时存在诸多顾虑和不便;另一方面,家政服务人员的权益保障、服务质量监管等方面也存在诸多不足,制约了行业的健康发展。因此,为了解决上述问题,推动家政服务行业的可持续发展,有必要设计一个家政服务系统,以提高家政服务的信息化、标准化和规范化水平,提升消费者的服务体验和满意度。
随着社会的快速发展,人们生活节奏加快,对于家政服务的需求也日益增加。家政服务系统作为现代服务业的重要组成部分,对于满足人们日常生活、家庭事务和事业发展需求具有重要意义。
首先,可以提高生活质量:家政服务系统能够为用户提供各类家务服务,如清洁、洗衣、做饭等。这些服务可以帮助用户节省时间、精力,专注于发展自己的事业和兴趣爱好,从而提高生活质量。尤其是在繁忙的工作日,家政服务系统为用户提供了便捷的后勤保障,让用户可以有更多的时间投入工作,提高工作效率。
其次,可以减轻家庭负担:家务事是家庭生活中不可或缺的一部分,但处理家务又需要耗费大量的时间和精力。尤其是对于上有老下小的家庭来说,担负着照顾长辈和孩子的双重负担。家政服务系统的出现,为这些家庭提供了便利,让他们可以将更多的精力投入到自己的事业和家庭中,减轻家庭负担。
最后,可以促进产业发展:家政服务系统的发展,有助于推动我国服务业特别是现代服务业的发展。通过提供各类家务服务,家政服务系统为用户提供便捷的服务,同时也为服务业企业提供了新的市场。这有利于吸引更多的人才和资本进入家政服务行业,推动该行业的健康发展。
1.3论文结构与章节安排
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第一章:绪论。主要介绍了课题研究的背景,意义和本文的结果与章节作。
第二章:系统分析。主要从系统的用户、功能等方面进行需求分析。
第三章:系统总体设计。主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统详细设计与实现。主要介绍了系统界面的实现。
第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试
2 系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。
2.1 可行性分析
(1)技术可行性:
Spring Cloud是基于Spring Boot的分布式微服务框架,能够提供服务发现、配置管理、熔断等功能。使用Spring Cloud可以快速构建分布式、高可用、可扩展的系统。因此从技术层面来说是可行的。
(2)经济可行性:
基于Spring Cloud的家政服务系统可以采用开源技术,大大降低了开发成本。同时,由于该系统是基于微服务架构的,可以根据业务需求灵活地进行模块扩展,避免了不必要的投资。另外通过该系统的实施,家政服务企业可以提高服务质量、提升用户体验、扩大市场影响力。长远来看,这将为企业带来更多的收益。从经济角度来看,基于Spring Cloud的家政服务系统具有明显的竞争优势和良好的发展前景。
(3)社会可行性:
随着人们对家政服务需求的不断增加,一个高效、便捷的家政服务平台将受到市场的欢迎。该系统的建设能够满足用户需求,推动家政服务市场的健康发展。该系统的实施将改善家政服务行业的服务质量,提升用户体验,为构建和谐社会作出贡献。同时,该系统能够创造就业机会,推动相关产业的发展。从社会角度来看,基于Spring Cloud的家政服务系统具有积极的社会意义和广阔的市场前景。
业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
2.2.1 数据新增流程
用户成功登入系统后就能够实现增加数据的操作,增加数据的编号由系统生成,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证通过即可完成数据的新增,图2-1显示的就是在增加数据时的流程。
图2-1 数据新增流程图
数据修改时的流程和上面介绍的数据增加时的流程相似,如下图2-2所示。
图2-2 数据修改流程图
如果系统里面存在一些没有用的数据,相关的管理人员可以对这些数据进行删除,图2-3就是数据删除的流程图。
图2-3 数据删除流程图
按照家政服务系统的角色,主要包括普通用户模块,工作人员模块和管理员模块这三大部分。各模块功能内容如下:
- 普通用户功能:
1)首页:可以查看首页展示的轮播图、家政资讯、服务信息推荐等信息。
2)注册登录:用户可以通过注册成为系统用户,注册用可以用账号密码登录系统。
3 )服务指南:用户可以查看服务指南列表信息中的某一信息的详情
4 )家政资讯:用户可以查看资讯列表中的某一资讯详情并可以进行点赞、收藏和发表评论操作。
5 )留言区:用户可以发表留言信息。
6 )服务信息:可以查看服务信息列表中的某一信息详情并进行点赞、收藏、发表评论和在线下单操作。
7 )招聘信息:用户可以查看招聘信息列表中的某一信息详情。
8 )我的:可以修改个人信息和登录密码,可以查看个人首页、服务下单、留言区和收藏信息。
- 工作人员功能:
1)首页:可以查看首页展示的轮播图、家政资讯、服务信息推荐等信息。
2)注册登录:用户可以通过注册成为系统用户,注册用可以用账号密码登录系统。
3 )服务指南:用户可以查看服务指南列表信息中的某一信息的详情
4 )家政资讯:用户可以查看资讯列表中的某一资讯详情并可以进行点赞、收藏和发表评论操作。
5 )留言区:用户可以发表留言信息。
6 )服务信息:可以查看服务信息列表中的某一信息详情并进行点赞、收藏、发表评论和在线下单操作。
7 招聘信息:用户可以查看招聘信息列表中的某一信息详情并可以完成在线面试申请操作。
8 )我的:可以修改个人信息和登录密码,可以查看个人首页、申请面试、留言区和收藏信息。
- 管理员管理模块:
2)系统用户:管理员可以对查看某一系统用户信息详情,可以对系统用户信息进行查询、添加和删除操作。
3)服务信息管理:管理员可以添加服务信息,可以查看服务信息列表中的某一信息详情,可以对列表信息进行查询和删除操作。
4) 服务下单管理:管理员可以对查看服务下单列表中的某一信息详情并进行审核和回复,可以对服务下单信息进行查询和删除操作。
5) 招聘信息管理:管理员可以添加招聘信息,可以查看招聘信息列表中的某一信息详情,可以对列表信息进行查询和删除操作。
6) 申请面试管理:管理员可以查看面试申请列表中的某一面试信息详情并进行审核和回复,可以对面试申请列表信息进行查询和删除操作。
7) 系统管理:管理员可以对友情链接和轮播图进行查询、添加和删除操作。
8) 留言管理:管理员可以查看留言列表信息中的某一留言详情并回复,可以对列表信息进行查询和删除操作。
9) 服务指南管理:管理员可以对服务指南信息进行查询、添加和删除操作。
10)资源管理:管理员可以添加资讯分类信息,可以查看家政资讯列表中的某一资讯详情和评论信息,可以对家政资讯列表信息进行查询、添加和删除操作。
11)我的账户:管理员可以修改个人信息和登录密码。
2.3.2 非功能性分析
家政服务系统的非功能性需求比如家政服务系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表2-1家政服务系统非功能需求表
安全性 | 主要指家政服务系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指家政服务系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响家政服务系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着家政服务系统的页面展示内容进行操作,就可以了。 |
可维护性 | 家政服务系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.4 系统用例分析
通过2.3功能的分析,得出了本家政服务系统的用例图:
普通用户角色用例图如下图2-4所示。
图2-4 家政服务系统普通用户角色用例图
工作人员角色用例图如下图2-5所示。
管理员角色用例图如下图2-6所示。
图2-6家政服务系统管理员角色用例图
本章主要通过对家政服务系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个家政服务系统要实现的功能。同时也为家政服务系统的代码实现和测试提供了标准。
本章主要讨论的内容包括家政服务系统的功能模块设计、数据库系统设计。
3.1 系统架构设计
本家政服务系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图3-1家政服务系统系统架构设计图
表现层(UI):又称UI层,主要完成本家政服务系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本家政服务系统时的舒适度。UI的界面设计也要适应不同版本的家政服务系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本家政服务系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本家政服务系统的数据是放在服务端的MySQL数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本家政服务系统的数据存储和管理功能。
3.2 系统功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本家政服务系统中的用例。那么接下来就要开始对本家政服务系统主要功能和数据库开始进行设计。家政服务系统根据前面章节的需求分析得出,其总体功能模块图如下图3-2所示。
图3-2 家政服务系统功能模块图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.3.1 数据库概念结构设计
下面是整个家政服务系统中主要的数据库表总E-R实体关系图。
图3-6 家政服务系统总E-R关系图
通过上一小节中家政服务系统中总E-R关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
表applying_for_an_interview (申请面试)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | applying_for_an_interview_id | int | 10 | 0 | N | Y | 申请面试ID | |
2 | recruitment_positions | varchar | 64 | 0 | Y | N | 招聘职位 | |
3 | recruitment_type | varchar | 64 | 0 | Y | N | 招聘类型 | |
4 | salary_and_benefits | int | 10 | 0 | Y | N | 0 | 工资待遇 |
5 | application_date | date | 10 | 0 | Y | N | 申请日期 | |
6 | applicants | int | 10 | 0 | Y | N | 0 | 应聘人员 |
7 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
8 | personnel_phone_number | varchar | 64 | 0 | Y | N | 人员电话 | |
9 | personnel_resume | varchar | 255 | 0 | Y | N | 人员简历 | |
10 | personal_notes | text | 65535 | 0 | Y | N | 个人备注 | |
11 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
12 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表article (文章:用于内容管理系统的文章)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
表article_type (文章分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表auth (用户权限管理)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表collect (收藏)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表comment (评论)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表hits (用户点击)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表link (友情链接)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | link_id | smallint | 5 | 0 | N | Y | 友情链接ID:[0,32767] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,10000]数值越小,越优先显示 |
3 | name | varchar | 32 | 0 | Y | N | 链接名称:[0,32] | |
4 | img | varchar | 255 | 0 | Y | N | 友情链接图:[0,255] | |
5 | url | varchar | 255 | 0 | Y | N | 跳转链接:[0,255] | |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表message (留言板)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
3 | title | varchar | 64 | 0 | Y | N | 标题: | |
4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
表notice (公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表praise (点赞)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
表recruitment_information (招聘信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | recruitment_information_id | int | 10 | 0 | N | Y | 招聘信息ID | |
2 | recruitment_positions | varchar | 64 | 0 | Y | N | 招聘职位 | |
3 | recruitment_type | varchar | 64 | 0 | Y | N | 招聘类型 | |
4 | work_diagram | varchar | 255 | 0 | Y | N | 工作图示 | |
5 | salary_and_benefits | int | 10 | 0 | Y | N | 0 | 工资待遇 |
6 | recruitment_number | int | 10 | 0 | Y | N | 0 | 招聘人数 |
7 | recruitment_date | date | 10 | 0 | Y | N | 招聘日期 | |
8 | recruitment_notes | text | 65535 | 0 | Y | N | 招聘备注 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表regular_users (普通用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
4 | user_address | varchar | 64 | 0 | Y | N | 用户地址 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表sensitive_vocabulary (敏感词汇)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感词汇ID | |
2 | sensitive_vocabulary | varchar | 64 | 0 | Y | N | 敏感词汇 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表service_information (服务信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | service_information_id | int | 10 | 0 | N | Y | 服务信息ID | |
2 | service_items | varchar | 64 | 0 | Y | N | 服务项目 | |
3 | image_display | varchar | 255 | 0 | Y | N | 图片展示 | |
4 | service_fees | int | 10 | 0 | Y | N | 0 | 服务费用 |
5 | service_scope | varchar | 64 | 0 | Y | N | 服务范围 | |
6 | working_hours | varchar | 64 | 0 | Y | N | 工作时间 | |
7 | process_time | int | 10 | 0 | Y | N | 0 | 流程时间 |
8 | service_introduction | text | 65535 | 0 | Y | N | 服务简介 | |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表service_ordering (服务下单)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | service_ordering_id | int | 10 | 0 | N | Y | 服务下单ID | |
2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
5 | user_address | varchar | 64 | 0 | Y | N | 用户地址 | |
6 | service_items | varchar | 64 | 0 | Y | N | 服务项目 | |
7 | service_fees | int | 10 | 0 | Y | N | 0 | 服务费用 |
8 | home_visit_time | datetime | 19 | 0 | Y | N | 上门时间 | |
9 | on_site_remarks | text | 65535 | 0 | Y | N | 上门备注 | |
10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
11 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表slides (轮播图)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表upload (文件上传)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
表user (用户账户:用于保存用户登录信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
表user_group (用户组:用于用户前端身份和鉴权)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表working_personnel (工作人员)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | working_personnel_id | int | 10 | 0 | N | Y | 工作人员ID | |
2 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
3 | personnel_phone_number | varchar | 64 | 0 | Y | N | 人员电话 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
3.4本章小结
整个家政服务系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 系统详细设计与实现
4.1普通用户功能模块
4.1.1 前台首页界面
首页以上中下的布局进行展示,正上方系统的导航栏,中间是轮播图,下面是家政资讯、服务信息推荐等信息。其界面图如下图4-1所示。
图4-1 前台首页界面图
4.1.2 用户注册界面
新用户注册点击首页右上角“登录”按钮进入页面,然后点击下方的“没有存在账户、创建一个账户吧”进入注册页面填写账号、密码、确认密码、昵称、邮箱、身份等信息后点击“立即注册”按钮,系统将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,验证通过后即可完成注册。其界面如下图4-2所示。
图4-2 用户注册界面图
用户注册的关键代码如下:
@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<>()));
4.1.3 用户登录界面
用户注册后可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息和验证信息后点击“登录”按钮,系统会对输入的信息进行验证,验证通过或即可登录系统。其界面如下图4-3所示。
图4-3用户登录界面图
用户登录关键代码如下:
@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<>();
4.1.4家政资讯界面
用户可以查看资讯列表中的某一资讯详情并可以进行点赞、收藏和发表评论操作。其界面如下图4-4所示。
图4-4家政资讯界面图
4.1.5 服务指南界面
用户可以查看服务指南列表信息中的某一信息的详情。其界面如下图4-5所示。
图4-5服务指南界面图
4.1.6 服务信息界面
用户可以通过关键字搜索服务信息;可以查看服务信息列表中的某一信息详情并进行点赞、收藏、发表评论和在线下单操作。其界面如下图4-6所示。
图4-6 服务信息界面图
4.1.7 招聘信息
用户可以查看招聘信息列表中的某一信息详情,支持通过关键字进行搜索。其界面如下图4-7所示。
图4-7 招聘信息界面图
用户在“我的”下拉按钮“个人中心”菜单栏中可以查看个人首页、服务下单、留言区和收藏信息。其界面如下图4-8所示。
图4-8 个人中心界面图
4.2工作人员功能模块
4.2.1 招聘信息界面
用户可以查看招聘信息列表中的某一信息详情并可以完成在线面试申请操作。其界面如下图4-9所示。
图4-9招聘信息界面图
4.2.2 个人中心界面
用户在“我的”下拉按钮“个人中心”菜单栏中可以查看个人首页、面试申请、留言区和收藏信息。其界面如下图4-10所示。
图4-10个人中心界面图
4.3管理员功能模块
4.3.1 系统用户界面
管理员可以对查看某一系统用户信息详情,可以对系统用户信息进行查询、添加和删除操作。其界面如下图4-11所示。
图4-11系统用户界面图
新增的关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
删除的关键代码如下
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
@Transactional
public void delete(Map<String,String> query,Map<String,String> config){
QueryWrapper wrapper = new QueryWrapper<E>();
toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);
baseMapper.delete(wrapper);
log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());
管理员可以对查看服务下单列表中的某一信息详情并进行审核和回复,可以对服务下单信息进行查询和删除操作。界面如下图4-12所示。
图4-12服务下单管理界面图
管理员可以查看面试申请列表中的某一面试信息详情并进行审核和回复,可以对面试申请列表信息进行查询和删除操作。其界面如下图4-13所示。
图4-13面试申请管理界面图
4.3.4招聘信息管理界面界面
管理员可以添加招聘信息,可以查看招聘信息列表中的某一信息详情,可以对列表信息进行查询和删除操作。其界面如下图4-14所示。
图4-14招聘信息管理界面图
4.3.5 系统管理界面
管理员可以对友情链接和轮播图进行查询、添加和删除操作。其界面如下图4-15所示。
图4-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, "上传失败");
}
4.3.6 资源管理界面
管理员可以添加资讯分类信息,可以查看家政资讯列表中的某一资讯详情和评论信息,可以对家政资讯列表信息进行查询、添加和删除操作。其界面如下图4-16所示。
图4-16资源管理界面图
5系统测试
5.1 系统测试用例
系统测试包括:用户登录功能、服务信息查看功能、招聘信息添加功能、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
服务信息查看功能测试:
表5-2 服务信息查看功能测试表
用例名称 | 服务信息查看 |
目的 | 测试服务信息查看功能 |
前提 | 用户登录 |
测试流程 | 点击服务信息 |
预期结果 | 可以查看到所有服务信息 |
实际结果 | 实际结果与预期结果一致 |
家政资讯添加界面测试:
表5-3 家政资讯添加界面测试表
用例名称 | 家政资讯添加测试用例 | ||
目的 | 测试家政资讯添加功能 | ||
前提 | 管理员正常登录情况下 | ||
测试流程 | 1)管理员点击资源管理下拉的家政资讯,然后点击添加后并填写相关信息。 2)点击进行提交。 | ||
预期结果 | 提交以后,页面首页会显示新的家政资讯信息 | ||
实际结果 | 实际结果与预期结果一致 | ||
实际结果 | 实际结果与预期结果一致 |
密码修改搜索功能测试:
表5-4 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试普通用户密码修改功能 |
前提 | 普通用户正常登录情况下 |
测试流程 | 1)普通用户点击密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
通过编写家政服务系统的测试用例,已经检测完毕系统测试包括:用户登录功能、服务信息查看功能、招聘信息添加功能、密码修改功能测试,通过这四大模块为家政服务系统的后期推广运营提供了强力的技术支撑。
在家政服务系统开发之前,需要先对用户的具体需求进行分析。包括系统的可行性分析、功能需求分析以及其他需求等。在可行性分析过程中,对系统实现的技术性、经济性以及管理等方面进行了分析。总体上证明了系统实施的可行性。
本文总结了家政服务系统实现背景与现状,然后阐述了系统的具体业务需求,并根据系统需求对系统结构以及功能模块等进行了详细地设计,将整个系统划分为多个不同的功能模块。在分析系统功能需求时,对整个系统的总体架构以及功能模块等进行了分析,并选择合适的系统开发技术完成了对各个模块的开发工作。系统开发完成之后进行了部署,同时进行了系统的测试过程,通过测试证明了系统在功能以及性能等方面都达到了预期的要求,具有较高的稳定性与可靠性。
[1]俞华,徐娜.我国家政服务业发展现状、趋势、问题与对策[J].湖北社会科学,2023,(11):73-81.
[2]张恒,张玲娜,许秋怡等.乡村振兴背景下家政服务业发展的现实困境和推进策略[J].农村经济与科技,2023,34(19):252-255.
[3]赵爽,赵丹丹.基于区块链技术的家政服务信用体系构建研究[J].网络安全技术与应用,2023,(09):124-126.
[4]郝婧,张红霞.推动家政服务业高质量发展[N].华兴时报,2023-09-04(001).
[5]Sharlene M .Racial Geographies of Land and Domestic Service in Panama[J].Annals of the American Association of Geographers,2023,113(7):1573-1588.
[6]唐瑞.政府推动家政服务嵌入社区[N].兰州日报,2023-08-02(010).
[7]李捷,肖荣辉.家政服务行业发展实证研究——以福建省厦门市为例[J].时代经贸,2023,20(07):144-151.
[8]王一迪.家政行业供需不平衡不匹配问题如何解决[N].中国青年报,2023-07-20(011).DOI:10.38302/n.cnki.nzgqn.2023.002550
[9]阮成,高远.数字经济视角下家政服务业的现状、挑战与发展路径——以广州为例[J].清远职业技术学院学报,2023,16(04):18-25.
[10]王变云,关汉玉,朱晓卓.反歧视视角下家政服务员职业困境的解决对策探索——以社会工作介入为例[J].清远职业技术学院学报,2023,16(04):26-32.
[11]冯玉珠.河北省家政服务业发展现状、问题及对策建议[J].商展经济,2023,(12):117-120.
[12]刘博.基于SpringCloud的海产品服务平台设计与实现[D].大连海洋大学,2023.
[13]Natascha N ,Friederike M ,Miriam T .Rethinking paid domestic services in modern societies – Experimental evidence on the effect of quality and professionalisation on service demand[J].International Journal of Sociology and Social Policy,2023,43(13-14):106-128.
[14]赵根良.家政服务业灵活用工困境及对策[J].合作经济与科技,2023,(10):94-95.
[15]蒲汝玲.工会组织参与家政服务业高质量发展的实践与思考[J].天津市工会管理干部学院学报,2022,39(04):46-50.
[16]富东燕.2025年全国基本实现社区家政服务能力全覆盖[N].中国妇女报,2022-12-20(001).
[17]Yang Y .Design and Implementation of Online Food Ordering System Based on Springcloud[J].Information Systems and Economics,2022,3(4):
[18]林志娟.进一步推动家政服务市场建设[J].政协天地,2022,(11):40.
[19]龚李赠,王梦瑶.基于区块链的家政领域信息体系构建[J].网络安全技术与应用,2022,(11):18-20.
[20]项俊淇.基于联盟链的大众可信家政服务系统的设计与实现[D].重庆大学,2020.
致 谢
我首先要感谢我的论文指导老师。在论文的完成过程中,是在指导老师的精心指导下完成的。在论文的完成过程之中,导师对我的耐心地指导,提出了建设性意见给了我巨大的帮助,倾注了大量的心血。导师严谨的治学态度、一丝不苟的敬业精神、高水平的教学能力都给我树立了成功的典范,这对于我以后的生活和学习中都起到了巨大的积极的影响。
与此同时,我还要感谢我班的同学们对我的关怀和帮助,他们又是我的同学,又是我的朋友,同时也是我学习的榜样。正是由于大家给予我的大力支持才使我顺利地完成了大学学业,感谢在大学期间给予我帮助的所有老师和同学们。
最后,我还要感谢我的父母,你们的养育之恩我永远不会忘记,将来我也要用我的成绩回报你们。
点赞+收藏+关注 →私信领取本源代码、数据库
标签:10,varchar,87907,Springcloud,系统,用户,源码,服务,家政 From: https://blog.csdn.net/Weixin_CXSJ881/article/details/143198901