SpringBoot家政服务小程序 毕业设计源码60403

本系统采用SpringBoot技术与mysql数据库架构实现系统功能,通过小程序以及JSP技术实现前端用户界面以及管理界面。通过输入不同的账号密码登陆不同性质的账号,进入不同的界面。设计此平台的目的是为用户提供一个足不出户便能挑选家政服务小程序,用户可以在平台上进行家政服务预约,查看评价,留言评价。也为家政服务人员提供一个平台,通过平台联系用户,也可以发布预约,以此实现家政服务。同时为管理员提供一个管理界面,管理员拥有最高权限,对系统所有模块进行管理。

关键字:SpringBoot,家政服务,用户管理,MySQL。

                                                                Abstract

This system adopts SpringBoot technology and MySQL database architecture to implement system functions, and implements front-end user interface and management interface through mini programs and JSP technology. Log in to different types of accounts by entering different account passwords, and enter different interfaces. The purpose of designing this platform is to provide users with a household service mini program that they can choose from without leaving their homes. Users can make appointments for household services, view reviews, and leave comments on the platform. It also provides a platform for domestic service personnel to contact users through the platform and publish appointments to achieve domestic services. At the same time, provide a management interface for administrators, who have the highest authority to manage all modules of the system.

Key words: SpringBoot,Housekeepingservices,User Management,MySQL.

目录

Abstract

1 序论

1.1 研究背景

1.2 研究意义

1.3 论文结构

2 相关理论与技术综述

2.1 SpringBoot

2.2 Mysql

2.3 JavaScript

2.4 小程序框架

3 可行性与需求分析

3.1 系统可行性分析

3.1.1 技术可行性分析

3.1.2 效益可行性分析

3.1.3 法律可行性分析

3.2 需求分析

3.2.1 功能性需求分析

3.2.2 非功能需求分析

3.2.3 用例图

3.3 业务流程分析 14

3.4 数据流程分析 14

4 总体设计

4.1 系统设计目标

4.2 系统技术架构

4.3 系统模块划分

4.4 详细模块设计

4.4.1 登陆注册模块

4.4.2 预约家政模块

4.4.3 个人中心模块

4.4.4 用户管理模块

4.4.5 售后评价管理模块

4.4.6 提现申请模块 17

4.5 数据库设计 17

4.5.1 实体类er图 17

4.5.2 数据库设计

5 系统实现

5.1 登陆注册实现

5.2 家政服务与预约家政实现

5.3 售后评价与评论回复实现

5.4 用户管理实现

5.5 提现申请管理实现

5.6 家政服务管理实现

6 系统测试

6.1 测试目标

6.2 功能测试设计

6.3 测试结果

结论

参考文献

致谢

1 序论

1.1 研究背景

如今互联网高速发展,网络遍布全球,国内移动信息领域独树一帜,通过微信发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传播的主要途径,社会上各种各样的信息都想尽办法通过互联网进行传播,互联网对社会产生的影响越来越大。

1.2 研究意义

到目前为止,计算机已在科学方面、国家机关方面、私人企业方面、个人生活方面都起到了很大的作用,相对应的计算机信息管理也愈加成熟。随着生活的快速发展,尤其是大城市中的生活已经迈入了快节奏的步伐,由于工作的繁忙,家政服务开始融入了我们的生活当中,传统的家政服务模式,都需要用户自己去线下自己联系家政公司,然后上门提供服务,首先非常的浪费时间,其次不能进行多家对比,所以,如果还是采用传统的去市场进行找家政服务在效率方面不仅得不到满足,在家政公司的信息保存、查找、展示方面问题更大。利用计算机新型技术来进行家政的管理将会带来家政管理的改变,可以充分实现用户请家政服务、家政公司发布服务提供双向便利。

1.3 主要研究内容

本次研究的部分研究论文内容将主要内容分为如下六个子部分,具体的内容介绍如下:

