JavaWeb项目(SpringBoot + Vue课程管理系统)

该文档描述了一个教育系统的后端管理模块,包括管理员登录、权限设置、班级与课程管理等功能。使用Java作为后端语言,集成IDEA开发环境,前端采用Vue,数据库为Mysql,提供了相关服务层代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.登录界面

2. 管理员(admin)权限

2.1 管理员添加界面

 2.2 管理员的添加详情

 2.3 管理员系管理

 2.4 管理员专业管理

 2.5 管理员班级管理​编辑

 2.6 课程管理

3.学生登录

 3.1 课表展示

4.开发环境 

4.1 操作管理员功能代码

4.2 管理员班级管理代码

4.3 课程管理


1.登录界面

        登录界面分为学生,教师,教务管理员三个登录界面

2. 管理员(admin)权限

2.1 管理员添加界面

        通过对数据库中数据admin数据表的增删改查进行管理员的添加

 2.2 管理员的添加详情

         对管理员进行对应的权限信息授权,点击以后进行相对应的数据填充

 2.3 管理员系管理

 2.4 管理员专业管理

 2.5 管理员班级管理

 2.6 课程管理

3.学生登录

 

 3.1 课表展示

3.2成绩查询

 

4.开发环境 

java后端--------------------------------------->idea

前端--------------------------------------------->Vue

数据库------------------------------------------>Mysql

可视化工具(数据库)--------------------->navicat

4.1 操作管理员功能代码

package com.rainng.coursesystem.service.admin;

import com.rainng.coursesystem.manager.admin.AdminManager;
import com.rainng.coursesystem.model.entity.AdminEntity;
import com.rainng.coursesystem.model.vo.response.ResultVO;
import com.rainng.coursesystem.service.BaseService;
import com.rainng.coursesystem.service.UserService;
import org.springframework.stereotype.Service;

@Service
public class AdminService extends BaseService {
    private final AdminManager manager;
    private final UserService userService;

    public AdminService(AdminManager manager, UserService userService) {
        this.manager = manager;
        this.userService = userService;
    }

    public ResultVO get(Integer id) {
        AdminEntity entity = manager.get(id);
        if (entity == null) {
            return failedResult("管理员Id: " + id + "不存在!");
        }

        entity.setPassword("");

        return result(entity);
    }

    public ResultVO update(AdminEntity entity) {
        AdminEntity originEntity = manager.get(entity.getId());
        if (originEntity == null) {
            return failedResult("管理员Id: " + entity.getId() + "不存在!");
        }

    //    if (entity.getPassword().equals("")) {
            entity.setPassword(originEntity.getPassword());
     //   } else {
     //       entity.setPassword(userService.computePasswordHash(entity.getPassword()));
      //  }


        manager.update(entity);
        return result("更新成功");
    }

    public ResultVO delete(Integer id) {
        if (manager.get(id) == null) {
            return failedResult("管理员Id: " + id + "不存在!");
        }

        manager.delete(id);
        return result("删除成功");
    }

    public ResultVO create(AdminEntity entity) {
        if (manager.get(entity.getId()) != null) {
            return failedResult("管理员Id: " + entity.getId() + "已存在!");
        }

        manager.create(entity);
        return result("添加成功");
    }

    public ResultVO list() {
        return result(manager.list());
    }
}

4.2 管理员班级管理代码

package com.rainng.coursesystem.service.admin;

import com.rainng.coursesystem.manager.admin.ClassManager;
import com.rainng.coursesystem.model.entity.ClassEntity;
import com.rainng.coursesystem.model.vo.response.ResultVO;
import com.rainng.coursesystem.service.BaseService;
import org.springframework.stereotype.Service;

@Service
public class ClassService extends BaseService {
    private final ClassManager manager;

    public ClassService(ClassManager manager) {
        this.manager = manager;
    }

    public ResultVO getPageCount(String departmentName, String majorName, String name) {
        return result(manager.getPageCount(departmentName, majorName, name));
    }

    public ResultVO getPage(Integer index, String departmentName, String majorName, String name) {
        return result(manager.getPage(index, departmentName, majorName, name));
    }

    public ResultVO get(Integer id) {
        ClassEntity entity = manager.get(id);
        if (entity == null) {
            return failedResult("班级Id: " + id + "不存在!");
        }

        return result(entity);
    }

    public ResultVO update(ClassEntity entity) {
        if (manager.get(entity.getId()) == null) {
            return failedResult("班级Id: " + entity.getId() + "不存在!");
        }
        if (manager.getMajorById(entity.getMajorId()) == null) {
            return failedResult("所属专业Id: " + entity.getMajorId() + "不存在!");
        }

        manager.update(entity);
        return result("更新成功");
    }

    public ResultVO delete(Integer id) {
        if (manager.get(id) == null) {
            return failedResult("班级Id: " + id + "不存在!");
        }
        if (manager.hasStudent(id)) {
            return failedResult("此班级中还有学生未被删除");
        }

        manager.delete(id);
        return result("删除成功");
    }

