【开源】JAVA+Vue.js实现创意工坊双创管理系统

慈云数据 2024-03-13 技术支持 91 0

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
    • 二、功能模块
      • 2.1 管理员端
      • 2.2 Web 端
      • 2.3 移动端
      • 三、系统展示
      • 四、核心代码
        • 4.1 查询项目
        • 4.2 移动端新增团队
        • 4.3 查询讲座
        • 4.4 讲座收藏
        • 4.5 小程序登录
        • 五、免责说明

          一、摘要

          1.1 项目介绍

          基于JAVA+Vue+SpringBoot+MySQL的创意工坊双创管理系统,包含了讲座管理、消息管理、项目管理、公共空间、房间预约、团队管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,创意工坊双创管理系统基于角色的访问控制,给工坊管理员、教师和学生角色使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

          1.2 项目录屏


          二、功能模块

          在这里插入图片描述

          2.1 管理员端

          按照软件工程规范描述管理员端需求,细化用例规约,合理设计数据库,实现管理员端以下功能。

          1. 注册登录注销功能:管理员需要登录管理员账号,可以对系统的所有事务进行管理;用户端即教师和学生通过工号或学号进行注册登录,其中web端的安全验证采用图片或者验证码形式,微信小程序端安全验证采用短信验证码形式。
          2. 权限设置功能:对不同的角色设置管理权限。
          3. 基本信息管理:教师、学生可查看、补充基本信息。
          4. 基础信息导入:学生信息的批量导入。
          5. 各模板后台管理:项目管理、团队管理、房间预约、讲座信息等模块相关数据存储、后台展示、审核。
          6. 大数据分析模块:分类统计各功能模块信息,并做可视化展示。
          7. 留言管理:学生可进行留言,或者投诉与建议。
          8. 查询功能:用户可对平台内容进行查询。
          9. 消息通知功能:管理员对不良、不合法言论的账户予以警告通知;对即将使用的公共空间、讲座信息进行提醒。

          2.2 Web 端

          按照软件工程规范描述web端需求,细化用例规约,合理设计数据库,实现web端以下功能。

          1. 主页(首页)功能:项目管理、团队管理、房间预约、讲座信息、留言区、个人中心等页面设计。
          2. 公共空间管理:学生可查看公共空间信息,并进行预约;教师管理员可以发布信息,查看信息,审核管理。
          3. 讲座双选管理:双创导师可以发布讲座信息;学生可以查看讲座活动信息,查看、申请参加活动;讲师可以查看学生选报情况。
          4. 项目管理:学生申报项目,包括创新、创业、竞赛类项目;由导师或者管理员进行审核;学生可以查看进度条,清晰地了解状态。
          5. 房间预约:学生可以预约场地使用;可以查看进度条,看审批状态。
          6. 团队管理:学生可以自由组建团队;也可以由导师指定团队。
          7. 留言功能:学生可以对相关信息进行留言、评论。
          8. 个人信息管理:学生可以查看个人信息,并可进行修改。
          9. 消息通知功能:管理员对不良、不合法言论的账户予以警告通知;对其预约过并即将使用场地、讲座等重要信息进行提醒。
          10. 用户点赞、收藏功能:对体验感友好的事件可以点赞、收藏。

          2.3 移动端

          按照软件工程规范描述移动端需求,细化用例规约,合理设计数据库,实现移动端以下功能。

          1. 主页(首页)功能:项目管理、团队管理、房间预约、讲座信息、留言区、个人中心等页面设计。
          2. 公共空间管理;学生可查看公共空间信息,并进行预约;教师管理员可以发布信息,查看信息,审核管理。
          3. 讲座双选管理:双创导师可以发布讲座信息:学生可以查看讲座活动信息,查看、申请参加活动﹔讲师可以查看学生选报情况。
          4. 项目管理:学生申报项目,包括创新、创业、竞赛类项目;由导师或者管理员进行审核:学生可以查看进度条,清晰地了解状态。
          5. 房间预约:学生可以预约场地使用;可以查看进度条,看审批状态。
          6. 团队管理:学生可以自由组建团队;也可以由导师指定团队。
          7. 留言功能:学生可以对相关信息进行留言、评论。
          8. 个人信息管理:学生可以查看个人信息,并可进行修改。
          9. 消息通知功能:管理员对不良、不合法言论的账户予以警告通知:对其预约过并即将使用场地、讲座等重要信息.进行提醒。
          10. 用户点赞、收藏功能,对体验感友好的事件可以点赞、收藏。

          三、系统展示

          在这里插入图片描述

          在这里插入图片描述

          在这里插入图片描述

          在这里插入图片描述

          在这里插入图片描述

          在这里插入图片描述

          在这里插入图片描述

          在这里插入图片描述


          四、核心代码

          4.1 查询项目

          @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
          @ApiOperation(value = "查询项目")
          public Result getByPage(@ModelAttribute Project project ,@ModelAttribute PageVo page){
              QueryWrapper qw = new QueryWrapper();
              if(!ZwzNullUtils.isNull(project.getTitle())) {
                  qw.like("title",project.getTitle());
              }
              if(!ZwzNullUtils.isNull(project.getUserName())) {
                  qw.like("user_name",project.getUserName());
              }
              IPage data = iProjectService.page(PageUtil.initMpPage(page),qw);
              return new ResultUtil().setData(data);
          }
          

          4.2 移动端新增团队

          @RequestMapping(value = "/insertApp", method = RequestMethod.GET)
          @ApiOperation(value = "新增团队")
          public Result insertApp(@RequestParam String title,@RequestParam String content){
              Team team = new Team();
              team.setTitle(title);
              team.setContent(content);
              User currUser = securityUtil.getCurrUser();
              team.setUserId(currUser.getId());
              team.setUserName(currUser.getNickname());
              team.setTime(DateUtil.now());
              iTeamService.saveOrUpdate(team);
              return new ResultUtil().setData(team);
          }
          

          4.3 查询讲座

          @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
          @ApiOperation(value = "查询讲座")
          public Result getByPage(@ModelAttribute Lecture lecture ,@ModelAttribute PageVo page){
              QueryWrapper qw = new QueryWrapper();
              User currUser = securityUtil.getCurrUser();
              if(!ZwzNullUtils.isNull(lecture.getTitle())) {
                  qw.like("title",lecture.getTitle());
              }
              if(!ZwzNullUtils.isNull(lecture.getContent())) {
                  qw.like("content",lecture.getContent());
              }
              IPage data = iLectureService.page(PageUtil.initMpPage(page),qw);
              for (Lecture vo : data.getRecords()) {
                  QueryWrapper goodQw = new QueryWrapper();
                  goodQw.eq("lecture_id",vo.getId());
                  goodQw.eq("user_id",currUser.getId());
                  vo.setGood(iGoodService.count(goodQw));
                  QueryWrapper collectQw = new QueryWrapper();
                  collectQw.eq("lecture_id",vo.getId());
                  collectQw.eq("user_id",currUser.getId());
                  vo.setCollect(iCollectService.count(collectQw));
              }
              return new ResultUtil().setData(data);
          }
          

          4.4 讲座收藏

          @RequestMapping(value = "/addOne", method = RequestMethod.GET)
          @ApiOperation(value = "新增单条收藏")
          public Result addOne(@RequestParam String id){
              Lecture l = iLectureService.getById(id);
              if(l == null) {
                  return ResultUtil.error("讲座不存在");
              }
              User currUser = securityUtil.getCurrUser();
              QueryWrapper collectQw = new QueryWrapper();
              collectQw.eq("lecture_id",id);
              collectQw.eq("user_id",currUser.getId());
              if(iCollectService.count(collectQw) > 0L) {
                  iCollectService.remove(collectQw);
                  return ResultUtil.success();
              }
              Collect collect = new Collect();
              collect.setLectureId(id);
              collect.setLectureName(l.getName());
              collect.setUserId(currUser.getId());
              collect.setUserName(currUser.getNickname());
              collect.setTime(DateUtil.now());
              iCollectService.saveOrUpdate(collect);
              return ResultUtil.success();
          }
          

          4.5 小程序登录

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon