基于java+ssm+vue的高校社团管理系统

项目介绍

21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,网络管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。

论文主要是对高校社团管理系统进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对高校社团管理系统进行了一些具体测试。

本文以Java为开发技术,实现了一个高校社团管理系统。高校社团管理系统的主要实现功能包括:管理员:首页、个人中心、学生管理、社团申请信息管理、校园社团管理、社团活动管理、会员管理、活动参与管理、会员申请管理、系统管理,会员;首页、个人中心、社团申请信息管理、校园社团管理、社团活动管理、活动参与管理,学生;首页、个人中心、校园社团管理、社团活动管理、会员申请管理,前台首页;首页、社团申请信息、校园社团、社团活动、活动参与、会员申请、校园资讯、个人中心、后台管理、在线资讯功能,基本上实现了整个高校社团管理系统的过程。

具体在系统设计上,采用了B/S的结构,同时,也使用Java技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的高校社团管理系统。

在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序ue/爬虫/c#/asp.net

系统实现

5.1 管理员登录
管理员输入个人的用户名、密码和角色登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的用户名、密码和角色不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的用户名、密码、角色,直到账号密码输入成功后,会提登录成功的信息。管理员登录效果图如图5-1所示:
在这里插入图片描述

图5-1管理员登录界面图

5.2 管理员功能模块
5.2.1 管理员功能
管理员在高校社团管理系统页面可以查看首页、个人中心、学生管理、社团申请信息管理、校园社团管理、社团活动管理、会员管理、活动参与管理、会员申请管理、系统管理等。程序成效图如下图5-2所示:
在这里插入图片描述

图5-2管理员功能界面图

5.2.2学生管理
管理员对学生管理进行查看学号、姓名、性别、年龄、电话、邮箱、身份证、照片等信息并可以进行详情、删除、修改操作。程序效果图如下图5-3所示:
在这里插入图片描述

图5-3学生管理界面图

5.2.3 社团申请信息管理
管理员对社团申请信息管理进行查看社团名称、社团图片、社团类别、申请时间、学号、姓名、审核回复、审核状态、审核等信息并可以进行详情、删除操作。程序效果图如下图5-4所示:
在这里插入图片描述

图5-4社团申请信息管理界面图

5.2.4校园社团管理
管理员对校园社团管理进行查看社团名称、社团图片、成立时间、社团类别、社团人数等信息进行详情、删除、修改操作。程序效果图如下图5-5所示:
在这里插入图片描述

图5-5校园社团管理界面图

5.2.5社团活动管理
管理员对社团活动管理进行查看活动名称、活动类型、照片、举办日期、举办社团、活动地点、活动时长等信息并可以进行详情、删除、修改操作。程序效果图如下图5-6所示:
在这里插入图片描述

图5-6社团活动管理界面

5.2.6会员管理
管理员对会员管理进行查看学号、姓名、性别、年龄、电话、邮箱、身份证、照片等信息并可以进行详情、删除、修改操作。程序效果图如下图5-7所示:
在这里插入图片描述

图5-7会员管理界面图

5.2.7轮播图
轮播图;该页面为轮播图管理界面。管理员可以在此页面进行首页轮播图的管理,通过新建操作可在轮播图中加入新的图片,还可以对以上传的图片进行修改操作,以及图片的删除操作。程序效果图如下图5-8所示:
在这里插入图片描述

图5-8轮播图管理界面图

5.3 前台首页功能模块
学生在高校社团管理系统页面可以查看首页、社团申请信息、校园社团、社团活动、活动参与、会员申请、校园资讯、个人中心、后台管理、在线资讯等功能。程序效果图如下图5-9所示:
在这里插入图片描述

图5-9前台首页功能界面图

5.3.1学生注册、学生登录
学生在线填写学号、密码、姓名、年龄、电话、邮箱、身份证等信息进行注册、登录操作。程序效果图如下图5-10所示:
在这里插入图片描述在这里插入图片描述

图5-10学生登录、学生注册界面图

5.3.2校园社团
学生进入校园社团页面可以查看社团名称、社团图片、成立时间、社团类别、社团人数等信息,并可以进行加入社团操作。程序效果图如下图5-11所示:
在这里插入图片描述

图5-11校园社团界面图

5.3.3社团活动
学生进入社团活动页面可以查看活动名称、活动类型、照片、举办日期、举办社团、活动地点、活动时长等信息进行报名参加操作。程序效果图如下图5-12所示:
在这里插入图片描述

图5-12社团活动界面图

5.3.4活动参与
学生进入活动参与页面可以查看活动名称、活动类型、照片、举办日期、举办社团、活动地点、参与时间、学号、姓名等信息进行提交操作。程序效果图如下图5-13所示:
在这里插入图片描述

图5-13活动参与界面图

5.4 会员功能模块