第一部分,绪论。介绍说明了本次研究项目的重要背景和研究意义,并梳理了当前国内外在该领域的发展情况;

第二部分,相关技术的概述。该技术部分主要内容对在本次设计项目中将要用到的新技术进行作了介绍,包括springboot技术,MySQL数据库技术和HTML技术;

第三部分,家政服务小程序需求分析。该部分主要是对本次设计的家政服务小程序进行业务需求分析、功能需求分析和性能需求分析等;

第四部分,家政服务小程序设计。该部分内容主要就是给出了本次系统设计开发的系统总体框架,并结合实际优化系统的设计功能,包括系统管理模块、家政人员管理、用户管理和预约订单管理等,并给出了系统的数据库;

第五部分,家政服务小程序实现。该部分主要是对系统的核心功能进行实现,并给出了具体的实现界面;

第六部分,结论。对本次设计进行了系统性的回顾,并指出了本次设计中存在的不足之处。

1.4 论文结构

本论文共由文章摘要,绪论,相关基础理论内容以及最新技术应用综述,可行性评估与应用需求预测分析,总体设计,系统开发实现,系统可靠性测试,结论,参考文献,致谢十部分构成。论文主要展示从课题开始到结束的研究过程,以及展示研究成果。

2 相关理论与技术综述

2.1 SpringBoot

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。

2.2 Mysql

科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的家政服务小程序也需要这项技术的支持。

用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象。

2.3 JavaScript

JavaScript语言是指一种可以用于开发动态web页面应用的脚本语言,是属于面向对象开发的,是受了Java语言影响产生的,主要被用来动态设计HTML页面,响应浏览器事件,进行前后端互相交互,在此次设计中使用jqury和ajax实现前后端交互,以此来实现系统功能。

2.4 小程序框架

整个小程序框架系统分为两部分:逻辑层和视图层。小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 小程序 体验的服务。小程序在视图层与逻辑层间提供了数据传输和事件系统,提供了自己的视图层以及逻辑层框架,让开发者能够专注于数据与逻辑。框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。在逻辑层做数据修改,在视图层就会做相应的更新。框架提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序。

3 可行性与需求分析

3.1 系统可行性分析

3.1.1 技术可行性分析

随着互联网技术的发展,很多不可能事情到现在也变成了可能。IDEA与MySQL数据库等常见的编程软件,以及知网,万维,图书馆的大量文献,现在已经可以很简单的获得,加上自己所学的专业知识,可以实现家政服务小程序的相关设计以及文档撰写。

3.1.2 效益可行性分析

随着到目前在我国实行农村经济体制改革综合试验区改革先行试点工作和随着社会商品经济活动规模的扩大进一步加快发展,作为社会服务与国民经济紧密结合中应运而生的中国另外又一个相对较成熟新兴行业门类之一的四大新兴消费产业板块之一。我国新兴家政服务业规模目前正在于全国正在迅速发展壮大与崛起,对我国新型现代家政服务模式产品的潜在消费的需求数量目前正处于日益的快速和增多。

3.1.3 法律可行性分析

早已在国务院1990年9月正式颁布执行的条例《中华人民共和国著作权法》规定中,计算机软件产品就未被明确列为受著作权条例保护对象的计算机作品。1991年6月4日由全国人大常委会国务院会议颁布为《计算机软件保护条例》规定,对计算机软件知识产权给予更专门全面的法规保护。该专门条例已经于国务院1991年10月1日发布实施。家政服务小程序开发所需要使用的平台以及技术都是开源代码,不会违反相关的法律法规,不存在抄袭,侵权等违法行为。

3.2 需求分析

3.2.1 功能性需求分析

在本次设计中,系统包括以下功能模块:

1.登录模块。

2.注册模块。

3.界面模块。

4.用户管理模块。

5.留言评价模块。

模块描述:

1.登录:家政人员和用户以及管理员都可以通过输入账号密码来进入系统。

