?

基于微服務架構的健身管理平臺的設計與實現

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 總結

本文首先介紹了基于微服務架構的健身管理平臺的背景及意義。其次文本對基于微服務架構的健身管理平臺進行需求分析,通過市場調研,研究和分析了本平臺的用戶需求,結合系統總體功能圖對各模塊的需求進行了詳細的描述。根據平臺的需求分析,進行概要設計。結合微服務架構以及三層架構的思想,設計平臺實現的技術架構。最后,對平臺中的各微服務模塊的實現和執行過程進行了詳細的分析描述。整個平臺基于微服務架構的設計理念,能夠滿足用戶的使用需求,提高了用戶管理健身房信息的效率。

猜你喜歡
微服務
數字文化館建設中的“微服務”
基于微服務架構的日志系統
微服務架構及相應云平臺解析
基于供給側改革理論的圖書館社交網絡微服務研究
微信公眾平臺在醫院圖書館的應用現狀調查
基于微信企業號的校園移動服務
微服務視角下高職圖書館數字資源使用分析
從單一模式系統架構往微服務架構遷移轉化技術研究
基于微信公眾平臺的高校圖書館微服務現狀及對策
微媒體時代高校圖書館閱讀推廣微服務探析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合