一,项目简介
本项目基于Springboot+Mybatis开发实现了一个高校社团管理系统,系统包含三个角色:管理员、团长、会员。管理员主要是做一些基础数据的管理,比较用户管理,新闻管理,活动审批,社团创建审批等等,会员可以申请加入相关的社团,也可自己申请社团,管理员审批通过后成为团长,可以申请开展相关的活动。团长登陆后可以审批申请加入本社团的申请信息,并管理和查看相关的社团用户信息。各角色进入均可以查看发布的新闻信息。
二,环境介绍
语言环境:Java: jdk1.8
数据库:Mysql: mysql5.7 Redis缓存数据库
应用服务器:Tomcat: tomcat8.5.31
开发工具:IDEA或eclipse
后台开发技术:Springboot+Mybatis+SpringCache缓存框架
前端开发技术:Jquery+AjAX+JSP
三,系统展示
下面展示一下系统的相关功能模块:
管理员登陆后主要操作功能
登陆注册界面
主界面
查看社团活动信息
用户管理
社团管理
审核 管理
新闻管理
团长登陆系统后
申请创建活动
管理本社团成员
审核加入社团申请
学生登陆
申请创建社团
申请加入社团
四,核心代码展示
package com.example.association2.controller;
import com.example.association2.service.impl.ActivityServiceImpl;
import com.example.association2.service.impl.AssociationMemberServiceImpl;
import com.example.association2.utils.PicUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@Controller
public class ActivityController {
@Autowired
private AssociationMemberServiceImpl associationMemberService;
@Autowired
private ActivityServiceImpl activityService;
@GetMapping("/activities")//所有活动页面
public String toActivities(HttpServletRequest httpServletRequest,
@RequestParam(name = "key", required = true) int key) {//key判断点击的活动分类
if (key == 0) {//所有活动
httpServletRequest.setAttribute("activityList", activityService.findAllActivityAndName());
httpServletRequest.setAttribute("key", key);
} else if (key == 1) {//文体类活动
httpServletRequest.setAttribute("activityList", activityService.findActivityAndNameByAssociationType(key));
httpServletRequest.setAttribute("key", key);
} else if (key == 2) {//学术类活动
httpServletRequest.setAttribute("activityList", activityService.findActivityAndNameByAssociationType(key));
httpServletRequest.setAttribute("key", key);
} else if (key == 3) {//公益类活动
httpServletRequest.setAttribute("activityList", activityService.findActivityAndNameByAssociationType(key));
httpServletRequest.setAttribute("key", key);
}
return "jsp/activity";
}
@GetMapping("/activity")//活动详情页面
public String act_detail(HttpServletRequest httpServletRequest,
@RequestParam(name = "activityId", required = true) int activityId) {
String imglocation[] = activityService.findActivityById(activityId).getPicture().split(";");//把活动图片路径和分号切割后返回正确的图片路径
httpServletRequest.setAttribute("imgLocation", imglocation);
int imgNum = imglocation.length;
httpServletRequest.setAttribute("imgNum", imgNum);//获取图片数量
httpServletRequest.setAttribute("activity", activityService.findActivityById(activityId));
return "jsp/act_detail";//活动详情页面
}
@GetMapping("/activityApply")//申请活动页面
public String toApply(HttpServletRequest httpServletRequest) {
HttpSession session = httpServletRequest.getSession();
int userId = (int) session.getAttribute("userId");
httpServletRequest.setAttribute("associationId", associationMemberService.findassociationIdByUserId(userId));
return "jsp/act_apply";
}
@PostMapping("/activity")//提交活动申请
@ResponseBody
public String addAct(@RequestParam String title,
String description,
int associationId,
String startTime,
String endTime,
String location,
float material,
@RequestParam(name = "base64Data0&