作者主页:编程指南针


 简介:Java领域优质创作者  Java项目、简历模板、学习资料、面试题库、技术互助

文末获取源码 

 项目编号:BS-PT-018

数据库:mysql

开发工具:IDEA /  Eclipse

开发语言:JAVA

使用框架:Springboot+SSM

本系统基于Springboot和SSM框架来实现校友录管理。分前端系统和后端系统。后端系统模块主要实现功能有:校友信息管理、校友会信息管理、校友活动管理、新闻管理、招聘管理、捐赠项目管理、系统管理等模块。前端系统主要进行数据展示和相应信息操作,用户注册登陆后可以查看新闻,查看校友会并加入选择的校友会,查看并申请校友活动(管理员后台审核),查看并发布招聘信息(管理员后台审核),论坛发贴,项目损赠和发布等模块。功能完整,运行无误。

部分展示功能如下:

后端功能:

   后台主界面:

基于Springboot实现校友录管理系统_校友网站系统

   

校友信息管理:

基于Springboot实现校友录管理系统_springboot毕业设计_02

校友会管理:用户前创建校友会,管理员后端审核

基于Springboot实现校友录管理系统_校友录管理_03

校友活动管理:

基于Springboot实现校友录管理系统_校友录毕业设计_04

新闻管理:

基于Springboot实现校友录管理系统_校友录管理_05

内推招聘模块:

基于Springboot实现校友录管理系统_校友网站系统_06

项目损赠管理:

基于Springboot实现校友录管理系统_校友网站系统_07

系统设置:

基于Springboot实现校友录管理系统_springboot毕业设计_08

前端系统模块:

首页:

基于Springboot实现校友录管理系统_springboot毕业设计_09

新闻查看:

基于Springboot实现校友录管理系统_校友录毕业设计_10

查看并加入校友会:

基于Springboot实现校友录管理系统_校友网站系统_11

查看并创建校友活动:

基于Springboot实现校友录管理系统_校友网站系统_12

论坛交流模块:

基于Springboot实现校友录管理系统_校友录毕业设计_13

查看并设置捐赠:

基于Springboot实现校友录管理系统_校友管理系统_14

发布招聘信息

基于Springboot实现校友录管理系统_校友管理系统_15

前端用户个人主页

基于Springboot实现校友录管理系统_校友录管理_16

基于Springboot实现校友录管理系统_校友网站系统_17

个人资料

以上是展示的部分系统的功能模块

部分功能实现代码:

