前言
校友录管理系统的出现是为了解决网络信息碎片化时代保存和查询同学、朋友联系方式和个人信息困难的问题。通过建立信息管理系统平台,为校友提供方便、可靠、高效的方式来管理信息,如共享信息、更新联系方式、添加校友信息和工作经历等。同时,校友通过此系统可以及时了解母校最近的新闻事件,增强与母校之间的归属感。此外,校友资源是高校社会资源的重要组成部分,通过搭建校友与学校、校友与在校生之间的桥梁,可以为教育主体的理论学习和实践发展拓宽校外资源。
一、项目介绍
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
二、功能介绍
一、系统背景与意义
校友录管理系统的出现是为了解决网络信息碎片化时代保存和查询同学、朋友联系方式和个人信息困难的问题。通过建立信息管理系统平台,为校友提供方便、可靠、高效的方式来管理信息,如共享信息、更新联系方式、添加校友信息和工作经历等。同时,校友通过此系统可以及时了解母校最近的新闻事件,增强与母校之间的归属感。此外,校友资源是高校社会资源的重要组成部分,通过搭建校友与学校、校友与在校生之间的桥梁,可以为教育主体的理论学习和实践发展拓宽校外资源。
二、技术架构与特点
1.开发语言与框架:系统基于Java语言开发,采用Spring Boot框架。Spring Boot简化了Spring应用程序的配置过程,提供了开箱即用的功能,同时保持了核心的强大和灵活性,能够大大简化开发过程。
2.前后端分离:系统采用前后端分离的开发模式,前端负责展示和交互,后端负责业务逻辑和数据处理。这种模式提高了开发效率,优化了用户体验。
3.数据库:系统采用MySQL等关系型数据库进行数据存储和管理,满足系统对于数据存储和管理的需求。
4.服务器:Tomcat等应用服务器用于部署和运行Spring Boot应用。
三、系统功能
1.校友信息管理:系统可以实现校友信息的全面收集和整理,包括姓名、联系方式、工作单位、职务等基本信息,以及校友的成就、荣誉等详细信息。这些信息将形成一个完整的校友数据库,方便学校进行查询和管理。
2.实时数据更新:系统能够实时更新校友的信息,如联系方式、工作单位、职务等,确保校友信息的准确性和时效性。
3.信息查询与统计:系统提供便捷的查询功能,允许用户根据姓名、工作单位、入学年份等条件进行搜索。同时,系统还可以生成各种统计报表,如校友分布图、职业发展情况等,为学校提供数据支持。
4.活动中心:校友可以通过此模块查看学校最近的活动信息,包括活动主题、时间、地点、内容等。管理员通过此模块对学校活动进行管理,包括查询、发布、修改和删除学校活动等。
5.校友会管理:校友可以通过此模块查看学校校友会的信息,并申请加入校友会。管理员通过此模块对学校校友会进行管理,包括查询、发布、修改和删除校友会信息等。
6.新闻中心:校友可以通过此模块查看学校的最近新闻和热门新闻,以及对新闻进行评论、点赞。管理员通过此模块对学校新闻进行管理。
7.校友捐献:校友可以通过此模块进行捐献,包括捐献图片上传、捐献申请和捐献详情查看等。管理员可以查询、修改和删除物品捐赠记录。
8.校友群组:校友可以通过此模块进行校友的添加、查看校友的信息以及取消关注校友。还可以创建分组,将其他校友进行分组管理,解决毕业后沟通交流问题。
四、系统优势
1.高效性:系统实现了校友信息的自动化管理,大大提高了管理效率。
2.便捷性:系统提供丰富的功能模块,满足校友之间的信息交流、活动组织等需求,操作简便易用。
3.可扩展性:系统采用前后端分离的设计模式和分层架构,便于后续的功能扩展和升级。
4.安全性:系统采用多种安全措施,如用户身份验证、数据加密等,确保校友信息的安全性和隐私性。
五、应用场景
该系统适用于各类学校、校友会或相关组织,特别是需要提高校友信息管理效率、增强校友之间凝聚力的场景。通过该系统,校友可以方便地查找和联系同学,参与学校活动,分享信息和资源,为学校的发展做出贡献。
综上所述,基于Spring Boot的校友录管理系统是一种高效、便捷且功能丰富的校友信息管理工具,能够为校友和学校之间搭建沟通的桥梁,促进校友之间的交流和合作。
三、核心代码
部分代码:
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();
}
}
四、效果图