2.注册:家政人员和用户以及管理员可以注册新账号。

3.界面:登陆成功之后,三种人员可以进入不同的界面浏览界面信息。

4.用户管理管理员可以管理用户,比如添加一个新用户或者删除已经注册的用户。

5.留言评价:用户可以在平台进行留言。

功能描述:

表3-1功能描述表

功能序号

功能名称

功能描述

备注

1

登录

输入账号密码进入界面

2

注册

新用户注册账号

3

搜索

登陆界面之后可以根据需求搜索

4

查看

查看界面已经公布的家政服务

5

联系商家

查看商家的联系方式

6

个人中心

1.修改自己的认证

2.修改密码

3.查看自己的消息

4.查看订单

续表3-1

功能序号

功能名称

功能描述

备注

7.

家政人员中心

1.进行商家认证,查看商家信息

2.查看预约列表

3.查看预约订单

8.

类型统计

查看订单类型以及预约(管理员界面)

9.

增加用户

输入用户信息以此来添加一个新用户(管理员界面)

10.

删除用户

点击删除可以直接删除一个用户(管理员界面)

11.

修改密码

管理员修改自己的密码

用户可在自己的个人中心修改

14.

公司管理

关了认证公司的信息

用例描述:

表3-2 用例描述表

序号

模块

说明

1.

登录

用例名称:登录

用例目的:为使用者提供登录功能

前提条件:输入正确的账号密码

参与者:用户

事件流:1.进入登陆界面2.输入账号密码

3.输入验证码4.点击登录按钮

续表3-2

序号

模块

说明

2.

注册

用例名称:注册

用例目的:为使用者提供登注册功能

前提条件:点击注册,输入注册信息

参与者:用户 

事件流:1.进入登陆界面2.点击注册按钮3.输入注册信息4.点击确定按钮

3.

界面浏览

用例名称:界面浏览

用例目的:为使用者提供登注册功能

前提条件:登陆成功

参与者:用户

事件流:1.进入主界面2.点击界面左边的各个家政分类服务3.点击联系商家4.点击留言5.搜索家政服务6.进入个人中心7.修改个人信息8.查看个人预约以及留言

4.

用户管理

用例名称:用户管理

用例目的:为使用者管理用户功能

前提条件:管理员账号登陆成功

参与者:管理员

事件流:1.进入管理员界面2.点击账户管理3.输入相应的信息4.点击增加用户5.点击删除

续表3-2

序号

模块

说明

5.

留言评价

用例名称:留言评价

用例目的:为使用者留言功能

前提条件:用户账号登陆成功

参与者:用户

事件流:1.进入主界面2.点击主界面左侧家政服务3.点击任意一个家政服务4.点击留言

3.2.2 非功能需求分析

系统性能要求:

1.自动过滤非法字符,以及违规的用语。

2.系统在2秒之内相应用户行为。

3.数据可恢复,防止故障之后数据的缺失,防止系统被入侵。

系统可拓展性:

1.用户的增加对系统影响应当极其小,反应用户行为的时间不应该变化。

2.框架需要适应逐步增长的业务,新的业务可以无缝衔接到界面上。

灵活性要求:

平台应对信息改变,浏览器的改变等等有适应的能力。

易用性:

平台操作简易,无需使用手册,可以快速使用平台。

用户界面要求:

1.为用户提供准确、高效、轻松的界面。

2.体现平台的友好性,主要功能都放在主界面上。

3.界面美观、大方。

3.2.3 用例图

             

图3-1用户用例图

图3-2家政员工用例图

图3-3管理员用例图

3.3业务流程分析

系统业务流程图如下所示。

                    图3-4 系统业务流程图

