Vue+SpringBoot打造大学兼职教师管理系统(附源码文档)(二)

简介: Vue+SpringBoot打造大学兼职教师管理系统(附源码文档)

3.4 授课管理模块

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询授课")
public Result<IPage<GiveLessons>> getByPage(@ModelAttribute GiveLessons giveLessons ,@ModelAttribute PageVo page){
    QueryWrapper<GiveLessons> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(giveLessons.getCurriculumName())) {
        qw.like("curriculum_name",giveLessons.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(giveLessons.getTeaName())) {
        qw.like("tea_name",giveLessons.getTeaName());
    }
    IPage<GiveLessons> data = iGiveLessonsService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<GiveLessons>>().setData(data);
}

@RequestMapping(value = "/update", method = RequestMethod.POST)
@ApiOperation(value = "编辑授课")
public Result<GiveLessons> update(GiveLessons giveLessons){
    Curriculum c = iCurriculumService.getById(giveLessons.getCurriculumId());
    if(c == null) {
        return ResultUtil.error("课程不存在");
    }
    giveLessons.setCurriculumName(c.getTitle());
    giveLessons.setImage(c.getImage());
    User t = iUserService.getById(giveLessons.getTeaId());
    if(t == null) {
        return ResultUtil.error("老师不存在");
    }
    giveLessons.setTeaName(t.getNickname());
    iGiveLessonsService.saveOrUpdate(giveLessons);
    return new ResultUtil<GiveLessons>().setData(giveLessons);
}

3.5 课程考勤模块

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程考勤")
public Result<IPage<Attendance>> getByPage(@ModelAttribute Attendance attendance ,@ModelAttribute PageVo page){
    QueryWrapper<Attendance> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND (role_id = '1667344323877933056' OR role_id = '1536606659751841799')");
    if(iUserService.count(userQw) < 1L) {
        qw.eq("stu_id",currUser.getId());
    }
    if(!ZwzNullUtils.isNull(attendance.getCurriculumName())) {
        qw.like("curriculum_name",attendance.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(attendance.getStuName())) {
        qw.like("stu_name",attendance.getStuName());
    }
    IPage<Attendance> data = iAttendanceService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Attendance>>().setData(data);
}

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增课程考勤")
public Result<Attendance> insert(Attendance attendance){
    Curriculum c = iCurriculumService.getById(attendance.getCurriculumId());
    if(c == null) {
        return ResultUtil.error("课程不存在");
    }
    attendance.setCurriculumName(c.getTitle());
    attendance.setImage(c.getImage());
    User s = iUserService.getById(attendance.getStuId());
    if(s == null) {
        return ResultUtil.error("学生不存在");
    }
    attendance.setStuName(s.getNickname());
    iAttendanceService.saveOrUpdate(attendance);
    return new ResultUtil<Attendance>().setData(attendance);
}

3.6 课程评价模块

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程评价")
public Result<IPage<Appraise>> getByPage(@ModelAttribute Appraise appraise ,@ModelAttribute PageVo page){
    QueryWrapper<Appraise> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(appraise.getCurriculumName())) {
        qw.like("curriculum_name",appraise.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(appraise.getStuName())) {
        qw.like("stu_name",appraise.getStuName());
    }
    IPage<Appraise> data = iAppraiseService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Appraise>>().setData(data);
}

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "添加评价")
public Result<Object> addOne(@RequestParam String id,@RequestParam String content){
    Curriculum c = iCurriculumService.getById(id);
    if(c == null) {
        return ResultUtil.error("课程不存在");
    }
    User currUser = securityUtil.getCurrUser();
    Appraise a = new Appraise();
    a.setCurriculumId(c.getId());
    a.setCurriculumName(c.getTitle());
    a.setImage(c.getImage());
    a.setStuId(currUser.getId());
    a.setStuName(currUser.getNickname());
    a.setContent(content);
    iAppraiseService.saveOrUpdate(a);
    return ResultUtil.success();
}

