基于微服务架构的健身管理平台的设计与实现

2024-04-03 21:06朱敏李鑫朱海静张博洋
电脑知识与技术 2024年1期
关键词:微服务

朱敏 李鑫 朱海静 张博洋

关键词:微服务;SpringBoot;SSM

1 概述

国家体育总局颁布的《2023年全国体育政策法规规划工作要点》中提出,要认真学习领会党的二十大报告关于“广泛开展全民健身活动,加强青少年体育工作,促进群众体育和竞技体育全面发展,加快建设体育强国”的重要内涵和战略要求”。党的十八大以来,全民健身飞速发展,全民健身蔚成风气,人们对健身馆的需求越来越大。健身馆需要对开展的健身课程、员工、会员等信息进行高效的管理。

以往的健身馆受传统管理方法的限制,无法提供课程、会员、员工等信息的科学高效的管理。所以,为了助力全民健身发展,健身馆需要利用互联网、软件等资源,实现健身馆的数字信息化管理。微服务架构具有的灵活性,能够在不影响整个应用程序的同时,开发和部署单一的服务[1]。基于微服务的健身管理平臺能够对健身馆的信息资源进行开发、整合和利用,实现健身馆信息的有效管理和监控。通过测量记录、筛选、加工、安全存储和互联传输,使人们能够随时方便、准确、及时、充分地获取健身馆的信息。

2 开发环境

2.1 SpringBoot

Spring 框架是Java 平台上的开源应用框架。Spring 集成了多种事务模板,可以通过事务模板、XML、Java注解进行事务配置,事务框架集成了消息传递、缓存等功能。Spring对流行的数据访问框架提供支持,能够实现灵活的数据访问[2]。SpringBoot具备以下特征:1) 创建独立的Spring应用程序,基于Ma?ven、Gradle插件,创建可执行的JARs和WARs;2) 内嵌Tomcat、Jetty 等Servlet 容器;3) 提供自动配置的starter项目对象模型(POMS) ,能够简化Maven配置;4) 自动配置Spring容器。

2.2 SSM 框架

SSM 即Spring+SpringMVC+MyBatis,是一种Web 项目框架。Spring是整个项目中装配bean的大工厂;SpringMVC在项目中拦截用户请求,将用户请求匹配Controller,Controller对应请求执行操作[3]。MyBatis对JDBC进行封装,使数据库底层操作变得透明。页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互后,将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据[4]。

3 概要设计

3.1 设计思想

本系统为健身馆管理者提供登录服务,方便管理者登录系统,保证系统操作的安全性。提供健身教练的管理服务,方便健身教练信息的管理,实现人事的全过程管理、精细化管理。健身馆提供各种健身课程,不同的健身课程属于不同的健身课程体系,不同健身课程的价格不同,所以本系统提供健身课程体系和健身课程的管理服务,更好地满足会员的需求,适应健身课程的发展趋势。 会员根据自身需求购买健身课程,通过会员管理服务,更好地提高会员忠诚度,为会员提供针对性的课程服务。

3.2 需求分析

当用户数量巨大时,为了保证系统的正常运行,增强用户使用本系统的体验感,本系统采用Spring?Boot、SSM框架的微服务架构等相关技术提升本系统的可靠性和综合性能。基于微服务的健身管理平台力求满足用户的功能需求包括:1) 教练员管理。教练员是健身机构的重要组成部分,且教练员的流动性较大,需要经常更新教练员的个人信息,所以教练员的管理对健身机构是非常重要的。系统管理员需要编辑教练员的基本信息,确保系统中的教练员信息真实无误。2) 课程体系管理。健身机构引入多样的课程体系,不仅能够增加会员的活跃度和黏性,还能丰富健身机构的盈利模式。所以课程体系的管理对健身机构的经营收益十分重要。系统管理员需要编辑课程体系的详细信息,确保健身机构的开设课程在课程体系之内。3) 健身课程管理。健身机构需要根据会员的健身喜爱程度开设相应的健身课程,会员流动性强且不同群体的会员健身目的和喜好不同,系统管理员需要根据会员的实际需求开设多种健身课程,编辑健身课程信息。4) 会员管理。 健身机构主要通过销售各种健身卡获得盈利。在健身行业竞争激烈的局面下,开展丰富多彩的会员活动能够促进会员消费。系统管理员需要详细记录所有会员的信息,以便更好地了解会员,提高会员的活跃度和黏性。