业务流程图(TFD)通过一些特定的符号描述业务的处理过程,它重点强调业务过程中每一项处理活动和具体业务部门的关系,选择部分模块进行具体描述。重点对本系统整体业务中最为主要的家政服务信息以及家政预约进行描述,用户进入家政服务小程序后进行各种模块信息的浏览,另外,管理人员进入后端管理,以执行各模块的相关管理方法,并在解决后向客户提供反馈机制。

3.4数据流程分析

如下为系统的层数据流图,外部实体有用户和管理员,分别对系统输入数据,从而得到要输出的数据

   

图3-5系统顶层数据流图

如下图所示为系统层数据流图。

图3-6系统底层数据流图

家政服务小程序底层数据流图主要描述系统底层模块的数据流、数据载体、数据处理、外部实体的具体交互。

4 总体设计

4.1 系统设计目标

随着现在计算机技术应用的高速发展,很多我们以前都不能轻松实现的业务操作系统现在就变得轻而易举实现,使用计算机就把公司人、财、物、生产、供应、销售全部都整合放到了系统里面中去,整合就成了一盘棋。该系统的具体任务是设计一个家政服务小程序,为用户,家政人员,家政公司提供一个平台来互相交流,方便用户寻找家政人员,方便家政人员更快的获取工作,方便公司更快的寻找用户。

该界面设计主要指导性思想都是要服务广大用户,用户界面必须要尽量美观和大方,简洁而明了,用户信息一定要进行严格地保密,具有着很好的易拓展性功能和简单易操作性,方便新手用户容易上手,以及便于后期的新功能应用的加入。

4.2 系统技术架构

1.框架采用JAVA作为开发语言。

2.采用SpringBoot框架,分层开发,各层之间逻辑清晰,系统拓展性较好。

3.数据库支持。

4.3 系统模块划分

1.登录注册模块。

2.预约家政模块。

3.个人中心模块。

4.用户管理模块。

5.售后评价模块。

6.提现申请模块。

4.4 详细模块设计

4.4.1 登陆注册模块

用户首先可以选择输入用户名,密码以及验证码,点击登录,系统后台会可以智能判断该帐号信息与当前用户数据库内存上显示的用户数据信息之间是否可以完全的相匹配,输入正确用户账号密码之后即可开始登录用户界面,输入家政人员账号密码登录家政人员界面,输入管理员账号密码进入管理员界面。点击注册输入手机号,密码,选择用户或者家政人员,点击注册,注册表单通过JQuery实时添加数据到数据库完成注册。

4.4.2 预约家政模块

用户在主界面对合适的家政服务项目进行预约操作。

4.4.3 个人中心模块

用户点击个人中心可以选择个人信息,我的预约,我的订单,可以查看自己的信息以及预约信息,点击任意选项向后台发送跳转请求,跳转网页,实现功能。

4.4.4 用户管理模块

管理员界面输入用户账号密码登陆到管理员界面,点击添加新用户,输入新用户信息,点击成功添加,向系统后台服务器发送用户请求,成功地添加另一个新用户。查看已有用户可以点击对该用户列表进行删除,点击删除,成功删除。管理用户的认证,点击取消认证,向后发送命令,取消用户信息认证,alert弹出认证成功。

4.4.5 售后评价模块

用户进入主界面,选择家政服务,可以对家政服务的售后进行评价发布。

4.4.6提现申请模块

家政人员可以在线对自己的服务佣金进行提现申请。

如下图所示为系统功能结构图:

图4-1系统功能结构图

4.5 数据库设计

4.5.1 实体类er图

实体类:用户、家政人员、管理员;

用户属性:id、姓名、密码、身份证、地址、性别、电话等;

家政人员属性:id、姓名、密码、身份证、性别、电话等;

管理员属性:id、姓名、密码、电话;

图4-1实体类er图

4.5.2 数据库设计

数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。

在本设计中合理的设计数据库可以让使用人员更快,更简洁的获取家政服务小程序的信息,管理人员可以更好地管理系统,方便使用。

本系统数据库含有以下表:

表appointment_for_housekeeping (预约家政)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