5.4.1会员功能
会员在高校社团管理系统页面可以查看首页、个人中心、社团申请信息管理、校园社团管理、社团活动管理、活动参与管理等功能。程序效果图如下图5-14所示:
在这里插入图片描述

图5-14会员功能界面图

5.4.2社团申请信息管理
会员进入社团申请信息管理页面可以查看社团名称、社团图片、社团类别、申请时间、学号、姓名、审核回复、审核状态等信息并可以进行详情、修改、删除等操作。程序效果图如下图5-15所示:
在这里插入图片描述

图5-15社团申请信息管理界面图

5.5 学生功能模块

5.5.1学生功能
学生在高校社团管理系统页面可以查看首页、个人中心、校园社团管理、社团活动管理、会员申请管理等功能。程序效果图如下图5-16所示:
在这里插入图片描述

图5-16学生功能界面图

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
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 com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ShetuanhuodongEntity;
import com.entity.view.ShetuanhuodongView;

import com.service.ShetuanhuodongService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 社团活动
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("etuanhuodong")
public class ShetuanhuodongController {
    @Autowired
    private ShetuanhuodongService shetuanhuodongService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ShetuanhuodongEntity shetuanhuodong, 
		HttpServletRequest request){

        EntityWrapper<ShetuanhuodongEntity> ew = new EntityWrapper<ShetuanhuodongEntity>();
		PageUtils page = shetuanhuodongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shetuanhuodong), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("st")
    public R list(@RequestParam Map<String, Object> params,ShetuanhuodongEntity shetuanhuodong, HttpServletRequest request){
        EntityWrapper<ShetuanhuodongEntity> ew = new EntityWrapper<ShetuanhuodongEntity>();
		PageUtils page = shetuanhuodongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shetuanhuodong), params), params));
        return R.ok().put("data", page);
    }

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ShetuanhuodongEntity shetuanhuodong){
        EntityWrapper< ShetuanhuodongEntity> ew = new EntityWrapper< ShetuanhuodongEntity>();
 		ew.allEq(MPUtil.allEQMapPre( shetuanhuodong, "shetuanhuodong")); 
		ShetuanhuodongView shetuanhuodongView =  shetuanhuodongService.selectView(ew);
		return R.ok("查询社团活动成功").put("data", shetuanhuodongView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ShetuanhuodongEntity shetuanhuodong = shetuanhuodongService.selectById(id);
        return R.ok().put("data", shetuanhuodong);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ShetuanhuodongEntity shetuanhuodong = shetuanhuodongService.selectById(id);
        return R.ok().put("data", shetuanhuodong);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("ve")
    public R save(@RequestBody ShetuanhuodongEntity shetuanhuodong, HttpServletRequest request){
    	shetuanhuodong.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(shetuanhuodong);

        shetuanhuodongService.insert(shetuanhuodong);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ShetuanhuodongEntity shetuanhuodong, HttpServletRequest request){
    	shetuanhuodong.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(shetuanhuodong);

        shetuanhuodongService.insert(shetuanhuodong);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ShetuanhuodongEntity shetuanhuodong, HttpServletRequest request){
        //ValidatorUtils.validateEntity(shetuanhuodong);
        shetuanhuodongService.updateById(shetuanhuodong);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        shetuanhuodongService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<ShetuanhuodongEntity> wrapper = new EntityWrapper<ShetuanhuodongEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = shetuanhuodongService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

论文参考

在这里插入图片描述

目 录
1 概述 1
1.1课题背景及意义 1
1.2 国内外研究现状 1
1.3 本课题主要工作 2
2 系统开发环境 3
2.1 Java技术 3
2.2 Mysql数据库 3
2.3 B/S结构 4
2.4 SSM框架 4
3 系统分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2操作可行性 5
3.1.3 经济可行性 5
3.1.4 法律可行性 6
3.2系统流程分析 6
3.2.1系统开发流程 6
3.2.2 用户登录流程 7
3.2.3 系统操作流程 7
3.2.4 添加信息流程 8
3.2.5 修改信息流程 9
3.2.6 删除信息流程 9
3.3系统用例分析 10
3.3.1管理员用例图 10
3.3.2会员用例图 11
3.3.3学生用例图 11
4 系统设计 13
4.1 系统概述 13
4.2 系统结构设计 13
4.3数据库设计 14
4.3.1 数据库设计原则 14
4.3.2 数据库实体 14
4.3.3 数据库表设计 16
5系统界面实现 18
5.1 管理员登录 18
5.2 管理员功能模块 18
5.3 前台首页功能模块 22
5.4 会员功能模块 22
5.5 学生功能模块 22
6系统测试 23
6.1系统测试的意义 23
6.2 测试方法 24
6.3测试分析 24
结 论 25
致 谢 26
参考文献 27

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值