基于java+springboot+mybatis+vue+mysql的沁园健身房预约管理系统

news2024/11/18 23:33:28

项目介绍

现在无论是在PC上还是在手机上,相信全国所有地方都在进行网上健身房预约管理。随着经济的不断发展,系统管理也在不断增多,健身房预约平台就是其中一种。

本次的毕业设计主要就是在基于Java语言平台下设计并开发一个健身房预约平台软件。运用当前流行的springboot框架来实现对健身房预约信息查询。当然使用的数据库是Mysql。尽管没有面向对象的数据库的作用强大,但是在Java开发上还是比较的灵活和方便的。系统功能主要介绍以下几点:

开发环境

开发语言:java
数据库 :mysql
系统架构:b/s
后端框架:SpringBoot
前端框架:Vue
开发工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序/vue/爬虫/c#/asp.net

系统截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码

package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
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.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82354.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s部署fabric 2.4

test-network的部署现状 dockerdocker-compose ip端口号&#xff1a;ip不可变&#xff0c;人工维护&#xff0c;不可冲突脚本化&#xff1a;程度低&#xff0c;部分流程需要登陆到容器中执行日志收集&#xff1a;无监控告警&#xff1a;无容器管理&#xff1a;无部署流程&…

4.1什么叫作PCB封装?它的分类一般有哪些? Cadence Allegro软件制作PCB封装的一般流程是什么?

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…

Java中的5个代码性能提升技巧,学会之后立马提升近10倍性能

文章目录预先分配 HashMap 的大小优化 HashMap 的 key不使用 Enum.values() 遍历使用 Enum 代替 String 常量使用高版本 JDK这篇文章介绍几个 Java 开发中可以进行 性能优化的小技巧&#xff0c;虽然大多数情况下极致优化代码是没有必要的&#xff0c;但是作为一名技术开发者&a…

如何通过nodejs快速搭建一个服务器

在前端开发过程中&#xff0c;可能某些时候需要自己搭建一台服务器用于一些文件图片请求或者进行后端相关知识的学习。本文主要讲解如何通过nodejs进行一个基础服务器的搭建&#xff0c;包括如何将文件布置的服务器&#xff0c;以及基础接口的开发。后面可能会更新关于通过node…

C# SuperSocket 手把手教你入门 傻瓜教程---9(CountSpliterReceiveFilter - 固定数量分隔符协议)使用COMMAND

C# SuperSocket 手把手教你入门 傻瓜教程系列教程 C# SuperSocket 手把手教你入门 傻瓜教程---1&#xff08;服务器单向接收客户端发送数据&#xff09; C# SuperSocket 手把手教你入门 傻瓜教程---2&#xff08;服务器和客户端双向通信&#xff09; C# SuperSocket 手把手教…

【Vue 快速入门系列】Vue数据实现本地存储、自定义事件绑定、全局事件总线、$nextTick的使用

文章目录一、本地存储1.概念2.接口3.实际操作二、自定义事件绑定1.自定义事件使用过程2.绑定自定义事件的语法3.其他注意事项三、全局事件总线1.全局事件总线概念2.全局事件总线的使用方式3.原理剖析四、$nextTick小技巧一、本地存储 1.概念 可以将数据临时存储到本地浏览器&…

基于适应度-距离平衡的人工生态系统优化求解暂态稳定约束最优潮流问题附matlab代码

​✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法…

数字时代,企业应该如何看待商业智能BI

新一代数字化相关技术的应用&#xff0c;使得数字化产品和服务覆盖了社会的方方面面&#xff0c;也让数据成为了构建现代化社会的核心元素&#xff0c;让人们明白数据不只是人类活动产生的附加品&#xff0c;还能够在应用过程中促进人类活动发展、优化和改变&#xff0c;真正成…

Python时间模块之datetime模块

目录 简介 函数介绍及运用 date&#xff1a;日期类 1.获取当前时间 2.日期对象的属性 3.date类中时间和时间戳的转换&#xff1a; 4.修改日期使用replace方法 time&#xff1a;时间类 time类操作 datetime&#xff1a;日期时间类 timedelta&#xff1a;时间间隔&…

【MySQL常用性能指标】

