基于springboot的付费自习室系统

收藏关注不迷路,源码文章末


一、项目介绍

  
本系统从用户的角度出发,结合当前的环境而开发的,在开发语言上是使用的Java语言,在框架上我们是使用的springboot框架,数据库方面使用的是MySQL数据库,开发工具为IDEA。
付费自习室管理系统根据实际情况分为前后台两部分,前台部分主要是让用户使用的,包括首页,注册登录,自习室信息,交流论坛,自习室公告,个人中心等功能;后台部分主要给管理员使用的,主要功能包括系统首页,个人中心,用户管理,教室类型管理,自习室管理,交流论坛,系统管理,订单管理等功能。通过这些功能基本可以满足付费自习室管理的需求。
关键词:自习室;预约;springboot框架;MySQL

二、开发环境

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

付费自习室管理系统根据实际情况分为前后台两部分,前台部分主要是让用户使用的,包括首页,注册登录,自习室信息,交流论坛,自习室公告,个人中心等功能,用户部分用例图如图3-1所示
在这里插入图片描述

图3-1用户部分用例图
后台部分主要给管理员使用的,主要功能包括系统首页,个人中心,用户管理,教室类型管理,自习室管理,交流论坛,系统管理,订单管理等功能,管理员部分用例如如图3-2所示
在这里插入图片描述

图3-2管理员部分用例图

付费自习室管理系统根据实际情况分为前后台两部分,前台部分主要是让用户使用的,包括首页,注册登录,自习室信息,交流论坛,自习室公告,个人中心等功能;后台部分主要给管理员使用的,主要功能包括系统首页,个人中心,用户管理,教室类型管理,自习室管理,交流论坛,系统管理,订单管理等功能。通过这些功能基本可以满足付费自习室管理的需求。 付费自习室管理系统具体功能如下图所示
在这里插入图片描述

图4-1付费自习室管理系统功能结构图

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目录
摘 要 I
Abstract II
目录 III
第1章 系统概述 5
1.1 研究背景 5
1.2研究意义 5
1.3研究内容和论文结构 5
第2章 系统开发环境 7
2.1 Java语言介绍 7
2.2 Springboot介绍 7
2.3 MySQL数据库介绍 7
第3章 需求分析 9
3.1付费自习室管理系统需求分析 9
3.2 可行性分析 10
3.2.1技术可行性 10
3.2.2经济可行性 11
3.2.3操作可行性 11
3.4流程的分析 11
3.4.1 用户注册的流程 12
3.4.2 个人中心管理流程 1
3.4.3 登录流程 2
3.4.3 自习室预约流程 3
3.5界面需求分析 3
第4章 系统概要设计 4
4.1系统结构 4
4.2 E-R图设计 4
4.2 数据库设计 7
第5章 系统详细设计 13
5.1 付费自习室管理系统用户部分设计 13
5.1.1 系统首页 13
5.1.2用户注册登录 13
5.1.3自习室信息 15
5.1.4自习室公告 16
5.1.6交流论坛 18
5.2 付费自习室管理系统后台部分设计 19
5.2.1后台登录模块的实现 19
5.2.2用户管理 20
5.2.3教室类型管理 22
5.2.4自习室管理 23
5.2.5自习室公告管理 24
第6章系统测试 26
6.1 付费自习室管理系统的测试目的 26
6.2 付费自习室管理系统的测试方法 26
6.3 付费自习室管理系统测试用例 26
第7章 总结 29
致 谢 30
参考文献: 31

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ1039692211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值