自学内容网 自学内容网

健身房|基于springBoot的健身房管理系统设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书(可指定任意题目)

目录

一、摘要

二、相关技术

三、系统设计

四、数据库设计     

五、核心代码      

六、论文参考 

七、源码获取  


 

一、摘要

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了健身房管理系统的开发全过程。通过分析健身房管理系统管理的不足,创建了一个计算机管理健身房管理系统的方案。文章介绍了健身房管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本健身房管理系统管理员,会员,员工。管理员功能有个人中心,会员管理,员工管理,会员卡管理,会员卡类型管理,教练信息管理,解聘管理,健身项目管理,指导项目管理,健身器材管理,健身活动管理。会员功能有个人中心,会员管理,会员卡管理,教练信息管理,健身项目管理,健身器材管理,健身活动管理。员工功能有个人中心,会员卡管理,教练信息管理,健身项目管理,健身器材管理,健身活动管理。因而具有一定的实用性。

本站是一个B/S模式系统,采用Spring Boot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得健身房管理系统管理工作系统化、规范化。本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高健身房管理系统管理效率。

关键词:健身房管理系统;Spring Boot框架;MYSQL数据库

 

二、相关技术

java、tomcat、mysql、spring、springBoot、mybatis、query、vue

 

三、系统设计

3.1 整体功能设计图

本系统是基于B/S架构的网站系统,设计的功能结构图如下图所示:

b6496c27f0b3411ca82fef25c194082f.png

 3.2 功能具体细节设计   

(1)会员信息管理 

健身房管理系统的系统管理员可以管理会员,可以对会员信息修改删除以及查询操作。具体界面的展示如图5.1所示。

d37b87a72e39415f9a98c798b1a92c3e.png

(2)员工信息管理 

系统管理员可以查看对员工信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。

8295812f573540f8b39f92616588810c.png

(3)会员卡类型管理 

系统管理员可以对会员卡类型进行添加,修改,删除以及查询操作。界面如下图所示:

80a065a981084307b37e6f7b701fb84d.png (4)健身项目管理

系统管理员可以对健身项目进行添加修改删除操作。界面如下图所示:

d97f47e037f545de8f6d269ceafeac6b.png

(5)会员卡管理 

管理员可以审核会员申请的会员卡管理。界面如下图所示:

8e54a4569f974c228d59e3831bd54d78.png

四、数据库设计     

(1)管理员信息的实体属性图如下:

ec4c4683043f40538b5127b1aa9be371.png

(2)会员信息实体属性图如图4.13所示:

5bc2359fd5b2455593c6eff31860ecff.png

(3)员工信息实体属性图如图4.14所示:

68cd460ef2044db5ad71e12597c04cdb.png

五、核心代码      

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
@Autowired
    private ConfigService configService;
/**
 * 上传文件
 */
@RequestMapping("/upload")
public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
if (file.isEmpty()) {
throw new EIException("上传文件不能为空");
}
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
    path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
    upload.mkdirs();
}
String fileName = new Date().getTime()+"."+fileExt;
File dest = new File(upload.getAbsolutePath()+"/"+fileName);
file.transferTo(dest);
if(StringUtils.isNotBlank(type) && type.equals("1")) {
ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
if(configEntity==null) {
configEntity = new ConfigEntity();
configEntity.setName("faceFile");
configEntity.setValue(fileName);
} else {
configEntity.setValue(fileName);
}
configService.insertOrUpdate(configEntity);
}
return R.ok().put("file", fileName);
}

/**
 * 下载文件
 */
@IgnoreAuth
@RequestMapping("/download")
public ResponseEntity<byte[]> download(@RequestParam String fileName) {
try {
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
    path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
    upload.mkdirs();
}
File file = new File(upload.getAbsolutePath()+"/"+fileName);
if(file.exists()){
/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
getResponse().sendError(403);
}*/
HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
    headers.setContentDispositionFormData("attachment", fileName);    
    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
}
} catch (IOException e) {
e.printStackTrace();
}
return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
}

}

六、论文参考 

51569761bc394338bce3565382d6624a.png

七、源码获取  

点赞、收藏、关注、评论啦。

联系即送开题报告和任务书,欢迎咨询

👇🏻获取联系方式在文章末尾👇🏻

 


原文地址:https://blog.csdn.net/songmulin/article/details/142254426

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!