目录
大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是 一款基于SpringBoot+Vue的学生干部管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品 毕设 JavaWeb SSM SpringBoot等等项目框架,源码丰富,欢迎咨询。
一、项目介绍
信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的学生干部管理系统实现了字典管理、公告信息管理、留言管理、信访举报管理、学生干部管理、组织评价管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让学生干部管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。
关键字:信息管理,时效性,安全性,MySql
二、开发环境
开发系统:Windows
JDK版本:Java JDK1.8(推荐)
开发工具:IDEA/MyEclipse(推荐IDEA)
数据库版本: mysql8.0(推荐)
数据库可视化工具: navicat
服务器:SpringBoot自带 apache tomcat
框架:springboot,vue
三、功能介绍
管理员管理学生干部的数据,学生干部管理页面=主要实现学生干部的增加、修改、删除、查看的功能。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。
四、核心代码
/**
* 留言
* 后端接口
* @author
* @email
*/
@RestController
@Controller
@RequestMapping("/liuyan")
public class LiuyanController {
private static final Logger logger = LoggerFactory.getLogger(LiuyanController.class);
@Autowired
private LiuyanService liuyanService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
//级联表service
@Autowired
private XueshengganbuService xueshengganbuService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
String role = String.valueOf(request.getSession().getAttribute("role"));
if(StringUtil.isEmpty(role))
return R.error(511,"权限为空");
else if("学生干部".equals(role))
params.put("xueshengganbuId",request.getSession().getAttribute("userId"));
if(params.get("orderBy")==null || params.get("orderBy")==""){
params.put("orderBy","id");
}
PageUtils page = liuyanService.queryPage(params);
//字典表数据转换
List<LiuyanView> list =(List<LiuyanView>)page.getList();
for(LiuyanView c:list){
//修改对应字典表字段
dictionaryService.dictionaryConvert(c, request);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
LiuyanEntity liuyan = liuyanService.selectById(id);
if(liuyan !=null){
//entity转view
LiuyanView view = new LiuyanView();
BeanUtils.copyProperties( liuyan , view );//把实体数据重构到view中
//级联表
XueshengganbuEntity xueshengganbu = xueshengganbuService.selectById(liuyan.getXueshengganbuId());
if(xueshengganbu != null){
BeanUtils.copyProperties( xueshengganbu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setXueshengganbuId(xueshengganbu.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody LiuyanEntity liuyan, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,liuyan:{}",this.getClass().getName(),liuyan.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(StringUtil.isEmpty(role))
return R.error(511,"权限为空");
else if("学生干部".equals(role))
liuyan.setXueshengganbuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
liuyan.setInsertTime(new Date());
liuyan.setCreateTime(new Date());
liuyanService.insert(liuyan);
return R.ok();
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody LiuyanEntity liuyan, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,liuyan:{}",this.getClass().getName(),liuyan.toString());
liuyan.setUpdateTime(new Date());
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
liuyanService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
五、效果图
六、源码获取:
同系统在主页搜索资源可下载~