    public ResultVO create(ClassEntity entity) {
        if (manager.get(entity.getId()) != null) {
            return failedResult("班级Id: " + entity.getId() + "已存在!");
        }
        if (manager.getMajorById(entity.getMajorId()) == null) {
            return failedResult("所属专业Id: " + entity.getMajorId() + "不存在!");
        }

        manager.create(entity);
        return result("添加成功");
    }

    public ResultVO listName() {
        return result(manager.listName());
    }
}

4.3 课程管理

package com.rainng.coursesystem.service.admin;

import com.rainng.coursesystem.manager.admin.CourseManager;
import com.rainng.coursesystem.model.bo.CourseItemBO;
import com.rainng.coursesystem.model.entity.CourseEntity;
import com.rainng.coursesystem.model.vo.response.ResultVO;
import com.rainng.coursesystem.model.vo.response.table.CourseItemVO;
import com.rainng.coursesystem.service.BaseService;
import com.rainng.coursesystem.util.LessonTimeConverter;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class CourseService extends BaseService {
    private final CourseManager manager;
    private final LessonTimeConverter lessonTimeConverter;

    public CourseService(CourseManager manager, LessonTimeConverter lessonTimeConverter) {
        this.manager = manager;
        this.lessonTimeConverter = lessonTimeConverter;
    }

    public ResultVO getPageCount(String departmentName, String teacherName, String name) {
        return result(manager.getPageCount(departmentName, teacherName, name));
    }

    public ResultVO getPage(Integer index, String departmentName, String teacherName, String name) {
        List<CourseItemBO> boList = manager.getPage(index, departmentName, teacherName, name);
        List<CourseItemVO> voList = new ArrayList<>(boList.size());

        for (CourseItemBO bo : boList) {
            CourseItemVO vo = new CourseItemVO();
            BeanUtils.copyProperties(bo, vo);
            vo.setTime(lessonTimeConverter.covertTimePart(bo.getTime()));
            voList.add(vo);
        }

        return result(voList);
    }

    public ResultVO get(Integer id) {
        CourseEntity entity = manager.get(id);
        if (entity == null) {
            return failedResult("课程Id: " + id + "不存在!");
        }

        return result(entity);
    }

    public ResultVO update(CourseEntity entity) {
        CourseEntity origin = manager.get(entity.getId());
        if (origin == null) {
            return failedResult("课程Id: " + entity.getId() + "不存在!");
        }
        if (manager.getTeacherById(entity.getTeacherId()) == null) {
            return failedResult("授课教师Id: " + entity.getTeacherId() + "不存在!");
        }

        entity.setSelectedCount(origin.getSelectedCount());

        manager.update(entity);
        return result("更新成功");
    }

    public ResultVO delete(Integer id) {
        if (manager.get(id) == null) {
            return failedResult("课程Id: " + id + "不存在!");
        }
        if (manager.hasStudentCourse(id)) {
            return failedResult("还有学生未退选此课程");
        }

        manager.delete(id);
        return result("删除成功");
    }

    public ResultVO create(CourseEntity entity) {
        if (manager.get(entity.getId()) != null) {
            return failedResult("课程Id: " + entity.getId() + "已存在!");
        }
        if (manager.getTeacherById(entity.getTeacherId()) == null) {
            return failedResult("授课教师Id: " + entity.getTeacherId() + "不存在!");
        }

        manager.create(entity);
        return result("添加成功");
    }

    public ResultVO listName() {
        return result(manager.listName());
    }
}

5.获取源代码

私信作者

a)构架 该系统采用表示层、业务逻辑层、数据访问层三层构架。 1、在系统主页面,用户可以通过已有的账号密码进行登录,验证成功则进入个人信息页面;也可以进行忘记密码之后的重置操作,验证成功则完成重置并返回系统主页面再次登录。 2、在个人信息页面,用户可以修改当前账号密码,验证成功则完成修改则返回系统主页面。在此之外,不同身份的用户可以有不同的操作。 管理员:查看现有帐号信息,对帐号进行增、删等操作。 教师:查看课程信息,包括预览、下载课件,查看作业情况(提交、批改意见、评分)等;修改课程信息,包括上传、重传课件,下载作业,提交作业批改意见、评分,发布新作业要求,更新系统公告等。 学生:查看课程信息,包括预览、下载课件,查看作业情况(提交、批改意见、评分)等;修改课程信息,包括上传、重传作业等。 b)系统流程 1、表示层效果采用HTML5、CSS等语言和前端框架jQuery,实现用户交互界面。交互界面包括用户登录界面,个人信息展示页面,课程、课件、作业查看页面等。 2、业务逻辑层利用Servlet,JSP来处理来自前端的请求,获取数据库数据,并作出相应的处理,将处理数据提交到前端,显示给用户。 3、数据访问层利用Hibernate架构操作数据库,通过应用程序经过Hiberante持久层来访问数据库。数据访问层的关键是确定表结构和表属性,便于业务逻辑层进行对数据库的查询,良好的数据库结构,对数据操作有很大的用处。 c)系统结构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喷喷炸洋芋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值