目录
一、前言
二、技术介绍
三、系统实现
四、文档参考
五、核心代码
六、源码获取
全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末
一、前言
随着高等教育的快速发展,学科竞赛已成为培养学生创新能力、实践能力和团队协作精神的重要途径。为了更高效、便捷地组织和管理高校学科竞赛,我们设计并实现了这一基于Java+Spring Boot+MySQL的高校学科竞赛平台。Java以其跨平台、稳定性强的特点,为系统的开发提供了坚实的基础;Spring Boot则以其简洁的配置和快速的开发部署能力,大大提升了开发效率;MySQL数据库则以其高性能和易用性,为系统提供了可靠的数据存储和访问支持。该平台集成了竞赛报名、作品提交、在线评审、成绩公布和数据分析等功能,旨在为广大师生提供一个公平、公正、公开的竞赛环境。通过本平台的实施,我们期望能够推动高校学科竞赛的普及和发展,进一步提升学生的综合素质和创新能力。
二、技术介绍
语言:Java
使用框架:Spring Boot
前端技术:JS、Vue 、css3
开发工具:IDEA/Eclipse
数据库:MySQL 5.7/8.0
数据库管理工具:phpstudy/Navicat
JDK版本:jdk1.8
Maven: apache-maven 3.8.1-bin
前端环境:Node.Js 12\14\16
三、系统实现
竞赛题库管理
高校学科竞赛平台的系统管理员可以管理竞赛题库,可以对竞赛题库信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。
竞赛信息管理
系统管理员可以查看竞赛信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。
晋级名单管理
管理员可以对晋级名单信息进行修改,删除以及查询操作。界面如下图所示:
往年成绩管理
教师可以对往年成绩信息进行修改操作,还可以对往年成绩信息进行查询。界面如下图所示:
参赛申请管理
教师可以对学生提交的参赛申请进行审核。界面如下图所示:
四、文档参考
五、核心代码
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}
六、源码获取
感谢大家点赞、收藏、关注、评论啦 、获取联系方式在个人简介绿泡泡