3.3 数据库设计

根据系统功能需求分析,本系统中需要有课程、课程体系、系统用户、会员等实体。会员基本信息包括:会员编号、会员姓名、会员会籍、会员年限等字段。教练员基本信息包括:教练员编号、教练员姓名、账号、手机号等字段。课程体系基本信息包括:课程体系编号、课程体系名称、课程体系类型等字段。健身课程基本信息包括:健身课程编号、健身课程名称、课程体系、售价、售卖状态等字段。

4 详细设计

基于对本系统的功能需求分析,本系统包含教练员管理、课程体系管理、健身课程管理、会员管理等四个功能模块。基于微服务的健身管理平台的总体功能模块图如图1所示:

在基于微服务的健身管理平台中,教练员管理模块能够实现教练员信息的分页显示,根据姓名查找教练员,添加教练员,编辑教练员信息,禁用教练员等功能。课程体系管理模块能够实现课程体系信息的分页显示,新增课程体系,修改课程体系,删除课程体系等功能。健身课程管理模块能够实现课程信息的分页显示,根据健身课程名称查询课程,新建健身课程,修改、停售、删除健身课程,批量删除、批量启售、批量停售健身课程等功能。会员管理模块能够实现会员信息的分页显示,根据会员姓名查找会员,修改、续卡、删除会员,批量删除、批量启售、批量停售会员,新建会员等功能。

4.1 教练员管理微服务实现

教练员管理微服务分页显示教练员的基本信息,包括:教练员姓名、账号、手机号、账号状态等。用户在搜索框内输入教练员姓名,即可查询并显示相应的教练员信息。用户点击编辑按钮,进入教练员信息编辑界面,即可修改教练员的基本信息。用户点击禁用按钮,即可将教练员账号设置为禁用状态。用户点击添加教练员按钮,即可进入添加教练员账号界面,输入教练员信息,新增教练员。

本模块使用数据库中的教练员表。创建实体类Employee、Mapper 接口EmployeeMapper、业务层接口EmployeeService、业务层实现类EmployeeServicelmpl、控制层EmployeeController。新建教练员的执行过程:1) 页面发送Ajax请求,将新增教練员页面中输入的数据以JSON格式提交到服务端。2) 服务端Controll接收页面提交的数据并调用Service将数据进行保存。3) Service调用Mapper操作数据库,保存数据。分页显示教练员信息的执行过程:1) 页面发送Ajax请求,将分页查询参数(page、pagesize、name) 提交到服务端。2) 服务端Controller接收页面提交的数据并调用Ser?vice查询数据[5]。3) Service调用Mapper操作数据库,查询分页数据。4) Controller将查询到的分页数据响应给页面。5) 页面接收到分页数据并通过ElementUI 的Table组件展示到页面上。编辑教练员的执行过程:1) 点击编辑按钮时,页面跳转到add.html,并在url 中携带教练员编号参数。2) 在add.html页面获取url 的参数。3) 发送Ajax请求,请求服务端,同时提交员工id参数。4) 服务端接收请求,根据教练员编号查询教练员信息,将教练员信息以JSON形式响应给页面。5) 页面接收服务端响应的JSON数据,通过VUE的数据绑定进行教练员信息回显。6) 点击保存按钮,发送Ajax请求,将页面中的教练员信息以JSON方式提交给服务端。7) 服务端接收教练员信息,并进行处理,完成后给页面响应。8) 页面接收到服务端响应信息后进行相应处理。

4.2 课程体系管理微服务实现

课程体系管理微服务分页显示课程体系的基本信息,包括:课程体系姓名、课程体系类型、操作时间、排序等。用户点击新增课程体系按钮,即可进入新增课程体系页面,输入课程体系名称、排序,点击确定新增课程体系。用户点击修改按钮,进入课程体系信息修改界面,即可修改课程体系的基本信息。用户点击删除按钮,即可将课程体系删除。