appointment_for_housekeeping_id

int

10

0

N

Y

预约家政ID

2

appointment_users

int

10

0

Y

N

0

预约用户

3

user_name

varchar

64

0

Y

N

用户名称

4

home_service_users

int

10

0

Y

N

0

家政用户

5

employee_name

varchar

64

0

Y

N

员工名称

6

housekeeping_name

varchar

64

0

Y

N

家政名称

7

housekeeping_type

varchar

64

0

Y

N

家政类型

8

service_fees

varchar

64

0

Y

N

服务费用

9

home_visit_time

datetime

19

0

Y

N

上门时间

10

matters_needing_attention

text

65535

0

Y

N

注意事项

11

examine_state

varchar

16

0

N

N

未审核

审核状态

12

pay_state

varchar

16

0

N

N

未支付

支付状态

13

pay_type

varchar

16

0

Y

N

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

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表home_economics_customization (家政定制)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

home_economics_customization_id

int

10

0

N

Y

家政定制ID

2

customized_users

int

10

0

Y

N

0

定制用户

3

user_name

varchar

64

0

Y

N

用户名称

4

housekeeping_name

varchar

64

0

Y

N

家政名称

5

household_photos

varchar

255

0

Y

N

家政照片

6

domestic_address

varchar

64

0

Y

N

家政地址

7

service_fees

int

10

0

Y

N

0

服务费用

8

home_visit_time

date

10

0

Y

N

上门时间

9

home_economics_content

text

65535

0

Y

N

家政内容

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表home_services (家政服务)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

home_services_id

int

10

0

N

Y

家政服务ID

2

home_service_users

int

10

0

Y

N

0

家政用户

3

employee_name

varchar

64

0

Y

N

员工名称

4

housekeeping_name

varchar

64

0

Y

N

家政名称

5

household_photos

varchar

255

0

Y

N

家政照片

6

housekeeping_type

varchar

64

0

Y

N

家政类型

7

service_scope

varchar

64

0

Y

N

服务范围

8

service_time

date

10

0

Y

N

服务时间

9

service_fees

int

10

0

Y

N

0

服务费用

10

personal_profile

text

65535

0

Y

N

个人简介

11

introduction_to_home_economics

text

65535

0

Y

N

家政介绍

12

contact_information

varchar

64

0

Y

N

联系方式

13

hits

int

10

0

N

N

0

点击数

14

praise_len

int

10

0

N

N

0

