基于javaweb+mysql的springboot在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html+maven)

基于javaweb+mysql的springboot在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html+maven)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

有三种角色:老师、学生、管理员

基于javaweb+mysql的SpringBoot在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html+maven)

功能:

学生信息 班级 专业 学号 姓名 在线考试 成绩查询 个人信息 密码修改 教师管理 教师编号 姓名 所教科目 题库管理 单选题 多选题 填空题 判断题,简答题(人工阅卷) 试卷管理 新建试卷 在试库中选择试题 试卷设置 发布试卷 考试管理 发布考试计划 学生考试 自动阅卷 人工阅卷 个人信息 密码修改 管理员 学生管理 教师管理 管理员管理 院系管理 班级管理 个人信息 密码修改。


    /**
     * 管理员 查询学生列表
     */
    @RequestMapping(value = "/student/qryPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public ListResult<Student> qryPage(HttpRequest request) {
        Map<String, Object> param = new HashMap<>();
        int pageNo = request.containsKey("page_no") ? request.getInteger("page_no") : 1;
        int pageSize = request.containsKey("page_size") ? request.getInteger("page_size") : 20;
        if (request.containsKey("student_id")) {
            param.put("student_id", request.getString("student_id"));
        }
        if (request.containsKey("name")) {
            param.put("name", request.getString("name"));
        }
        return studentService.qryPage(param, pageNo, pageSize);
    }

    @RequestMapping(value = "/student/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Student> insert(HttpRequest request) {
        Student student = new Student();
        student.setStudentId(request.getString("student_id"));
        student.setName(request.getString("student_name"));
        student.setPwd(request.getString("student_id"));
        student.setSex(request.getInteger("sex"));
        student.setClassId(request.getString("class_id"));
        student.setUpdateTime(new Date());
        return studentService.insert(student, ImageUtil.stringToBytes(request.getString("student_image")));
    }

    @RequestMapping(value = "/student/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Student> update(HttpRequest request) {
        Student student = new Student();
        student.setStudentId(request.getString("student_id"));
        student.setName(request.getString("student_name"));
        student.setPwd(request.getString("student_id"));
        student.setSex(request.getInteger("sex"));
        student.setClassId(request.getString("class_id"));
        student.setUpdateTime(new Date());
    public Result<Question> insert(HttpRequest request) {
        Question question = new Question();
        question.setQuestionType(request.getInteger("question_type"));
        question.setAcademicsId(request.getString("academics_id"));
        question.setQuestionTitle(request.getString("question_title"));
        question.setQuestionTitleHtml(request.getString("question_title_html"));
        question.setQuestionAnswer(request.getString("question_answer"));
        question.setQuestionAnalysis(request.getString("question_analysis"));
        question.setDifficultyLevel(request.getInteger("difficulty_level"));
        question.setUpdateTime(new Date());
        return questionService.insert(question);
    }

    /**
     * 教师 更新试题
     */
    @RequestMapping(value = "/question/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public Result<Question> update(HttpRequest request) {
        Question question = new Question();
        question.setQuestionId(request.getLong("question_id"));
        question.setQuestionType(request.getInteger("question_type"));
        question.setAcademicsId(request.getString("academics_id"));
        question.setQuestionTitle(request.getString("question_title"));
        question.setQuestionTitleHtml(request.getString("question_title_html"));
        question.setQuestionAnswer(request.getString("question_answer"));
        question.setQuestionAnalysis(request.getString("question_analysis"));
        question.setDifficultyLevel(request.getInteger("difficulty_level"));
        question.setUpdateTime(new Date());
        return questionService.update(question);
    }

    /**
     * 教师 删除试题
     */
    @RequestMapping(value = "/question/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public Result<Question> del(HttpRequest request) {
        List<Integer> questionIdList = new ArrayList<>();
        JSONArray array = request.getJSONArray("question_id_list");
    /**
     * 管理员 查询所有科目
     */
    @RequestMapping(value = "/academics/qryAllList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public ListResult<Academics> qryAllList() {
        return academicsService.qryAllList();
    }

}

/**
 * 院系管理控制器
 */
@RestController
public class DepartmentController {

    @Resource(name = "departmentService")
    private IDepartmentService departmentService;

    /**
     * 查询所有院系
     */
    @RequestMapping(value = "/department/qryAllList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    /**
     * 升级请求不验证请求
     */
    private Set<String> upgradeRequest;

    public void init(FilterConfig config) {
        suffixs = new HashSet<>(100);
        suffixs.add("css");
        suffixs.add("js");
        suffixs.add("png");
        suffixs.add("jpg");
        suffixs.add("ico");
        suffixs.add("html");
        suffixs.add("map");
        suffixs.add("gif");

        unFilter = new HashSet<>(100);
        unFilter.add("/");
        unFilter.add("/login");
        // 管理员相关界面
        unFilter.add("/admin/admin/");
        unFilter.add("/admin/index/");
        unFilter.add("/admin/studentmanage/");
        unFilter.add("/admin/teachermanage/");
        unFilter.add("/admin/adminmanage/");
        unFilter.add("/admin/departmentmanage/");
        unFilter.add("/admin/classinfomanage/");
        unFilter.add("/admin/academicsmanage/");
        // 教师相关界面
        unFilter.add("/teacher/teacher/");
        unFilter.add("/teacher/index/");
        unFilter.add("/teacher/questionmanage/");
        unFilter.add("/teacher/testpapermanage/");
        unFilter.add("/teacher/testpaperedit/");
        unFilter.add("/teacher/examinfomanage/");
        // 学生相关界面
        unFilter.add("/student/student/");
        unFilter.add("/student/index/");
        unFilter.add("/student/onlineexam/");
        unFilter.add("/student/scoreinquiry/");

        //公共界面
        unFilter.add("/common/userinfomanage");// 个人资料修改
        unFilter.add("/common/pwdmanage");// 密码修改
        return examInfoService.updateQueScore(record);
    }

    /**
     * 教师 完成评分
     */
    @RequestMapping(value = "/examinfo/complete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public Result<ExamInfo> complete(HttpRequest request) {
        return examInfoService.complete(request.getInteger("exam_id"),
                request.getString("student_id"));
    }

}

@WebFilter(asyncSupported = true, filterName = "HttpFilter", urlPatterns = {"*"})
public class HttpFilter implements Filter {

    private Logger log = LoggerFactory.getLogger(HttpFilter.class);
    /**
     * 按照后缀 过滤请求
     */
    private Set<String> suffixs;
    /**
     * 过滤请求
     */
    private Set<String> unFilter;
    /**

@RestController
public class LoginController {

    @Resource(name = "loginService")
    private ILoginService loginService;

    /**
     * 用户登录调用 在登陆成功生成两个token 同时返回各自首页
     * * 学生 student/student
     * * 老师 teacher/teacher
     * * 管理员 admin/admin
     */
    @RequestMapping(value = "/login/login", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    public Result<Token> login(HttpRequest request) {
        return loginService.login(request.getString("login_name"), request.getString("pwd"));
    }

    /**
     * 登录检查
     */
    @RequestMapping(value = "/login/check", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    public Result<Token> check() {
        return new Result<>();
    }

    /**
     * token 续约
     */
    @RequestMapping(value = "/login/refresh", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    public Result<Token> refresh(HttpRequest request) {
        String refreshToken = request.getString("refresh_token");
        String urlId = request.getString("url_id");
        Token token = TokenCache.getInstance().get(urlId);
        if(token == null){
            ExceptionHelper.error(ErrorCode.ERROR_CODE_0003);
        }
        try {
            Claims claims = TokenUtils.parseToken(refreshToken);
            if (StringUtils.isNotEmpty((String.valueOf(claims.getOrDefault("student_id", ""))))) {
                claims.put("student_id", SessionContext.get("student_id"));
            }
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Admin> insert(HttpRequest request) {
        Admin admin = new Admin();
        admin.setLoginName(request.getString("login_name"));
        admin.setName(request.getString("admin_name"));
        admin.setPwd(request.getString("login_name"));
        admin.setSex(request.getInteger("sex"));
        admin.setUpdateTime(new Date());
        return adminService.insert(admin, ImageUtil.stringToBytes(request.getString("admin_image")));
    }

    /**
     * 管理员 更新管理员
     */
    @RequestMapping(value = "/admin/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Admin> update(HttpRequest request) {
        Admin admin = new Admin();
        admin.setLoginName(request.getString("login_name"));
        admin.setName(request.getString("admin_name"));
        admin.setPwd(request.getString("login_name"));
        admin.setSex(request.getInteger("sex"));
        admin.setUpdateTime(new Date());
        return adminService.update(admin, ImageUtil.stringToBytes(request.getString("admin_image")));
    }

    /**
     * 管理员 删除管理员
     */
    @RequestMapping(value = "/admin/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Admin> del(HttpRequest request) {
        List<String> adminIdList = new ArrayList<>();
        JSONArray array = request.getJSONArray("admin_id_list");
        for (int i = 0; i < array.size(); i++) {
            adminIdList.add(array.getString(i));
        }
        return adminService.del(adminIdList);
    }
}

/**
 * 教师 相关界面
 */
@Controller
public class TeacherHtmlController {

    @Resource(name = "testPaperService")
    private ITestPaperService testPaperService;

    @Resource(name = "studentExamRecordService")
    private IStudentExamRecordService studentExamRecordService;

    /**
     * 教师界面 teacher/teacher.html
     */
    @RequestMapping(value = "/teacher/teacher/{url_id}")
    public String teacher(@PathVariable(value = "url_id") String urlId, Model model) {
        if (!ValidateUrlIdUtil.validate(urlId, model)) {
            return "error/error";
        }
        return "teacher/teacher";
    }

    /**
     * 教师 首页
     */
    @RequestMapping(value = "/teacher/index/{url_id}")
    public String index(@PathVariable(value = "url_id") String urlId, Model model) {
        if (!ValidateUrlIdUtil.validate(urlId, model)) {
            return "error/error";
        }
        return "teacher/index";
    }

    /**
     * 教师 题库管理
     */
    @RequestMapping(value = "/teacher/questionmanage/{url_id}")
    public String questionmanage(@PathVariable(value = "url_id") String urlId, Model model) {
        if (!ValidateUrlIdUtil.validate(urlId, model)) {
            return "error/error";
        }
        return "teacher/questionmanage/questionmanage";
    }

    /**
     * 教师 试卷管理
     */
    @RequestMapping(value = "/teacher/testpapermanage/{url_id}")
    @RequestMapping(value = "/testpaper/edit", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public Result<TestPaper> edit(HttpRequest request) {
        TestPaper testPaper = new TestPaper();
        testPaper.decode(request.getJson());
        return testPaperService.edit(testPaper);
    }

    /**
     * 教师 查询试题分组列表
     */
    @RequestMapping(value = "/testpaper/qryQueGroupByTestPaperId", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public ListResult<TestPaperQuestionGroup> qryQueGroupByTestPaperId(HttpRequest request) {
        return testPaperService.qryQueGroupByTestPaperId(request.getInteger("test_paper_id"));
    }

    /**
     * 教师 查询试题分组试题列表
     */
    @RequestMapping(value = "/testpaper/qryQueByQueGroupId", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public ListResult<TestPaperQuestionRef> qryQueByQueGroupId(HttpRequest request) {
        return testPaperService.qryQueByQueGroupId(request.getInteger("test_paper_id"), request.getInteger("question_group_id"));
    }

    /**
     * 教师查询所教授科目的试卷列表
     */
    @RequestMapping(value = "/testpaper/qryListByTeacherId", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public ListResult<TestPaper> qryListByTeacherId() {
        return testPaperService.qryListByTeacherId();
    }

}

        }
        return adminService.qryPage(param, pageNo, pageSize);
    }

    /**
     * 管理员 添加管理员
     */
    @RequestMapping(value = "/admin/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Admin> insert(HttpRequest request) {
        Admin admin = new Admin();
        admin.setLoginName(request.getString("login_name"));
        admin.setName(request.getString("admin_name"));
        admin.setPwd(request.getString("login_name"));
        admin.setSex(request.getInteger("sex"));
        admin.setUpdateTime(new Date());
        return adminService.insert(admin, ImageUtil.stringToBytes(request.getString("admin_image")));
    }

    /**
     * 管理员 更新管理员
     */
    @RequestMapping(value = "/admin/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Admin> update(HttpRequest request) {
        Admin admin = new Admin();
        admin.setLoginName(request.getString("login_name"));
        admin.setName(request.getString("admin_name"));
        admin.setPwd(request.getString("login_name"));
        admin.setSex(request.getInteger("sex"));
        admin.setUpdateTime(new Date());
        return adminService.update(admin, ImageUtil.stringToBytes(request.getString("admin_image")));
    }

    /**
     * 管理员 删除管理员
     */
    @RequestMapping(value = "/admin/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Admin> del(HttpRequest request) {
        List<String> adminIdList = new ArrayList<>();
        JSONArray array = request.getJSONArray("admin_id_list");
        for (int i = 0; i < array.size(); i++) {
            adminIdList.add(array.getString(i));
        }
        return adminService.del(adminIdList);
    }
                chain.doFilter(new HttpRequest(request), response);
                SessionContext.clean();
                return;
            }
            if (url.startsWith("/student/") || url.startsWith("/teacher/") || url.startsWith("/admin/")) {
                String uuu = url.substring(0, url.lastIndexOf("/") + 1);
                if (unFilter.contains(uuu)
                        || url.startsWith("/teacher/testpaperedit")
                        || url.startsWith("/student/exam")
                        || url.startsWith("/teacher/markpapers")
                        || url.startsWith("/teacher/studentpapers")) {
                    chain.doFilter(request, response);
                    SessionContext.clean();
                    return;
                }
            }
            log.info("过滤url:{}", url);
            String token = this.getToken(request);
            if (StringUtils.isEmpty(token)) {
                response.sendRedirect("/");
                return;
            } else {
                try {
                    Claims claims = TokenUtils.parseToken(token);
                    SessionContext.set("student_id", claims.getOrDefault("student_id", ""));
                    SessionContext.set("teacher_id", claims.getOrDefault("teacher_id", ""));
                    SessionContext.set("login_name", claims.getOrDefault("login_name", ""));
                    SessionContext.set("name", claims.get("name"));
                    SessionContext.set("refresh_token", TokenUtils.shouldTokenRefresh(claims.getIssuedAt(), TokenUtils.expireTime));
                } catch (Exception e) {
                    SessionContext.clean();
                    log.info("过滤url:{}", "session 过期");
                    ExceptionHelper.error(response, ErrorCode.ERROR_CODE_0003);
                    return;
                }
            }
            // 不升级请求
            if (unUpgradeRequest.contains(url)) {
                chain.doFilter(request, response);
                SessionContext.clean();
                return;
            }
            HttpRequest httpRequest = new HttpRequest(request);
            chain.doFilter(httpRequest, response);
            SessionContext.clean();
        }
    }

    private String getToken(HttpServletRequest request) {

/**
 * 科目控制器
 */
@RestController
public class AcademicsController {

    @Resource(name = "academicsService")
    private IAcademicsService academicsService;

    /**
     * 分页查询科目列表
     */
    @RequestMapping(value = "/academics/qryPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public ListResult<Academics> qryPage(HttpRequest request) {
        Map<String, Object> param = new HashMap<>();
        int pageNo = request.containsKey("page_no") ? request.getInteger("page_no") : 1;
        int pageSize = request.containsKey("page_size") ? request.getInteger("page_size") : 20;
        if (request.containsKey("academics_id")) {
            param.put("academics_id", request.getString("academics_id"));
        }
        if (request.containsKey("academics_name")) {
            param.put("academics_name", request.getString("academics_name"));
        }
        return academicsService.qryPage(param, pageNo, pageSize);
    }

    /**
     * 管理员 添加新科目
     */
    @RequestMapping(value = "/academics/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Academics> insert(HttpRequest request) {
        Academics academics = new Academics();
        academics.setAcademicsId(request.getString("academics_id"));
        academics.setAcademicsName(request.getString("academics_name"));
        academics.setUpdateTime(new Date());

    /**
     * 管理员 查询所有任教老师
     */
    @RequestMapping(value = "/teacher/qryAllList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public ListResult<Teacher> qryAllList() {
        return teacherService.qryAllList();
    }
}

/**
 * 班级信息控制器
 */
@RestController
public class ClassInfoController {

    @Resource(name = "classInfoService")
    private IClassInfoService classInfoService;

    /**
     * 查询院系的班级列表
     */
    @RequestMapping(value = "/classinfo/qryByDepartmentId", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public ListResult<ClassInfo> qryByDepartmentId(HttpRequest request) {
        return classInfoService.qryByDepartmentId(request.getString("department_id"));
    }

        return studentExamRecordService.answer(record);
    }

    /**学生 交卷*/
    @RequestMapping(value = "/studentexamrecord/complete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.student})
    public Result<StudentExamRecord> complete(HttpRequest request) {
        return studentExamRecordService.complete(request.getInteger("exam_id"), request.getString("student_id"));
    }

}

/**
 * 试卷控制器
 */
@RestController
public class TestPaperController {

    @Resource(name = "testPaperService")
    private ITestPaperService testPaperService;

    /**
     * 分页查询试卷信息
     */
    @RequestMapping(value = "/testpaper/qryPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public ListResult<TestPaper> qryPage(HttpRequest request) {
        int pageNo = request.containsKey("page_no") ? request.getInteger("page_no") : 1;
        int pageSize = request.containsKey("page_size") ? request.getInteger("page_size") : 20;
        String testPaperName = request.getString("test_paper_name");
        String academicsId = request.getString("academics_id");
        return testPaperService.qryPage(testPaperName, academicsId, pageNo, pageSize);
    public Result<TestPaper> del(HttpRequest request) {
        List<Integer> testPaperIdList = new ArrayList<>();
        JSONArray array = request.getJSONArray("test_paper_id_list");
        for (int i = 0; i < array.size(); i++) {
            testPaperIdList.add(array.getInteger(i));
        }
        return testPaperService.del(testPaperIdList);
    }

    /**
     * 教师 更新状态
     */
    @RequestMapping(value = "/testpaper/updateState", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public Result<TestPaper> updateState(HttpRequest request) {
        return testPaperService.updateState(request.getInteger("test_paper_id"), request.getInteger("state"));
    }

    /**
     * 教师 试卷编辑
     */
    @RequestMapping(value = "/testpaper/edit", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public Result<TestPaper> edit(HttpRequest request) {
        TestPaper testPaper = new TestPaper();
        testPaper.decode(request.getJson());
        return testPaperService.edit(testPaper);
    }

    /**
     * 教师 查询试题分组列表
     */
    @RequestMapping(value = "/testpaper/qryQueGroupByTestPaperId", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
    public ListResult<TestPaperQuestionGroup> qryQueGroupByTestPaperId(HttpRequest request) {
        return testPaperService.qryQueGroupByTestPaperId(request.getInteger("test_paper_id"));
    }

    /**
     * 教师 查询试题分组试题列表
     */
    @RequestMapping(value = "/testpaper/qryQueByQueGroupId", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.teacher})
     */
    @RequestMapping(value = "/image/image/{image_id}.png", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
    public void qryImage(@PathVariable(value = "image_id") String imageId, HttpServletResponse response) {
        try {
            ServletOutputStream out = response.getOutputStream();
            response.setContentType("image/png");
            if ("default_image".equals(imageId)) {
                out.write(Objects.requireNonNull(ImageUtil.stringToBytes(Image.default_image)));
            } else if ("student_image".equals(imageId)) {
                out.write(Objects.requireNonNull(ImageUtil.stringToBytes(Image.student_image)));
            } else if ("teacher_image".equals(imageId)) {
                out.write(Objects.requireNonNull(ImageUtil.stringToBytes(Image.teacher_image)));
            } else if ("admin_image".equals(imageId)) {
                out.write(Objects.requireNonNull(ImageUtil.stringToBytes(Image.admin_image)));
            } else {
                Image image = imageService.qryByImageId(imageId);

                if (image != null) {
                    if (image.getImage() != null) {
                        out.write(image.getImage());
                    } else {
                        out.write(Objects.requireNonNull(ImageUtil.stringToBytes(Image.student_image)));
                    }
                } else {
                    out.write(Objects.requireNonNull(ImageUtil.stringToBytes(Image.default_image)));
                }
            }

            out.flush();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

/**
 * 统一管理学生 教师 管理员信息
 */
@RestController
public class UserController {

    }

    @RequestMapping(value = "/student/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Student> update(HttpRequest request) {
        Student student = new Student();
        student.setStudentId(request.getString("student_id"));
        student.setName(request.getString("student_name"));
        student.setPwd(request.getString("student_id"));
        student.setSex(request.getInteger("sex"));
        student.setClassId(request.getString("class_id"));
        student.setUpdateTime(new Date());
        return studentService.update(student, ImageUtil.stringToBytes(request.getString("student_image")));
    }

    @RequestMapping(value = "/student/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Student> del(HttpRequest request) {
        List<String> studentIdList = new ArrayList<>();
        JSONArray array = request.getJSONArray("student_id_list");
        for (int i = 0; i < array.size(); i++) {
            studentIdList.add(array.getString(i));
        }
        return studentService.del(studentIdList);
    }

}

@RestController
public class LoginController {

    @RequestMapping(value = "/department/qryPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public ListResult<Department> qryPage(HttpRequest request) {
        Map<String, Object> param = new HashMap<>();
        int pageNo = request.containsKey("page_no") ? request.getInteger("page_no") : 1;
        int pageSize = request.containsKey("page_size") ? request.getInteger("page_size") : 20;
        if (request.containsKey("department_id")) {
            param.put("department_id", request.getString("department_id"));
        }
        if (request.containsKey("department_name")) {
            param.put("department_name", request.getString("department_name"));
        }
        return departmentService.qryPage(param, pageNo, pageSize);
    }

    /**
     * 管理员 添加院系
     */
    @RequestMapping(value = "/department/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Department> insert(HttpRequest request) {
        Department department = new Department();
        department.setDepartmentId(request.getString("department_id"));
        department.setDepartmentName(request.getString("department_name"));
        department.setUpdateTime(new Date());
        return departmentService.insert(department);
    }

    /**
     * 管理员 更新院系
     */
    @RequestMapping(value = "/department/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Department> update(HttpRequest request) {
        Department department = new Department();
        department.setDepartmentId(request.getString("department_id"));
        department.setDepartmentName(request.getString("department_name"));
        department.setUpdateTime(new Date());
        return departmentService.update(department);
    }

    /**
     * 管理员 删除院系
     */
    @RequestMapping(value = "/department/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
    @RoleAnnotation(types = {RoleEnum.admin})
    public Result<Department> del(HttpRequest request) {
        List<String> departmentIdList = new ArrayList<>();
        JSONArray array = request.getJSONArray("department_id_list");

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值