本模块使用数据库中的课程体系表。创建实体类Category、Mapper接口CategoryMapper、业务层接口CategoryService、业务层实现类CategoryServicelmpl、控制层CategoryConntroller[5]。新增课程体系的执行过程:1) category/list.html Ajax请求,将新增课程体系窗口输入的数据以JSON格式提交到服务端。2) 服务端Controller接收页面提交的数据并调用Service将数据进行保存。3) Service调用Mapper操作数据库,保存数据。分页显示课程体系信息的执行过程:1) 页面发送Ajax请求,将分页查询参数(page、pagesize) 提交到服务端。2) 服务端Controller接收页面提交的数据并调用Service查询数据。3) Service调用Mapper操作数据库,查询分页数据。4) Controller将查询到的分页数据响应给页面。5) 页面接收到分页数据并通过El?ementUI的Table组件展示到页面上。删除课程体系的执行过程:1) 页面发送Ajax请求,将课程体系编号参数提交到服务端。2) 服务端Controller接收页面提交的数据并调用Service 删除数据。3) Service 调用Mapper操作数据库。模块执行过程如图2所示。

4.3 健身课程管理微服务实现

健身课程管理微服务分页显示健身课程的基本信息,包括:健身课程名称、图片、健身课程所属健身课程体系、售价、售卖状态等。用户在搜索框内输入健身课程名称,即可查询并显示相应的健身课程信息。用户点击新建健身课程按钮,进入健身课程信息编辑界面,即可修改健身课程的基本信息。用户点击修改健身课程按钮,即可进入修改健身课程信息界面。

本模块使用数据库中的课程表。创建实体类Fit?nessClass、Mapper 接口FitnessClassMapper、业务层接口FitnessClassService、业务层实现类FitnessClassServi?celmpl、控制层FitnessClassController。新建课程的执行过程:1) fitness/add.html页面发送Ajax请求,请求服务端获取健身课程体系数据并展示到下拉框中[6]。2) 页面发送请求进行图片上传,请求服务端将图片保存到服务器。3) 页面发送请求进行图片下载,将上传的图片进行回显。4) 点击保存按钮,发送Ajax请求,将健身课程相关数据以JSON格式提交到服务端。分页显示健身课程信息的执行过程:1) fitness/list.html页面发送Ajax请求,将分页查询参数(page、pagesize、name) 提交到服务端,获取分页数据。2) 页面发送请求,请求服务端进行图片下载,用于页面图片显示。修改健身课程的执行过程:1) add.html页面发送Ajax请求,请求服务端获取分类数据,用于健身体系下拉框中数据展示。2) 页面发送Ajax请求,请求服务端,根据编号查询当前健身课程信息,用于健身课程信息回显。3) 页面发送请求,请求服务端进行图片下载,用于图片回显。4) 点击保存按钮,页面发送Ajax请求,将修改后的健身课程相关数据以JSON格式提交到服务端。

4.4 会员管理微服务实现

会员管理微服务分页显示会员的基本信息,包括:会员姓名、图片、会员分类、会员会籍等。用户在搜索框内输入会员姓名,即可查询并显示相应的会员信息。用户点击修改按钮,进入会员信息编辑界面,即可修改会员的基本信息。用户点击删除按钮,即可将会员删除。用户点击新增会员按钮,即可进入新增会员界面,输入会员信息,新增会员。

本模块使用数据库中的会员表。创建实体类Mem?ber、Mapper接口MemberMapper、业务层接口Member?Service、业务层实现类MemberServicelmpl、控制层MemberController。本模块的执行过程与教练员管理模块类似。会员管理模块分页显示页面如图3所示:

5 总结

本文首先介绍了基于微服务架构的健身管理平台的背景及意义。其次文本对基于微服务架构的健身管理平台进行需求分析,通过市场调研,研究和分析了本平台的用户需求,结合系统总体功能图对各模块的需求进行了详细的描述。根据平台的需求分析,进行概要设计。结合微服务架构以及三层架构的思想,设计平台实现的技术架构。最后,对平台中的各微服务模块的实现和执行过程进行了详细的分析描述。整个平台基于微服务架构的设计理念,能够满足用户的使用需求,提高了用户管理健身房信息的效率。

猜你喜欢
微服务
数字文化馆建设中的“微服务”
基于微服务架构的日志系统
微服务架构及相应云平台解析
基于供给侧改革理论的图书馆社交网络微服务研究
微信公众平台在医院图书馆的应用现状调查
基于微信企业号的校园移动服务
微服务视角下高职图书馆数字资源使用分析
从单一模式系统架构往微服务架构迁移转化技术研究
基于微信公众平台的高校图书馆微服务现状及对策
微媒体时代高校图书馆阅读推广微服务探析