点赞数

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表housekeeping_orders (家政接单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

housekeeping_orders_id

int

10

0

N

Y

家政接单ID

2

home_service_users

int

10

0

Y

N

0

家政用户

3

employee_name

varchar

64

0

Y

N

员工名称

4

customized_users

int

10

0

Y

N

0

定制用户

5

user_name

varchar

64

0

Y

N

用户名称

6

housekeeping_name

varchar

64

0

Y

N

家政名称

7

domestic_address

varchar

64

0

Y

N

家政地址

8

service_fees

varchar

64

0

Y

N

服务费用

9

home_visit_time

varchar

64

0

Y

N

上门时间

10

home_economics_content

varchar

64

0

Y

N

家政内容

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表after_sales_evaluation (售后评价)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

after_sales_evaluation_id

int

10

0

N

Y

售后评价ID

2

appointment_users

int

10

0

Y

N

0

预约用户

3

user_name

varchar

64

0

Y

N

用户名称

4

home_service_users

int

10

0

Y

N

0

家政用户

5

employee_name

varchar

64

0

Y

N

员工姓名

6

housekeeping_name

varchar

64

0

Y

N

家政名称

7

home_economics_pictures

varchar

255

0

Y

N

家政图片

8

housekeeping_type

varchar

64

0

Y

N

家政类型

9

service_attitude

varchar

64

0

Y

N

服务态度

10

service_achievements

text

65535

0

Y

N

服务成果

11

hits

int

10

0

N

N

0

点击数

12

praise_len

int

10

0

N

N

0

点赞数

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

5 系统实现

5.1 登陆注册实现

界面实现效果

                

图5-1注册界面图

图5-2登录界面图

代码实现:

 /**

     * 登录

     * @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.2 家政服务以及预约家政实现

界面实现效果

                

图5-3家政服务界面图

图5-4预约家政界面图

代码实现

@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);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

}

    public void insert(Map<String,Object> body){

        StringBuffer sql = new StringBuffer("INSERT INTO ");

        sql.append("`").append(table).append("`").append(" (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

        }

        sql.deleteCharAt(sql.length()-1);

        sql.append(") VALUES (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            Object value = entry.getValue();

            if (value instanceof String){

                sql.append("'").append(entry.getValue()).append("'").append(",");

            }else {

                sql.append(entry.getValue()).append(",");

            }

        }

        sql.deleteCharAt(sql.length() - 1);

        sql.append(")");

        log.info("[{}] - 插入操作:{}",table,sql);

        Query query = runCountSql(sql.toString());

        query.executeUpdate();

    }

5.3 售后评价以及评论回复实现

界面实现效果

       

图5-5售后评价界面图

              

图5-6评论回复界面图

代码实现

@RequestMapping(value = {"/avg_group", "/avg"})

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

        Query count = service.avg(service.readQuery(request), service.readConfig(request));

        return success(count.getResultList());

}

5.4 用户管理实现

界面实现效果

图5-7 用户管理图

代码实现

@RequestMapping("/get_list")

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

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);;

5.5 提现申请管理实现

界面实现效果

图5-8 提现申请管理图

代码实现

@RestController

@RequestMapping("auth")

public class AuthController extends BaseController<Auth, AuthService> {

    /**

     * 服务对象

     */

    @Autowired

    public AuthController(AuthService service) {

        setService(service);

    }

5.6 家政服务管理实现

界面实现效果

图5-9 家政服务管理图

代码实现

public class FindConfig {

    public static String PAGE = "page";

    public static String SIZE = "size";

    public static String LIKE = "like";

    public static String ORDER_BY = "orderby";

    public static String FIELD = "field";

    public static String GROUP_BY = "groupby";

    public static String MIN_ = "_min";

    public static String MAX_ = "_max";

}6 系统测试

6.1 测试目标

简单直白地说,就是在替测试用户做受过,测试产品的设计最终设计目的,是为确保最终被交给测试用户开发的测试产品提供的产品功能,完全符合测试用户实际的功能需求,把尽可能地多产生的性能问题,提前在测试产品最终交给测试用户测试之前已经发现了并改正。

6.2 功能测试设计

功能性测试需要关注测试系统功能是否已经可以充分满足客户需求规格说明书上的相关要求,针对这些功能可以编写功能测试系统用例,主要目标是进行黑盒功能测试。

测试环境:windows10操作系统,谷歌浏览器。

功能:

1.登录

测试步骤1.进入登陆界面。

        2.输入账号密码。

        3.点击确认。

跟据输入账号密码的不同制定测试用例

表6-1登录测试表

用例编号

测试类型

测试操作

是否通过

用例1

黑盒测试

输入正确的账号密码

用例2

黑盒测试

输入不正确的账号密码

用例3

黑河测试

不输入账号密码

2.注册

测试步骤1.进入注册界面。

        2.输入账号密码,并且确认密码。

        3.选择注册人类型。

        4.点击注册。

根据输入账号密码的不同以及选择注册人的不同制定测试用例

表6-2注册测试表

用例编号

测试类型

测试操作

是否通过

用例1

黑盒测试

输入只有数字的账号密码,选择用户进行注册

用例2

黑盒测试

输入只有数字的账号密码,选择家政人员进行注册

用例3

黑盒测试

不输入账号密码

用例4

黑盒测试

输入账号带有字母,密码不带有字母的账号密码

用例5

黑盒测试

输入账号不带有字母,密码不带有字母的账号密码

用例6

黑盒测试

输入账号不带有特殊字符,密码带有特殊字符的账号密码

用例7

黑盒测试

输入账号带有特殊字符,密码带有特殊字符的账号密码

用例8

黑盒测试

输入账号带有特殊字符,密码不带有特殊字符的账号密码

3.预约

测试步骤1.进入主界面。

        2.输入预约内容。

        3.点击预约。

        4预约成功。

根据预约信息的不同制定测试用例

表6-3预约测试表

用例编号

测试类型

测试操作

是否通过

用例1

黑盒测试

预约时间输入当前时间之后

用例2

黑盒测试

预约时间输入当前时间之前

用例3

黑盒测试

预约时间输入当前时间

用例4

黑盒测试

预约时间输入当前时间或者当前时间之后,联系方式输入正确11位的电话号码

用例5

黑盒测试

预约时间输入当前时间或者当前时间之后,联系方式输入非11位的数字

用例6

黑盒测试

预约时间输入当前时间或者当前时间之后,联系方式输入11位的特殊字符或者字母

用例7

黑盒测试

预约时间输入当前时间或之后,联系方式输入11位数字,地址输入汉字数字组合

续表6-3

用例编号

测试类型

测试操作

是否通过

用例8

黑盒测试

预约时间输入当前时间或者当前时间之后,联系

用例9

黑盒测试

预约时间输入当前时间或者当前时间之后,联系方式输入11位数字,地址输入汉字数字组合

用例10

黑盒测试

所有内容都不输入

用例11

黑盒测试

只输入预约时间

用例12

黑盒测试

只输入联系方式

用例13

黑盒测试

只输入地址

4.个人中心

测试步骤1.进入主界面。

        2.点击个人中心。

        3.点击个人资料。

        4.点击修改信息。

        5.输入新的账号密码,点击确认。

根据预约信息的不同制定测试用例

表6-4密码修改测试表

用例编号

测试类型

测试操作

是否通过

用例1

黑盒测试

输入的密码与原密码相同

用例2

黑盒测试

输入的密码与原密码不相同(密码符合登录测试的结果

用例3

黑盒测试

不输入内容

5.用户管理

测试步骤1.进入登录界面,登录管理员账号。

        2.点击确认,进入管理员界面。

        3.点击用户管理,查看用户信息。

        4点击添加用户。

        5.输入新的账号密码,点击确认。

         6.用户添加成功。

根据用户输入信息的不同制定测试用例

表6-5用户管理测试表

用例编号

测试类型

测试操作

是否通过

用例1

黑盒测试

输入只有数字的账号密码,选择用户进行注册

用例2

黑盒测试

输入只有数字的账号密码,选择家政人员进行注册

用例3

黑盒测试

不输入账号密码

用例4

黑盒测试

输入账号带有字母,密码不带有字母的账号密码

用例5

黑盒测试

输入账号不带有字母,密码不带有字母的账号密码

用例6

黑盒测试

输入账号不带有特殊字符,密码带有特殊字符的账号密码

用例7

黑盒测试

输入账号带有特殊字符,输入密码同样带有特殊字符的账号密码

续表6-5

用例编号

测试类型

测试操作

是否通过

用例8

黑盒测试

输入账号带有特殊字符,密码不带有特殊字符的账号密码

6.评论回复功能

测试步骤1.进入登录界面,登录用户账号。 

        2.点击确认,进入主界面。

        3.点击左边的家政服务。 

        4点击任意一个类别。

        5.点击评论回复输入信息。

        6.评论回复成功。

根据评论回复信息的不同制定测试用例

表6-6评论回复功能测试

用例编号

测试类型

测试操作

是否通过

用例1

黑盒测试

输入只含数字评论回复

用例2

黑盒测试

输入含有数字和字母的评论回复

用例3

黑盒测试

输入含有数字和字母以及汉字的评论回复

用例4

黑盒测试

输入含有数字,字母,汉字,特殊字符的评论回复

                                              6.3 测试结果

本部分工作主要工作是负责对软件测试发现到的产品问题点和产品质量缺陷等进行评价分析,为企业纠正本软件发现的所存在问题的相关质量问题等提供分析依据,包括对产品质量特点和相关测试评价过程有效性的量化评价,测试研究报告撰写基于产品测试实践中大量的试验数据信息采集处理以及对软件最终版本的产品测试的结果分析。同时可以为后续软件的验收工作和顺利交付产品打下扎实基础。

通过对系统的测试发现以下几个问题,商家头像显示失败,登录时可以输入违法字符,没有对表单进行合理性检验,界面UI设计不是很美观。

功能测试结果满足需求,可以正常登录,注册,预约,管理用户,评论回复,可以满足用户需求,满足管理员对系统的管理需求,系统兼容多个浏览器,操作简易,可拓展性强。

                                                            结论

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是线上预约家政服务为核心展开的。本研究针对家政服务小程序需求建模,数据建模及过程建模分析设计并实现平台研究的过程。给出系统应用架构并分析优劣势,通过功能分解图,系统组件图描述功能需求。设计建立了数据库,给出系统关键数据结构的定义。通过类关系图描述组件间的协作关系,给出各个类的定义方法。通过描述每一个类的字段,属性及方法实现系统的前后端代码。最终给出系统集成整合方法,完成家政服务小程序设计与实现。系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

                                                     参考文献

[1]韩琳娜,李杰. 菏泽市:家政服务提质扩容促进劳动力就业 [J]. 中国就业, 2023, (12): 61.

[2]郝雨. 致富之路“走出去” 劳务输出“富起来”[N]. 大同日报, 2023-12-12 (002).

[3]1st Choice Family Services Launches Revolutionary 'Live Support' Feature for Immediate, Personalized Assistance [J]. M2 Presswire, 2023,

[4]A. A W ,Melissa D . Family Well-Being and Self-Sufficiency Service Use in Head Start: The Impact of Family Participation and Demographic Predictors of Service Use [J]. Early Education and Development, 2023, 34 (8): 1941-1956.

[5]Clarke L . Domiciliary Services for the Elderly[M]. Taylor and Francis: 2023-10-24.

[6]陈刚. 基于SpringBoot+Thymeleaf+MySQL的动态表单功能模块设计与实现 [J]. 长江信息通信, 2023, 36 (09): 100-102.

[7]陈蓓蕾,洪年松. 基于SpringBoot的数据库接口设计 [J]. 信息与电脑(理论版), 2023, 35 (16): 181-183.

[8]徐宏卓. “四维一体”家政人才培养体系构建研究 [J]. 家政学研究, 2023, (01): 82-103.

[9]刘玲. B家政公司深圳市场营销策略研究[D]. 哈尔滨工业大学, 2022.

[10]崔瀚铭. 本地生活服务系统的设计与实现[D]. 南京大学, 2021.

[11]项俊淇. 基于联盟链的大众可信家政服务系统的设计与实现[D]. 重庆大学, 2020.

[12]潘振明. 做成“一老一小两宝”家政大事业 推进精准扶贫、全民技能提升两项大工程 [J]. 家庭服务, 2019, (11): 17-21.

[13]田佩鑫. 大众互助式家庭服务支持系统的设计与实现[D]. 重庆大学, 2019.

[14]陈国通,刘琪,范圆圆. 基于微信小程序的家政服务预约系统设计与实现 [J]. 信息通信, 2019, (02): 122-124.

[15]杨帆,仁青诺布. 基于Android系统的家政服务平台的设计与实现 [J]. 信息与电脑(理论版), 2019, (06): 89-90..

                                免费领取源码,请点赞关注私信博主

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值