这里给大家分享一些MySQL的常用性能指标&#xff0c;可以对此增加一些自定义指标到数据库的监控里&#xff0c;如zabbix或者prometheus&#xff0c;来更好的检测数据库的状态。 我的MySQSL版本是5.7.19。因为是自己的测试环境&#xff0c;所以截图的一些指标很低&#xff0c;仅…

[附源码]Python计算机毕业设计SSM基于的考研信息共享平台(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

linux下故障硬盘点灯操作

按照常理说&#xff0c;硬盘故障了&#xff0c;会自动亮红灯&#xff0c;故障消除后会自动恢复正常&#xff0c;这个本来是服务器自带的功能。但现实情况往往不是这样&#xff0c;即使硬盘故障了&#xff0c;现场通过外观也看不出来。 1 硬盘点灯的意义 在运维的工作中&#…

【电巢】什么是EMC测试?EMC测试又是如何分类的?

在CE认证里面针对不同产品有不同的测试标准、指令&#xff0c;带电产品中必须要测是的EMC指令&#xff0c;作为最常见的CE指令&#xff0c;很多客户想知道什么是EMC测试? EMC的基本定义 EDA365电子论坛 EMC是评价产品质量的一个重要指标。 1.电磁兼容EMC (Electro-Magnetic …

KVM虚拟化

概述 虚拟化是一种技术&#xff0c;可以利用以往局限于硬件的资源来创建有用的 IT 服务。它让您能够将物理计算机的工作能力分配给多个用户或环境&#xff0c;从而充分利用计算机的所有能力。 1.1 工作原理 一种叫做 Hypervisor &#xff08;虚拟机监控程序&#xff09;的软件…

非零基础自学计算机操作系统 第1章 操作系统概述 1.6 操作系统的界面形式 1.7 操作系统的运行机理

非零基础自学计算机操作系统 文章目录非零基础自学计算机操作系统第1章 操作系统概述1.6 操作系统的界面形式1.6.1 交互终端命令1.6.2 图形用户界面1.6.3 触屏用户界面1.6.4 作业控制语言1.6.5 系统调用命令1.7 操作系统的运行机理第1章 操作系统概述 1.6 操作系统的界面形式 …

mac回收站清空还能恢复吗?苹果电脑删除的文件怎么恢复

mac回收站清空还能恢复吗&#xff1f;通常&#xff0c;我们右键从电脑上删除的文件&#xff0c;都是被保存在回收站的&#xff0c;那么从回收站删除的文件去哪儿了呢&#xff1f; 当文件从回收站删除后&#xff0c;这些文件还保留在电脑系统上面&#xff0c;只是我们没有办法看…

Java性能调优System的gc垃圾回收方法

java性能调优System的gc垃圾回收方法 java性能调优System的gc垃圾回收方法示例解 一、什么是System.gc()&#xff1f; System.gc()是用Java&#xff0c;C&#xff03;和许多其他流行的高级编程语言提供的API。当它被调用时&#xff0c;它将尽最大努力从内存中清除垃圾&#…

ABHD5 调控细胞自噬依赖的嘧啶合成介导结肠癌对5-FU 的药物敏感性改变

​ 发表期刊&#xff1a;Nature Communications 影响因子&#xff1a;12.353 发表时间&#xff1a;2019年 合作单位&#xff1a;第三军医大学附属西南医院 今天百趣代谢组学将给大家分享Nature Communications上的一篇文章&#xff1a;ABHD5 blunts the sensitivity of col…

这 88 道阿里高级岗面试题,刷掉了 80% 以上的 Java 程序员

2022&#xff0c;可谓是招聘面试最难季。不少大厂&#xff0c;如腾讯、字节的招聘名额明显减少&#xff0c;面试门槛却一再拔高&#xff0c;如果不用心准备&#xff0c;很可能就被面试官怼得哑口无言。今天不谈其它&#xff0c;就说说我作为面试官面试的那些事儿。 从某电商项目…

JVM监控及诊断工具之命令行篇

文章目录1. 概述2. jps&#xff1a;查看正在运行的Java进程3. jstat&#xff1a;查看JVM统计信息4. jinfo&#xff1a;实时查看和修改JVM配置参数5. jmap&#xff1a;导出内存映像文件&内存使用情况6、jhat&#xff1a;JDK自带堆分析工具7 jstack&#xff1a;打印JVM中线程…