N-130基于springboot,vue校园社团管理系统

开发工具:IDEA

服务器:Tomcat9.0, jdk1.8

项目构建:maven

数据库:mysql5.7

系统分前后台,项目采用前后端分离

前端技术:vue+elementUI

服务端技术:springboot+mybatis-plus

本系统分学生、社长、管理员三个角色,功能如下:

一、学生(用户)功能包括:

1.登录、注册、首页、修改密码、修改个人信息

2.入团申请管理:可以向感兴趣的社团提交申请。

3.浏览社团信息:可以浏览所有社团及其基本信息。

4.活动信息管理:查看活动信息和申请加入活动。

5.通知信息查询:可以查询发布的通知信息。

6.缴费信息管理:实现缴费查询和缴费缴纳功能。

二、社长功能包括:

1.登录、首页、修改密码、修改个人信息

2.入团申请处理:可以对提交社团申请的用户进行审核。

3.社团成员管理:实现对社团的成员查询和删除功能。

4.社团活动管理:可以查看和发布社团活动。

5.社团通知管理:可以查看,发布社团活动,删除本社团发布的通知

6.社团费用管理:可以查看,删除,根据社员编号发布缴费通知。

三、管理员功能包括:

1.登录、首页、修改密码、修改个人信息

2.系统用户管理:可以查看系统所有用户的基本信息,并修改和删除。

3.社团类型管理:可以对社团类型进行修改,删除,查询操作,并且可以根据需求增添社团类型。

4.社团信息管理:可以对社团进行查询,删除,创建社团,修改社团信息。

5.活动信息管理:可以查询,删除社团活动。

6.通知信息管理:可以查询,删除,发布社团活动。

7.查询缴费记录:可以查询各个社团的缴费记录。

文档截图:

学生(用户)截图:

社长截图:

管理员截图:

java 复制代码
package self.cases.teams.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

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.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import self.cases.teams.utils.DateUtils;
import self.cases.teams.utils.IDUtils;
import self.cases.teams.msg.R;
import self.cases.teams.msg.PageData;

import self.cases.teams.entity.Users;
import self.cases.teams.service.UsersService;

/**
 * 系统请求响应控制器
 * 系统用户
 */
@Controller
@RequestMapping("/users")
public class UsersController extends BaseController {

    protected static final Logger Log = LoggerFactory.getLogger(UsersController.class);

    @Autowired
    private UsersService usersService;

    @RequestMapping("")
    public String index() {

        return "pages/Users";
    }

    @GetMapping("/info")
    @ResponseBody
    public R getInfo(String id) {

        Log.info("查找指定系统用户,ID:{}", id);

        Users users = usersService.getOne(id);

        return R.successData(users);
    }

    @GetMapping("/page")
    @ResponseBody
    public R getPageInfos(Long pageIndex, Long pageSize,
                          Users users) {

        Log.info("分页查找系统用户,当前页码:{},"
                        + "每页数据量:{}, 模糊查询,附加参数:{}", pageIndex,
                pageSize, users);

        PageData page = usersService.getPageInfo(pageIndex, pageSize, users);

        return R.successData(page);
    }

    @PostMapping("/add")
    @ResponseBody
    public R addInfo(Users users) {

        if(usersService.getUserByUserName(users.getUserName()) == null){

            users.setId(IDUtils.makeIDByCurrent());
            users.setCreateTime(DateUtils.getNowDate());

            Log.info("添加系统用户,传入参数:{}", users);

            usersService.add(users);

            return R.success();
        }else{

            return R.warn("用户账号已存在,请重新输入");
        }
    }

    @PostMapping("/upd")
    @ResponseBody
    public R updInfo(Users users) {

        Log.info("修改系统用户,传入参数:{}", users);

        usersService.update(users);

        return R.success();
    }

    @PostMapping("/del")
    @ResponseBody
    public R delInfo(String id) {

        if(usersService.isRemove(id)){
            
            Log.info("删除系统用户, ID:{}", id);

            Users users = usersService.getOne(id);

            usersService.delete(users);

            return R.success();
        }else{

            return R.warn("用户存在关联社团,无法移除");
        }
    }
}
相关推荐
DIY源码阁5 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
zhangyao9403307 小时前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
不总是8 小时前
[2026最新] Windows 免安装版 MySQL 8 详细安装配置教程(ZIP 压缩包版)
数据库·windows·mysql
徒手猫9 小时前
MySQL 窗口函数完全指南
数据库·mysql
betazhou10 小时前
电科金仓数据库V9 MySQL兼容版本搭建一主一从体验
数据库·mysql·oracle·主从·高可用·kingbase·v9 mysql兼容版本
元宝骑士10 小时前
MySQL 8.0 递归 CTE:树形结构一键生成层级 Path 并更新回表
后端·mysql
wbs_scy11 小时前
MySQL 多表连接查询实战:内连接 + 外连接
数据库·mysql
IT龟苓膏12 小时前
MySQL 表设计与 SQL 优化:从字段类型、主键设计到深分页优化一篇讲清
数据库·sql·mysql
2601_9520477913 小时前
金蝶云星空与管易云系统对接方案
mysql
数据库小学妹14 小时前
异构数据库同步实战:如何打通Oracle/MySQL/SQL Server的数据孤岛
数据库·mysql·oracle