package com.lgy.xiaoyou_manage.controller;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.lgy.tools.entity.TbStu;
 import com.lgy.tools.entity.TbUserRole;
 import com.lgy.xiaoyou_manage.config.CustomUserDetailsService;
 import com.lgy.xiaoyou_manage.service.ITbStuService;
 import com.lgy.xiaoyou_manage.service.ITbUserRoleService;
 import org.apache.ibatis.annotations.Param;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpSession;
 /**
  * <p>
  *  前端控制器
  * </p>
  *
  * @author lgy
  * @since 2020-02-07
  */
 @Controller
 public class LoginController {    @Autowired
     private ITbStuService tbStuService;    @Autowired
     private CustomUserDetailsService userDetailsService;    @Autowired
     private ITbUserRoleService userRoleService;    private Logger logger=  LoggerFactory.getLogger(LoginController.class);
    @RequestMapping("/home")
     public String showHome(Model m, Authentication authentication){
         String name = SecurityContextHolder.getContext().getAuthentication().getName();
         logger.info("当前登录用户:"+name);
         TbStu tbStu = tbStuService.getByUserName(name);
         m.addAttribute("tbStu",tbStu);
         return "home";
     }    @RequestMapping("/login")
     public String showLogin() {        return "login";
     }    @RequestMapping("/check/UserName")
     @ResponseBody
     public Integer checkUserName(@Param("username") String username){
         TbStu tbStu = tbStuService.getOne(new QueryWrapper<TbStu>().eq("username", username).select("username"));
         if(tbStu!=null){
             return 1;
         }else {
             return 2;
         }
     }    /*@RequestMapping("/check/PassWord")
     @ResponseBody
     public Integer checkPassWord(@Param("password") String password,@Param("username") String username){
         TbStu tbStu = tbStuService.getOne(new QueryWrapper<TbStu>().eq("password", password).eq("username",username).select("username"));
         if(tbStu!=null){
             return 1;
         }else {
             return 2;
         }
     }*/    @RequestMapping("/check/PassWord")
     @ResponseBody
     public Integer checkRole(@Param("password") String password,@Param("username") String username){
         TbStu tbStu = tbStuService.getOne(new QueryWrapper<TbStu>().eq("password", password).eq("username",username).select("username","user_id"));
         if(tbStu==null){
             return 2;
         }else {
             TbUserRole userRole = userRoleService.getById(tbStu.getUserId());
             if(userRole!=null){
                 if(userRole.getRoleId()==1){
                     return 1;
                 }else {
                     return 3;
                 }
             }else {
                 return 3;
             }
         }
     }    @RequestMapping("/index")
     public String showIndex(){
         return "index";
     }    @RequestMapping("/password")
     public String pwd(){
         return "/settings/password";
     }    @RequestMapping("/editPwd")
     @ResponseBody
     public Integer editPwd(@Param("newpwd") String newpwd, HttpSession session){
         System.out.println(newpwd);
         TbStu tbStu= (TbStu) session.getAttribute("tbStu");
         boolean b = tbStuService.update(new UpdateWrapper<TbStu>().set("password", newpwd).eq("user_id", tbStu.getUserId()));
         if(b){
             return 1;
         }else {
             return 0;
         }
     }     @RequestMapping("/admin")
     @ResponseBody
     @PreAuthorize("hasRole('ROLE_ADMIN')")
     public String printAdmin() {
         return "如果你看见这句话,说明你有ROLE_ADMIN角色";
     }    @RequestMapping("/user")
     @ResponseBody
     public String printUser() {
         return "如果你看见这句话,说明你有ROLE_USER角色";
     }}
  package com.lgy.xiaoyou_manage.controller;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.lgy.tools.common.utils.MailUtils;
 import com.lgy.tools.common.utils.QueryObj;
 import com.lgy.tools.entity.TbActivity;
 import com.lgy.tools.entity.TbActivityJoin;
 import com.lgy.tools.entity.TbStu;
 import com.lgy.xiaoyou_manage.service.ITbActivityJoinService;
 import com.lgy.xiaoyou_manage.service.ITbActivityService;
 import com.lgy.xiaoyou_manage.service.ITbStuService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;import javax.mail.MessagingException;
 import java.util.List;/**
  * <p>
  *  前端控制器
  * </p>
  *
  * @author lgy
  * @since 2020-02-11
  */
 @Controller
 @RequestMapping("/act")
 public class TbActivityController {    @Autowired
     private ITbActivityService activityService;    @Autowired
     private ITbActivityJoinService activityJoinService;    @Autowired
     private ITbStuService tbStuService;    /**
      * 分页获取所有活动
      * @param m
      * @param page
      * @param limit
      * @param queryObj
      * @return
      */
     @RequestMapping("/getAllAct")
     public String getAllAct(Model m, @RequestParam(defaultValue = "1") long page, @RequestParam(defaultValue = "10") long limit, QueryObj queryObj){
         QueryWrapper<QueryObj> wrapper = new QueryWrapper<>();
         wrapper.setEntity(queryObj);
         IPage<TbActivity> actPage = activityService.getAllAct(page,limit,wrapper);
         m.addAttribute("actPage",actPage);
         m.addAttribute("page",page);
         m.addAttribute("queryObj",queryObj);
         return "/activity/act-base";    }
    /**
      * 根据id获取活动信息
      * @param m
      * @param acId
      * @return
      */
     @RequestMapping("/getActById")
     public String getActById(Model m,Integer acId){
         TbActivity act=activityService.getActById(acId);
         m.addAttribute("act",act);
         return "/activity/act-edit";
     }    /**
      * 根据Id更新活动
      * @param tbActivity
      * @return
      */
     @RequestMapping("/updateActById")
     @ResponseBody
     public Integer updateActById(TbActivity tbActivity){
         activityService.updateById(tbActivity);
         TbActivityJoin activityJoin = new TbActivityJoin();
         activityJoin.setUserId(tbActivity.getAcPer());
         activityJoin.setAcId(tbActivity.getAcId());
         boolean b = activityJoinService.save(activityJoin);
         if(b){
             TbStu tbStu = tbStuService.getOne(new QueryWrapper<TbStu>().select("name", "email").eq("user_id", tbActivity.getAcPer()));
             if(tbActivity.getAcStatus()==1&&tbStu.getEmail()!=null){
                 try {
                     MailUtils.sendMail(tbStu.getEmail(),"你申请的校友活动审核通过啦"," ");
                     return 1;
                 } catch (MessagingException e) {
                     e.printStackTrace();
                     return 2;
                 }
             }
             if(tbActivity.getAcStatus()==2&&tbStu.getEmail()!=null){
                 try {
                     MailUtils.sendMail(tbStu.getEmail(),"你申请的校友活动未通过审核","请重新申请活动");
                     return 1;
                 } catch (MessagingException e) {
                     e.printStackTrace();
                     return 2;
                 }
             }
         }
         return 2;
     }    /**
      * 查询参与活动的校友
      * @param m
      * @param acId
      * @param page
      * @param limit
      * @return
      */
     @RequestMapping("/getActJoinById")
     public String getActJoinById(Model m,Integer acId,@RequestParam(defaultValue = "1") long page, @RequestParam(defaultValue = "10") long limit){
         IPage<TbStu> stuPage = tbStuService.getActJoinById(new Page<TbStu>(page,limit),acId);
         m.addAttribute("stuPage",stuPage);
         m.addAttribute("page",page);
         m.addAttribute("acId",acId);
         return "/activity/actStu-look";
     }    /**
      * 删除加入活动的校友
      * @param userIds
      * @param acId
      * @return
      */
     @RequestMapping("/delActJoinById")
     public String delActJoinById(@RequestParam("userId") List<Integer> userIds,Integer acId){
         QueryWrapper<TbActivityJoin> wrapper = new QueryWrapper<>();
         wrapper.in("user_id",userIds);
         activityJoinService.remove(wrapper);
         return "redirect:/act/getActJoinById?acId="+acId;
     }     /**
      * 根据id删除
      * @param acIds
      * @return
      */
     @RequestMapping("/delActById")
     public String delActById(@RequestParam("acId") List<Integer> acIds){
         activityService.removeByIds(acIds);
         QueryWrapper<TbActivityJoin> wrapper = new QueryWrapper<>();
         wrapper.in("ac_id",acIds);
         activityJoinService.remove(wrapper);
         return "redirect:/act/getAllAct";
     }}
  package com.lgy.xiaoyou_manage.controller;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.lgy.tools.common.utils.MailUtils;
 import com.lgy.tools.common.utils.QueryObj;
 import com.lgy.tools.entity.TbAss;
 import com.lgy.tools.entity.TbAssstu;
 import com.lgy.tools.entity.TbStu;
 import com.lgy.xiaoyou_manage.service.ITbAssService;
 import com.lgy.xiaoyou_manage.service.ITbAssstuService;
 import com.lgy.xiaoyou_manage.service.ITbStuService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;import javax.mail.MessagingException;
 import java.time.LocalDateTime;
 import java.util.List;/**
  * <p>
  *  前端控制器
  * </p>
  *
  * @author lgy
  * @since 2020-02-03
  */
 @Controller
 @RequestMapping("/ass")
 public class TbAssController {    @Autowired
     ITbAssService tbAssService;    @Autowired
     ITbAssstuService tbAssstuService;    @Autowired
     ITbStuService tbStuService;    /**
      * 分页查询校友会信息
      * @param m
      * @param page
      * @param limit
      * @param queryObj
      * @return
      */
     @RequestMapping("/getAllAss")
     public String getAllAss(Model m, @RequestParam(defaultValue = "1") long page, @RequestParam(defaultValue = "10") long limit, QueryObj queryObj){
         QueryWrapper<QueryObj> wrapper = new QueryWrapper<>();
         wrapper.setEntity(queryObj);
         IPage<TbAss> assPage = tbAssService.getAllAss(page,limit,wrapper);
         m.addAttribute("assPage",assPage);
         m.addAttribute("page",page);
         m.addAttribute("queryObj",queryObj);
         return "/aluAss/aluAss-base";    }
    /**
      * 根据ID查询
      * @param m
      * @param assId
      * @return
      */
     @RequestMapping("/getAssById")
     public String getAssById(Model m,Integer assId){
         TbAss tbAss = tbAssService.getAssById(assId);
         m.addAttribute("ass",tbAss);
         return "/aluAss/aluAss-edit";
     }    /**
      * 更新信息
      * @param tbAss
      * @return
      */    @RequestMapping("/updateAssById")
     @ResponseBody
     public Integer updateAssById(TbAss tbAss)  {
         tbAss.setAssExaminetime(LocalDateTime.now());
         tbAssService.updateById(tbAss);
         TbAssstu assstu = new TbAssstu();
         assstu.setUserId(tbAss.getAssPer());
         assstu.setAssId(tbAss.getAssId());
         boolean b = tbAssstuService.save(assstu);
         if(b){
             TbStu tbStu = tbStuService.getOne(new QueryWrapper<TbStu>().select("name", "email").eq("user_id", tbAss.getAssPer()));
             if(tbAss.getAssStatus()==1&&tbStu.getEmail()!=null){
                 try {
                     MailUtils.sendMail(tbStu.getEmail(),"你申请的校友会审核通过啦"," ");
                     return 1;
                 } catch (MessagingException e) {
                     e.printStackTrace();
                     return 2;
                 }
             }
             if(tbAss.getAssStatus()==2&&tbStu.getEmail()!=null){
                 try {
                     MailUtils.sendMail(tbStu.getEmail(),"你申请的校友会未通过审核","请重新申请");
                     return 1;
                 } catch (MessagingException e) {
                     e.printStackTrace();
                     return 2;
                 }
             }
         }
         return 2;
     }     /**
      * 根据校友会ID查询所有的校友
      * @param m
      * @param assId
      * @return
      */
     @RequestMapping("/getAssStuById")
     public String getAssStuById(Model m,Integer assId,@RequestParam(defaultValue = "1") long page, @RequestParam(defaultValue = "10") long limit){
         IPage<TbStu> stuList=tbAssService.getAssStuById(new Page<>(page,limit),assId);
         m.addAttribute("stuPage",stuList);
         m.addAttribute("page",page);
         m.addAttribute("assId",assId);
         return "/aluAss/AssStu-look";
     }    /**
      * 删除校友会
      * @param assIds
      * @return
      */
     @RequestMapping("delAssById")
     public String delAssById(@RequestParam("assId")List<Integer> assIds){
         tbAssService.removeByIds(assIds);
         QueryWrapper<TbAssstu> wrapper = new QueryWrapper<>();
         wrapper.in("ass_id",assIds);
         tbAssstuService.remove(wrapper);
         return "redirect:/ass/getAllAss";
     }    /**
      * 根据校友ID删除对应的校友会成员信息表
      * @param userIds
      * @return
      */
     @RequestMapping("/delAssStuById")
     public String delAssStuById(@RequestParam("userId") List<Integer> userIds,Integer assId){
         QueryWrapper<TbAssstu> queryWrapper = new QueryWrapper<>();
         queryWrapper.in("user_id",userIds);
         tbAssstuService.remove(queryWrapper);
         return "redirect:/ass/getAssStuById?assId="+assId;
     }}