SpringBoot+Vue项目校园运动会管理系统
文末获取源码
开发语言:Java
框架:springboot+vue
Node:node.js
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7/8.0
数据库工具:Navicat11
开发软件:eclipse/idea,Visual
Maven包:Maven3.3.9
浏览器:谷歌浏览器
目录
一、前言介绍
二、系统功能需求
2.1管理员功能需求
2.2用户功能需求
三、系统详细设计
3.1前台首页模块
3.2运动会资讯模块
3.3场地信息模块
3.4比赛项目模块
3.5比赛项目模块详情
四、管理员功能模块
4.1后台首页模块
4.2公告栏模块
4.3运动员模块
4.4运动会资讯模块
4.5比赛项目模块
五、部分核心代码
5.1用户登录关键代码
5.2用户注册关键代码
5.3运动资讯关键代码
5.4比赛项目报名申请关键代码
5.5比赛项目管理关键代码
一、前言介绍
21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于学校的学生运动会管理也是十分常见的。过去使用手工的管理方式对校园运动会管理系统,造成了管理繁琐、难以维护等问题,如今使用计算机对高校运动会的各项基本信息进行管理,比起手工管理来说既方便又简单,而且具有易于管理、搜索速度快、存储量大等多个优点。将其使用在高校运动会管理中,不仅能够提高校园运动会管理系统中管理员的工作效率,而且可以使学校运动会管理更加科学与规范。在信息化时代的不断冲击下,高校运动会管理与计算机技术的结合,将会是一条提校园运动会管理系统水平的捷径。
经过本人的综合考虑,学校运动会管理系统的设计是采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取Mysql作为后台数据的主要存储单元,采用SpringBoot框架、Vue技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对高校运动会管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现高校运动会系统和部署运行使用它。
二、系统功能需求
2.1管理员功能需求
用户管理模块:管理员查看用户基本信息,并实现对用户信息的增加、删除、修改等功能。
修改登录密码模块:修改管理员用户的登录密码。
注册管理模块:管理员查看用户注册信息,内容,审核。
内容管理模块:管理员发布公告可对其删除、修改。
运动会信息管理模块:管理员查看运动会表,并且添加运动会数据,也能够删除运动会数据。
运动会成绩公布模块:根据参赛选手的实际比赛得分,管理员对运动会排名成绩信息的公布维护、比赛结果处理等操作。
赛道分配管理模块:
运动会中对于参赛者的参赛项目赛道分配数据项进行管理维护操作。
报名人员与参赛人员管理模块:
对报名参加运动会项目的人员资料进行管理。
2.2用户功能需求
用户注册模块:将用户信息录入数据库,用户利用注册的账号以及密码登录系统,浏览查看各种信息,添加部分信息;
留言模块:用户以留言的形式,跟管理员交流。
评论模块:用户评论运动会内容,查看其他对运动会内容等的评论内容。
个人信息模块:修改信息功能,用户修改个人资料信息,但不能修改账号;密码修改功能,修改登录密码。
运动会申请模块:从管理员发布的运动会数据中选择要申请的运动会类型,进行添加申请记录。
成绩排名查询模块:可以在系统上查看个人或者团体参与的运动会得分,排名等信息。
比赛项目推荐模块:可以在系统上查看运动会的各项比赛项目信息,包括项目名称、项目比赛时间、项目参赛选手等具体信息。
赛道分配模块:这个主要是裁判对比赛项目的比赛赛道进行分配,用户可以查看具体的分配列表。
三、系统详细设计
3.1前台首页模块
3.2运动会资讯模块
3.3场地信息模块
3.4比赛项目模块
3.5比赛项目模块详情
四、管理员功能模块
4.1后台首页模块
4.2公告栏模块
4.3运动员模块
4.4运动会资讯模块
4.5比赛项目模块
五、部分核心代码
5.1用户登录关键代码
* 登录* @param data* @param httpServletRequest* @return*/@PostMapping("login")public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {log.info("[执行登录接口]");String username = data.get("username");String email = data.get("email");String phone = data.get("phone");String password = data.get("password");List resultList = null;QueryWrapper wrapper = new QueryWrapper<User>();Map<String, String> map = new HashMap<>();if(username != null && "".equals(username) == false){map.put("username", username);resultList = service.selectBaseList(service.select(map, new HashMap<>()));}else if(email != null && "".equals(email) == false){map.put("email", email);resultList = service.selectBaseList(service.select(map, new HashMap<>()));}else if(phone != null && "".equals(phone) == false){map.put("phone", phone);resultList = service.selectBaseList(service.select(map, new HashMap<>()));}else{return error(30000, "账号或密码不能为空");}if (resultList == null || password == null) {return error(30000, "账号或密码不能为空");}//判断是否有这个用户if (resultList.size()<=0){return error(30000,"用户不存在");}User byUsername = (User) resultList.get(0);Map<String, String> groupMap = new HashMap<>();groupMap.put("name",byUsername.getUserGroup());List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));if (groupList.size()<1){return error(30000,"用户组不存在");}UserGroup userGroup = (UserGroup) groupList.get(0);//查询用户审核状态if (!StringUtils.isEmpty(userGroup.getSourceTable())){String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());if (res==null){return error(30000,"用户不存在");}if (!res.equals("已通过")){return error(30000,"该用户审核未通过");}}//查询用户状态if (byUsername.getState()!=1){return error(30000,"用户非可用状态,不能登录");}String md5password = service.encryption(password);if (byUsername.getPassword().equals(md5password)) {// 存储Token到数据库AccessToken accessToken = new AccessToken();accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));accessToken.setUser_id(byUsername.getUserId());tokenService.save(accessToken);// 返回用户信息JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));user.put("token", accessToken.getToken());JSONObject ret = new JSONObject();ret.put("obj",user);return success(ret);} else {return error(30000, "账号或密码不正确");}}public String select(Map<String,String> query,Map<String,String> config){StringBuffer sql = new StringBuffer("select ");sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");}if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");}if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);}log.info("[{}] - 查询操作,sql: {}",table,sql);return sql.toString();}public List selectBaseList(String select) {List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);List<E> list = new ArrayList<>();for (Map<String,Object> map:mapList) {list.add(JSON.parseObject(JSON.toJSONString(map),eClass));}return list;}
5.2用户注册关键代码
* 注册* @return*/@PostMapping("register")public Map<String, Object> signUp(HttpServletRequest request) throws IOException {// 查询用户Map<String, String> query = new HashMap<>();Map<String,Object> map = service.readBody(request.getReader());query.put("username",String.valueOf(map.get("username")));List list = service.selectBaseList(service.select(query, new HashMap<>()));if (list.size()>0){return error(30000, "用户已存在");}map.put("password",service.encryption(String.valueOf(map.get("password"))));service.insert(map);return success(1);}public Map<String,Object> readBody(BufferedReader reader){BufferedReader br = null;StringBuilder sb = new StringBuilder("");try{br = reader;String str;while ((str = br.readLine()) != null){sb.append(str);}br.close();String json = sb.toString();return JSONObject.parseObject(json, Map.class);}catch (IOException e){e.printStackTrace();}finally{if (null != br){try{br.close();}catch (IOException e){e.printStackTrace();}}}return null;}public void insert(Map<String,Object> body){E entity = JSON.parseObject(JSON.toJSONString(body),eClass);baseMapper.insert(entity);log.info("[{}] - 插入操作:{}",entity);}
5.3运动资讯关键代码
<mapper namespace="com.project.demo.dao.base.BaseMapper"><select id="selectBaseList" resultType="java.util.LinkedHashMap">${select}</select><select id="selectBaseCount" resultType="Integer">${count}</select><select id="selectBaseOne" resultType="Object">${select}</select><update id="updateBaseSql">${sql}</update><delete id="deleteBaseSql">${sql}</delete></mapper>
5.4比赛项目报名申请关键代码
@RequestMapping("/get_obj")public Map<String, Object> obj(HttpServletRequest request) {List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));if (resultList.size() > 0) {JSONObject jsonObject = new JSONObject();jsonObject.put("obj",resultList.get(0));return success(jsonObject);} else {return success(null);}}
5.5比赛项目管理关键代码
@PostMapping("/add")@Transactionalpublic Map<String, Object> add(HttpServletRequest request) throws IOException {service.insert(service.readBody(request.getReader()));return success(1);}@Transactionalpublic Map<String, Object> addMap(Map<String,Object> map){service.insert(map);return success(1);}
SpringBoot+Vue项目校园运动会管理系统相关推荐
- SpringBoot+Vue项目校园综合管理系统
文末获取源码 开发语言:Java 框架:springboot+vue Node:node.js JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Nav ...
- SpringBoot+Vue项目校园防疫管理系统
文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript.Vue.js .css3 开发工具:IDEA/MyEclipse/Eclipse.Visual St ...
- SpringBoot+Vue项目校园商铺系统
文末获取源码 开发语言:Java 框架:springboot+vue Node:node.js JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Nav ...
- springboot+vue+elementui校园运动会场地预约管理系统java
用户功能需求 用户注册模块:将用户信息录入数据库,用户利用注册的账号以及密码登录系统,浏览查看各种信息,添加部分信息: 留言模块:用户以留言的形式,跟管理员交流. 评论模块:用户评论运动会内容,查看其 ...
- SpringBoot+Vue项目校园台球厅人员与设备管理系统
文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclip ...
- SpringBoot+Vue项目校园在线拍卖系统
文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7/8.0 应用服务:Tomcat7/Tomcat8 是否Maven项目:是 后端框架:SpringBoo ...
- SpringBoot+Vue项目校园二手交易平台
文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript.Vue.js .css3 开发工具:IDEA/MyEclipse/Eclipse.Visual St ...
- 基于SpringBoot+Vue的校园招聘管理系统(Java毕业设计)
[辰兮要努力]:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端.后台.数据 ...
- Java项目:校园运动会管理系统(java+JSP+Servlet+JavaBean+Mysql)
源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含三种角色:运动员.裁判员.管理员: 运动员角色包含以下功能: 运动员登录,个人信息修改,运动成绩查询,比赛项目查询等 ...
- SpringBoot+Vue项目小区疫苗接种管理系统的设计与实现
文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript.Vue .css3 开发工具:IDEA/MyEclipse/Eclipse.Visual Studi ...
最新文章
- python环境变量值_如何在python中读取Windows环境变量值?
- 避免在Swift Struct中使用闭包
- 大学生就业重心能否“二线城市化”?
- UVA 10803 Thunder Mountain
- Linux下配置和安装VNCServer远程服务
- P7962-[NOIP2021]方差【dp,差分】
- iPhone 11运存、电池确定!5499元值得买吗?
- dbhelp mysql c_C++写的一个MYSQL控制台(3)
- 安装rpm包完成却报错(桌面软件类安装包),可以在usr/share/applications目录下找到图标打开
- McAfee Agent漏洞可导致黑客以Windows 系统权限运行代码
- sonar扫的是class还是Java_如何在同一个项目中为java和javascript配置Sonarqube扫描程序...
- Python写数据结构:单向循环链表
- linux系统火狐浏览器加速,火狐浏览器加速的几个设置
- 硬件入门之PCB设计注意事项
- 【JAVAEE基础学习(16)】--简述ElasticSearch
- 自动化测试的三种测试报告模板
- 【Redis学习05】优惠券秒杀及其优化
- 中国宗教场所地理分布数据
- Chrome下载危险文件拦截手动绕过
- 如何让mysql数据库允许被远程连接访问
热门文章
- 服务器改文件,服务人员:如何更新服务器上的文件更改缓存?
- qt动画实现抖动和下坠
- php两次跳转,小程序使用函数节流解决页面多次跳转问题
- 公钥加密_河海大学陆阳、李继国:不依赖双线性对的带关键字搜索的无证书公钥加密方案构造...
- C/C++遍历目录下的所有文件(Windows篇)
- IIS网站本机可以访问但局域网其他机器无法访问 解决方法
- svn server配置与TortoiseSVN、Ankhsvn+VS使用
- SAP GUI 770下载
- 交叉火力dsp手机调音软件_dsp教程_交叉火力dsp调音教程_教你学dsp百度云(2)
- Linux操作系统——类UNIX系统