——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明























基于javaweb的SpringBoot学生学科竞赛管理系统设计和实现(java+springboot+ssm+maven+html)
主要技术、spring、 springmvc、 springboot、 mybatis 、 jquery 、 layUI、md5 、bootstarp.js 拦截器等项目 主要功能:登录、用户、菜单管理、角色管理、权限管理、立项申请、报名、结、经费管理、审核、统计等
用户登录:输入账号密码和验证码登录登录、登陆后根据用户权限显示不同菜单、角色灵活控制。
管理后主要功能模块:用户管理、角色管理、承菜管理、权限管理、竞赛报名管理、经费申请和审核管理、项目结题管理、立项申请管理等具体功能
用户管理:用户列表的显示、数据的添加以及删除修改等操作。
角色管理:通过给用户绑定角色、角色控制菜单灵活显示菜单权限功能。用户可以新建多角色
菜单管理:
系统日志监控:aop切面编程实现日志记录操作
业务模块功能;
立项申请:
立项审核:
活动经费预算申请:
立项申请个人赛以及团队赛报名管理:录入报名相关信息字段
项目结题管理:
项目完成之后选择项目进行资金使用统计结题:录入金额
项目结题统计:
代码结构:idea、eclipse直接导入就可运行
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
@RestController @RequestMapping("/sys/menu") public class SysMenuController extends AbstractController { @Autowired private SysMenuService sysMenuService;
@RequestMapping("/nav") public R nav(){ List<SysMenuEntity> menuList = sysMenuService.getUserMenuList(getUserId()); return R.ok().put("menuList", menuList); }
@RequestMapping("/list") @RequiresPermissions("sys:menu:list") public List<SysMenuEntity> list(){ List<SysMenuEntity> menuList = sysMenuService.list(); for(SysMenuEntity sysMenuEntity : menuList){ SysMenuEntity parentMenuEntity = sysMenuService.getById(sysMenuEntity.getParentId()); if(parentMenuEntity != null){ sysMenuEntity.setParentName(parentMenuEntity.getName()); } }
return menuList; }
@RequestMapping("/select") @RequiresPermissions("sys:menu:select")
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| @RequestMapping("/save") public R save(@RequestBody Team team) { team.setBmTime(new Date()); teamService.save(team); Closing closing = new Closing(); closing.setBid(team.getId()); closing.setJtType("团队赛"); closing.setStartTime(new Date()); closing.setTitle(team.getTitle()); closingService.save(closing); return R.ok(); }
@RequestMapping("/update") public R update(@RequestBody Team team) { if (team.getId() == null) { save(team); } else { teamService.updateById(team);
} return R.ok(); }
@RequestMapping("/delete") public R delete(@RequestBody Long[] ids) { teamService.removeByIds(Arrays.asList(ids)); return R.ok(); } } package io.renren.modules.sys.controller;
@RestController @RequestMapping("/sys/expenditure")
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
@RestController @RequestMapping("/sys/role") public class SysRoleController extends AbstractController { @Autowired private SysRoleService sysRoleService; @Autowired private SysRoleMenuService sysRoleMenuService; @Autowired private SysRoleDeptService sysRoleDeptService;
@RequestMapping("/list") @RequiresPermissions("sys:role:list") public R list(@RequestParam Map<String, Object> params){ PageUtils page = sysRoleService.queryPage(params);
return R.ok().put("page", page); }
@RequestMapping("/select") @RequiresPermissions("sys:role:select") public R select(){ List<SysRoleEntity> list = sysRoleService.list(); return R.ok().put("list", list); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| * 没被包装过的HttpServletRequest(特殊场景,需要自己过滤) */ HttpServletRequest orgRequest;
private final static HTMLFilter htmlFilter = new HTMLFilter();
public XssHttpServletRequestWrapper(HttpServletRequest request) { super(request); orgRequest = request; }
@Override public ServletInputStream getInputStream() throws IOException { if(!MediaType.APPLICATION_JSON_VALUE.equalsIgnoreCase(super.getHeader(HttpHeaders.CONTENT_TYPE))){ return super.getInputStream(); }
String json = IOUtils.toString(super.getInputStream(), "utf-8"); if (StringUtils.isBlank(json)) { return super.getInputStream(); }
json = xssEncode(json); final ByteArrayInputStream bis = new ByteArrayInputStream(json.getBytes("utf-8")); return new ServletInputStream() { @Override public boolean isFinished() { return true; }
@Override public boolean isReady() { return true; }
@Override public void setReadListener(ReadListener readListener) { }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=271422282105200cz
https://javayms.pages.dev?id=271422282105200cz