3.7 课程成绩模块

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程成绩")
public Result<IPage<Achievement>> getByPage(@ModelAttribute Achievement achievement ,@ModelAttribute PageVo page){
    QueryWrapper<Achievement> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND (role_id = '1667344323877933056' OR role_id = '1536606659751841799')");
    if(iUserService.count(userQw) < 1L) {
        qw.eq("stu_id",currUser.getId());
    }
    if(!ZwzNullUtils.isNull(achievement.getCurriculumName())) {
        qw.like("curriculum_name",achievement.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(achievement.getStuName())) {
        qw.like("stu_name",achievement.getStuName());
    }
    if(!ZwzNullUtils.isNull(achievement.getTeaName())) {
        qw.like("tea_name",achievement.getTeaName());
    }
    IPage<Achievement> data = iAchievementService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Achievement>>().setData(data);
}

@RequestMapping(value = "/makeGrade", method = RequestMethod.GET)
@ApiOperation(value = "打分")
public Result<Object> makeGrade(@RequestParam String id,@RequestParam BigDecimal grade){
    Achievement a = iAchievementService.getById(id);
    if(a == null) {
        return ResultUtil.error("成绩单不存在");
    }
    a.setNumber1(grade);
    a.setNumberSum(a.getNumber1().multiply(BigDecimal.valueOf(0.6)).add(a.getNumber2().multiply(BigDecimal.valueOf(0.4))));
    iAchievementService.saveOrUpdate(a);
    return ResultUtil.success();
}

3.8 可视化图表

@RequestMapping(value = "/getAntvVoList2", method = RequestMethod.GET)
@ApiOperation(value = "教龄分析")
public Result<List<AntvVo>> getAntvVoList2(){
    List<AntvVo> ansList = new ArrayList<>();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("type",1);
    List<User> teacherList = iUserService.list(userQw);
    for (User o : teacherList) {
        boolean flag = false;
        for (AntvVo vo : ansList) {
            if(Objects.equals(vo.getTitle(),o.getAge().toString())) {
                flag = true;
                vo.setValue(vo.getValue().add(BigDecimal.ONE));
                break;
            }
        }
        if(!flag) {
            AntvVo vo = new AntvVo();
            vo.setTitle(o.getAge().toString());
            vo.setType("教龄");
            vo.setValue(BigDecimal.ONE);
            ansList.add(vo);
        }
    }
    return new ResultUtil<List<AntvVo>>().setData(ansList);
}

@RequestMapping(value = "/getAntvVoList1", method = RequestMethod.GET)
@ApiOperation(value = "工资分析")
public Result<List<AntvVo>> getAntvVoList1(){
    List<AntvVo> ansList = new ArrayList<>();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("type",1);
    List<User> teacherList = iUserService.list(userQw);
    for (User o : teacherList) {
        String title = change1(o.getMoneyData());
        boolean flag = false;
        for (AntvVo vo : ansList) {
            if(Objects.equals(vo.getTitle(),title)) {
                flag = true;
                vo.setValue(vo.getValue().add(BigDecimal.ONE));
                break;
            }
        }
        if(!flag) {
            AntvVo vo = new AntvVo();
            vo.setTitle(title);
            vo.setType("工资");
            vo.setValue(BigDecimal.ONE);
            ansList.add(vo);
        }
    }
    return new ResultUtil<List<AntvVo>>().setData(ansList);
}

截止现在,大学兼职教师管理系统终于开发完成,在大学兼职教师管理系统的开发过程中,我首先对大学兼职教师管理系统的研究背景和意义进行了评估,然后去图书馆查阅大量关于大学兼职教师管理系统的国内外现状,最后得出大学兼职教师管理系统的主要研究内容,完成了论文的第一章。接着上网查阅了现有的大学兼职教师管理系统产品,确定了大学兼职教师管理系统采用的关键技术,接着对大学兼职教师管理系统的功能需求和使用群体进行了分析和总结,最后完成了大学兼职教师管理系统的设计和实现。

未来,我将会花费更多时间,完善大学兼职教师管理系统的其他功能模块,比如提供第三方的API接口,开发和企业微信和钉钉进行免登整合等功能,让大学兼职教师管理系统变得更强大。

相关文章
|
17天前
|
数据采集 监控 前端开发
二级公立医院绩效考核系统源码,B/S架构,前后端分别基于Spring Boot和Avue框架
医院绩效管理系统通过与HIS系统的无缝对接,实现数据网络化采集、评价结果透明化管理及奖金分配自动化生成。系统涵盖科室和个人绩效考核、医疗质量考核、数据采集、绩效工资核算、收支核算、工作量统计、单项奖惩等功能,提升绩效评估的全面性、准确性和公正性。技术栈采用B/S架构,前后端分别基于Spring Boot和Avue框架。
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
137 1
|
16天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
94 62
|
14天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
32 2
|
16天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用
【10月更文挑战第8天】本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,通过 Spring Initializr 创建并配置 Spring Boot 项目,实现后端 API 和安全配置。接着,使用 Ant Design Pro Vue 脚手架创建前端项目,配置动态路由和菜单,并创建相应的页面组件。最后,通过具体实践心得,分享了版本兼容性、安全性、性能调优等注意事项,帮助读者快速搭建高效且易维护的应用框架。
39 3
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用
【10月更文挑战第7天】本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,通过 Spring Initializr 创建 Spring Boot 项目并配置 Spring Security。接着,实现后端 API 以提供菜单数据。在前端部分,使用 Ant Design Pro Vue 脚手架创建项目,并配置动态路由和菜单。最后,启动前后端服务,实现高效、美观且功能强大的应用框架。
38 2
|
12天前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
28 0
|
1月前
|
机器学习/深度学习 移动开发 自然语言处理
基于人工智能技术的智能导诊系统源码,SpringBoot作为后端服务的框架,提供快速开发,自动配置和生产级特性
当身体不适却不知该挂哪个科室时,智能导诊系统应运而生。患者只需选择不适部位和症状,系统即可迅速推荐正确科室,避免排错队浪费时间。该系统基于SpringBoot、Redis、MyBatis Plus等技术架构,支持多渠道接入,具备自然语言理解和多输入方式,确保高效精准的导诊体验。无论是线上医疗平台还是大型医院,智能导诊系统均能有效优化就诊流程。
|
2月前
|
SQL 监控 druid
springboot-druid数据源的配置方式及配置后台监控-自定义和导入stater(推荐-简单方便使用)两种方式配置druid数据源
这篇文章介绍了如何在Spring Boot项目中配置和监控Druid数据源,包括自定义配置和使用Spring Boot Starter两种方法。