基于javaweb+mysql的springboot在线学生选课系统(java+springboot+vue+maven+mysql)

基于javaweb+mysql的springboot在线学生选课系统(java+springboot+vue+maven+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥10

开发工具

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

前端:WebStorm/VSCode/HBuilderX等均可

适用

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

功能说明

基于javaweb+mysql的SpringBoot在线学生选课系统(java+springboot+vue+maven+mysql)


管理员:

10001	123456

学生:

1803010028	123456

1803010039	123456

1803010045	123456

1803010046	123456

老师:

180014	123456

180019	123456

一、项目运行 环境配置:

Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。

项目技术:

Spring + SpringBoot+ mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。


/**
 * @Classname AdminCotroller
 * @Description TODO
 * @Created by SHTL
 */
@RestController
public class AdminCotroller {

    /**
     * 获取当前账户的 管理员个人信息
     **/
    @Autowired
    AdminUserDAO adminUserDAO;

    @CrossOrigin
        String like = String.valueOf(json.get("like"));
        String collegename = String.valueOf(json.get("collegename"));
        // 1. 没有查询条件
        if (StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJNO();
        }
        // 2. 只有like
        if (!StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJLike(like);
        }
        // 3. 只有 colleg
        if (StringUtils.isEmpty(like) && !StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJCollege(collegename);
        }
        if (!StringUtils.isEmpty(like) && !StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJLikeAndCollege(like, collegename);
        }
        return null;
    }

    /**
     * 根据当前 majorid 获取当前 的 专业信息
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/getmajorinfo/{majorid}")
    public Map<String, Object> findMajorByMid(@PathVariable("majorid") Integer majorid) {
        return majorDAO.findByMJinMid(majorid);
    }

    /**
     * 根据 majorid 更新当前专业信息
     **/
    @CrossOrigin
    @PutMapping("/api/admin/updatemajor/{majorid}")
    public MajorModel updateMajorUser(@PathVariable("majorid") Integer majorid, @RequestBody Map<String, Object> json) {
        String content = String.valueOf(json.get("content"));
        String majorname = String.valueOf(json.get("majorname"));
        String collegeid = String.valueOf(json.get("collegename"));
        int k = 1;
        for (int i = 0; i < collegeid.length(); i++) {
            if (!Character.isDigit(collegeid.charAt(i))) {
                k = 0;
                break;
            }
        }

        // 情况六:like 和 专业
        if (!StringUtils.isEmpty(majorname) && !StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename)) {
            return banjiDAO.findBJLikeAndMajor(like, majorname);
        }
        // 情况七: 学院 和 专业
        if (!StringUtils.isEmpty(collegename) && !StringUtils.isEmpty(majorname) && StringUtils.isEmpty(like)) {
            return banjiDAO.findBJCollegeAndMajor(collegename, majorname);
        }
        // 情况八: like 学院 专业 全都有
        if (!StringUtils.isEmpty(like) && !StringUtils.isEmpty(majorname) && !StringUtils.isEmpty(collegename)) {
            return banjiDAO.findBJLAll(like, collegename, majorname);
        }
        return null;
    }

    /**
     * 根据班级 ID删除班级 信息
     **/
    @CrossOrigin
    @DeleteMapping("/api/admin/deletebanji/{banjiid}")
    public Integer deleteBanji(@PathVariable("banjiid") Integer banjiid) {
        return banjiDAO.deleteByBanjiid(banjiid);
    }

    /**
     * 获取教师信息管理页面学院信息
     **/
    @CrossOrigin
    @GetMapping("/api/admin/getcollegegroup")
    public List<Object> findByCollegeGroup() {
        return teacherUserDAO.getByCollegegroupJjs();
    }

    /**
     * 获取教师信息管理页面专业信息
     **/
    @CrossOrigin
    @GetMapping("/api/admin/getmajorgroup")
    public List<Object> findByMajorGroup() {
        return teacherUserDAO.getByMajorgroupjs();
    }

    @PutMapping("/api/teacher/updatecurri/{kechengid}")
    public CurriModel updateCurri(@PathVariable("kechengid") Integer kechengid, @RequestBody CurriModel curriModel) {
        curriModel.setKechengid(kechengid);
        // 修改当前课程类型为必修,添加对应班级的选择该课程
        String leixing = curriModel.getKechengleibie();
        if (leixing.equals("必修")) {
            String[] list = curriModel.getOptionalclass().split(" ");
            String sqltext = "";
            for (int i = 0; i < list.length; i++) {
                Integer[] list1 = studentUserDAO.findByXhinBJ(list[i]);
                for (int j = 0; j < list1.length; j++) {
                    SelectionModel selectionModel = new SelectionModel();
                    selectionModel.setKechengid(kechengid);
                    selectionModel.setXuehao(list1[j]);
                    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    selectionModel.setCtime(df.format(new Date()));
                    selectionDAO.save(selectionModel);
                }
            }
            // 删除表中的重复数据
            selectionDAO.deleteRepeat();
        }
        // 删除已选课程中,已移出的可选班级中的学生选课信息
        selectionDAO.deleteRepeat1(curriModel.getOptionalclass(), kechengid);
        return curriDAO.saveAndFlush(curriModel);
    }

    /**
     * 根据课程ID (kechengid) 进行删除
     **/
    @CrossOrigin
    @DeleteMapping("/api/teacher/deletecurri/{kechengid}")
    public Integer deleteCurri(@PathVariable("kechengid") Integer kechengid) {
        return curriDAO.deleteByKechengid(kechengid);
    }

    /**
     * 添加课程信息之前
     * 对教室的使用情况进行判断,避免同一教室同一时间被使用多次
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/classroomcheck_curri")
     **/
    @CrossOrigin
    @PostMapping(value = "/api/resetpwd/clrcode{zhanghu}")
    @ResponseBody
    public Object clearCode(@PathVariable("zhanghu") Integer zhanghu) {
        ResetPwdModel resetPwdModel = resetPwdDAO.findByZhanghu(zhanghu);
        resetPwdModel.setCode(getcode.getCode());
        return resetPwdDAO.saveAndFlush(resetPwdModel);
    }

    /**
     * 检查当前账户的状态码
     **/
    @CrossOrigin
    @PostMapping(value = "/api/resetpwd/checkstatus")
    @ResponseBody
    public Object checkStatus(@RequestBody Map<String, Object> json) {
        Integer zhanghu = Integer.valueOf(String.valueOf(json.get("zhanghu")));
        Integer type = Integer.valueOf(String.valueOf(json.get("typevalue")));
        String code = String.valueOf(json.get("code"));
        ResetPwdModel resetPwdModel = resetPwdDAO.findByZhanghuAndTypeAndCode(zhanghu, type, code);
        if (resetPwdModel == null) {
            // 用户不存在,url链接错误
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("msg", "url有误!请输入正确的url地址!");
            jsonObject.put("code", "256");
            return jsonObject.toString();
        } else {
            if (resetPwdModel.getState_code() == 1) {
                JSONObject jsonObject = new JSONObject();
                // 验证码在有效期之内
                jsonObject.put("msg", "url验证通过!");
                jsonObject.put("code", "200");
                return jsonObject.toString();
            } else {
                // 验证码已经失效
                JSONObject jsonObject = new JSONObject();
                jsonObject.put("msg", "该链接已失效!请重新获取链接!");
                jsonObject.put("code", "256");
                return jsonObject.toString();
            }
        }
    }

//    @CrossOrigin
            return majorDAO.findMJLike(like);
        }
        // 3. 只有 colleg
        if (StringUtils.isEmpty(like) && !StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJCollege(collegename);
        }
        if (!StringUtils.isEmpty(like) && !StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJLikeAndCollege(like, collegename);
        }
        return null;
    }

    /**
     * 根据当前 majorid 获取当前 的 专业信息
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/getmajorinfo/{majorid}")
    public Map<String, Object> findMajorByMid(@PathVariable("majorid") Integer majorid) {
        return majorDAO.findByMJinMid(majorid);
    }

    /**
     * 根据 majorid 更新当前专业信息
     **/
    @CrossOrigin
    @PutMapping("/api/admin/updatemajor/{majorid}")
    public MajorModel updateMajorUser(@PathVariable("majorid") Integer majorid, @RequestBody Map<String, Object> json) {
        String content = String.valueOf(json.get("content"));
        String majorname = String.valueOf(json.get("majorname"));
        String collegeid = String.valueOf(json.get("collegename"));
        int k = 1;
        for (int i = 0; i < collegeid.length(); i++) {
            if (!Character.isDigit(collegeid.charAt(i))) {
                k = 0;
                break;
            }
        }

        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        MajorModel majorModel = new MajorModel();
        majorModel.setMajorid(majorid);
        majorModel.setMajorname(majorname);
        majorModel.setContent(content);
        CollegeModel collegeModel;

/**
 * @Classname TeacherListController
 * @Description 教师端所有接口数据
 * @Created by SHTL
 */
@RestController
public class TeacherController {

    /**
     * 对所有学生信息进行动态分页查询
     **/
    @Autowired
    StudentUserDAO studentUserDAO;
    @Autowired

/**
 * @Classname TeacherListController
 * @Description 教师端所有接口数据
 * @Created by SHTL
 */
@RestController
public class TeacherController {

    /**
     * 对所有学生信息进行动态分页查询
     **/
    @Autowired
    StudentUserDAO studentUserDAO;
    @Autowired
    UserService userService;

    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/teacher/studentlist")
    public Page<StudentUser> pageQuery1(@RequestBody Map<String, Object> json) {
        Integer pageNum = Integer.valueOf((Integer) json.get("pageNum"));
        Integer pageSize = Integer.valueOf((Integer) json.get("pageSize"));
        String college = String.valueOf((String) json.get("college"));
        String major = String.valueOf(json.get("major"));
        String banji = String.valueOf(json.get("banji"));
        String like = String.valueOf(json.get("query"));
        String sex = String.valueOf(json.get("sex"));
        Pageable pageable = PageRequest.of(pageNum - 1, pageSize);
        return userService.getStuList(like, college, major, banji, sex, pageable);
    }

    /***
    public List<Object> findCollegeInMajor() {
        return majorDAO.getCollegeInMajor();
    }

    /**
     * 获取所有专业信息,用于专业管理页面
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/getallmajor")
    public List<Map<String, Object>> findAllMajor(@RequestBody Map<String, Object> json) {
        String like = String.valueOf(json.get("like"));
        String collegename = String.valueOf(json.get("collegename"));
        // 1. 没有查询条件
        if (StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJNO();
        }
        // 2. 只有like
        if (!StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJLike(like);
        }
        // 3. 只有 colleg
        if (StringUtils.isEmpty(like) && !StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJCollege(collegename);
        }
        if (!StringUtils.isEmpty(like) && !StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJLikeAndCollege(like, collegename);
        }
        return null;
    }

    /**
     * 根据当前 majorid 获取当前 的 专业信息
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/getmajorinfo/{majorid}")
    public Map<String, Object> findMajorByMid(@PathVariable("majorid") Integer majorid) {
            } else {
                JSONObject jsonObject = new JSONObject();
                jsonObject.put("msg", "重置密码成功!");
                jsonObject.put("code", "200");
                return jsonObject.toString();
            }
        }
    }

    /**
     * 根据账户信息对密码进行更新
     **/
    @CrossOrigin
    @PutMapping("/api/student/updateselfpwd/{xuehao}")
    public StudentUser updateStuPwd(@PathVariable("xuehao") Integer xuehao, @RequestBody StudentUser studentUser) throws Exception {
        studentUser.setXuehao(xuehao);
        studentUser.setPassword(MD5.md5(studentUser.getPassword()));
        return studentUserDAO.saveAndFlush(studentUser);
    }

    /**
     * 获取当前学生账户所在班级的可选课程
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/sutdent/getselectionall")
    public List<Map<String, Object>> SelectionALLQuery(@RequestBody Map<String, Object> json) {
        String kechengleixing = String.valueOf(json.get("kechengleibie"));
        String like = String.valueOf(json.get("like"));
        Integer xuehao = Integer.valueOf((String) json.get("xuehao"));
        String xuefen = String.valueOf(json.get("xuefen"));

        // 情况一: 没有任何筛选条件
        if (StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(like) && StringUtils.isEmpty(xuefen)) {
            return curriDAO.findCurriNo(xuehao);
        }
        // 情况二: 模糊查询
        if (!StringUtils.isEmpty(like) && StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(xuefen)) {
            return curriDAO.findCurriLike(xuehao, like);
        }
        // 情况三: 学分
        if (!StringUtils.isEmpty(xuefen) && StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(like)) {
            return curriDAO.findCurriXuefen(xuehao, Integer.valueOf(xuefen));
        }
        // 情况四: 课程类别
            collegeModel = collegeDAO.findByCollegeid(Integer.valueOf(collegeid));
        } else {
            // 不是数字
            collegeModel = collegeDAO.findByCollegename(collegeid);
        }
        majorModel.setCollegeid(collegeModel.getCollegeid());
        majorModel.setCtime(df.format(new Date()));
        return majorDAO.saveAndFlush(majorModel);
    }

    /**
     * 获取所有教室信息,,仅一个 like
     **/
    @Autowired
    ClassDAO classDAO;

    @CrossOrigin
    @ResponseBody
    @PostMapping({"/api/admin/getallrooms", "/api/admin/getallcr"})
    public List<Classroom> findAllRooms(@RequestBody Map<String, Object> json) {
        String like1 = String.valueOf(json.getOrDefault("like",""));
        String like2 = String.valueOf(json.getOrDefault("query",""));
        return classDAO.findAllRooms(like1+like2);
    }

    /**
     * 获取每个学院的学生和教师人数数量
     **/
    @CrossOrigin
    @ResponseBody
    @GetMapping("/api/admin/getnums")
    public List<Map<String, Object>> getAllNums() {
        return collegeDAO.getAllNums();
    }

    /**
     * 管理员找回密码操作
     **/
    // 注入QQ发送邮件的bean
    @Autowired
    JavaMailSender mailSender;

    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/forgetepwd")
        // 修改当前课程类型为必修,添加对应班级的选择该课程
        String leixing = curriModel.getKechengleibie();
        if (leixing.equals("必修")) {
            String[] list = curriModel.getOptionalclass().split(" ");
            String sqltext = "";
            for (int i = 0; i < list.length; i++) {
                Integer[] list1 = studentUserDAO.findByXhinBJ(list[i]);
                for (int j = 0; j < list1.length; j++) {
                    SelectionModel selectionModel = new SelectionModel();
                    selectionModel.setKechengid(kechengid);
                    selectionModel.setXuehao(list1[j]);
                    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    selectionModel.setCtime(df.format(new Date()));
                    selectionDAO.save(selectionModel);
                }
            }
            // 删除表中的重复数据
            selectionDAO.deleteRepeat();
        }
        // 删除已选课程中,已移出的可选班级中的学生选课信息
        selectionDAO.deleteRepeat1(curriModel.getOptionalclass(), kechengid);
        return curriDAO.saveAndFlush(curriModel);
    }

    /**
     * 根据课程ID (kechengid) 进行删除
     **/
    @CrossOrigin
    @DeleteMapping("/api/teacher/deletecurri/{kechengid}")
    public Integer deleteCurri(@PathVariable("kechengid") Integer kechengid) {
        return curriDAO.deleteByKechengid(kechengid);
    }

    /**
     * 添加课程信息之前
     * 对教室的使用情况进行判断,避免同一教室同一时间被使用多次
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/classroomcheck_curri")
    public List<CurriModel> classroomCheck(@RequestBody Map<String, Object> json) {
        String classroomname = String.valueOf(json.get("classroom"));
        String classweek = String.valueOf(json.get("classweek"));
        String startweek = String.valueOf(json.get("startweek"));
        String endtweek = String.valueOf(json.get("endweek"));

    /**
     * 获取所有专业信息,用于专业管理页面
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/getallmajor")
    public List<Map<String, Object>> findAllMajor(@RequestBody Map<String, Object> json) {
        String like = String.valueOf(json.get("like"));
        String collegename = String.valueOf(json.get("collegename"));
        // 1. 没有查询条件
        if (StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJNO();
        }
        // 2. 只有like
        if (!StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJLike(like);
        }
        // 3. 只有 colleg
        if (StringUtils.isEmpty(like) && !StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJCollege(collegename);
        }
        if (!StringUtils.isEmpty(like) && !StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJLikeAndCollege(like, collegename);
        }
        return null;
    }

    /**
     * 根据当前 majorid 获取当前 的 专业信息
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/getmajorinfo/{majorid}")
    public Map<String, Object> findMajorByMid(@PathVariable("majorid") Integer majorid) {
        return majorDAO.findByMJinMid(majorid);
    }

    /**
    @CrossOrigin
    @GetMapping("/api/student/getkechengbiao/{xuehao}")
    public List<Map<String, Object>> getKeChengBiaoInfo(@PathVariable("xuehao") Integer xuehao) {
        return selectionDAO.getkechengbiao(xuehao);
    }

    /***
     * 获取当前账户的学生个人信息
     * **/
    @CrossOrigin
    @GetMapping("/api/student/getself/{xuehao}")
    public StudentUser getStuSelf(@PathVariable("xuehao") Integer xuehao) {
        Optional<StudentUser> optional = Optional.ofNullable(studentUserDAO.findByXuehao(xuehao));
        return optional.orElseGet(StudentUser::new);
    }

    /**
     * 根据账户信息进行基本信息更新
     **/
    @CrossOrigin
    @PutMapping("/api/student/updateself/{xuehao}")
    public StudentUser updateStuSelf(@PathVariable("xuehao") Integer xuehao, @RequestBody StudentUser studentUser) {
        studentUser.setXuehao(Integer.valueOf(xuehao));
        return studentUserDAO.saveAndFlush(studentUser);
    }

    /**
     * 根据学号对密码进行重置,用于忘记密码之后找回的时候充值密码
     **/
    @CrossOrigin
    @PostMapping("/api/student/resetpwd")
    public Object ResetPassword(@RequestBody Map<String, Object> json) throws Exception {
        String zhanghu = String.valueOf(json.get("zhanghu"));
        String password = String.valueOf(json.get("password"));
        StudentUser studentUser = studentUserDAO.findByXuehao(Integer.valueOf(zhanghu));
        if (studentUser == null) {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("msg", "数据有误 !请检查后重试!");
            jsonObject.put("code", "255");
            return jsonObject.toString();
        } else {
            studentUser.setPassword(MD5.md5(password));
            StudentUser studentUser1 = studentUserDAO.saveAndFlush(studentUser);
     **/
    @CrossOrigin
    @DeleteMapping("/api/admin/deletecollege/{collegeid}")
    public Integer deleteCollege(@PathVariable("collegeid") Integer collegeid) {
        return collegeDAO.deleteByCollegeid(collegeid);
    }

    /**
     * 根据专业 ID删除专业 信息
     **/
    @CrossOrigin
    @DeleteMapping("/api/admin/deletemajor/{majorid}")
    public Integer deleteMajor(@PathVariable("majorid") Integer majorid) {
        return majorDAO.deleteByMajorid(majorid);
    }

    /**
     * 在 专业表中 获取 学院的个数,用于条件查询
     **/
    @CrossOrigin
    @GetMapping("/api/admin/getcollegeinmajor")
    public List<Object> findCollegeInMajor() {
        return majorDAO.getCollegeInMajor();
    }

    /**
     * 获取所有专业信息,用于专业管理页面
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/getallmajor")
    public List<Map<String, Object>> findAllMajor(@RequestBody Map<String, Object> json) {
        String like = String.valueOf(json.get("like"));
        String collegename = String.valueOf(json.get("collegename"));
        // 1. 没有查询条件
        if (StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename)) {
            return majorDAO.findMJNO();
        }
    public List<CollegeModel> findAllCollege(@RequestBody Map<String, Object> json) {
        String like = (String) json.get("query");
        return (List<CollegeModel>) collegeDAO.findByCollegenameLike("%" + like + "%");
    }

    /**
     * 根据 collegeid 获取当前id 的学院信息系
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/getcollegeinfo/{collegeid}")
    public CollegeModel findCollegeByCid(@PathVariable("collegeid") Integer collegeid) {
        return collegeDAO.findByCollegeid(collegeid);
    }

    /**
     * 根据 collegeid 更新当前学院信息
     **/
    @CrossOrigin
    @PutMapping("/api/admin/updatecollege/{collegeid}")
    public CollegeModel updateCollegeUser(@PathVariable("collegeid") Integer collegeid, @RequestBody Map<String, Object> json) {
        String content = String.valueOf(json.get("content"));
        String collegename = String.valueOf(json.get("collegename"));
        CollegeModel collegeModel = new CollegeModel();
        collegeModel.setCollegeid(collegeid);
        collegeModel.setCollegename(collegename);
        collegeModel.setContent(content);
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        collegeModel.setCtime(df.format(new Date()));
        return collegeDAO.saveAndFlush(collegeModel);
    }

    /**
     * 添加学院信息
     **/
    @CrossOrigin
    @PostMapping("/api/admin/addcollege")
    public CollegeModel addCollegeUser(@RequestBody Map<String, Object> json) {
        String collegename = String.valueOf(json.get("collegename"));
        String content = String.valueOf(json.get("content"));
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        CollegeModel collegeModel = new CollegeModel();
        collegeModel.setContent(content);
        collegeModel.setCollegename(collegename);
        collegeModel.setCtime(df.format(new Date()));
        }
    }

    /**
     * 根据账户信息对密码进行更新
     **/
    @CrossOrigin
    @PutMapping("/api/student/updateselfpwd/{xuehao}")
    public StudentUser updateStuPwd(@PathVariable("xuehao") Integer xuehao, @RequestBody StudentUser studentUser) throws Exception {
        studentUser.setXuehao(xuehao);
        studentUser.setPassword(MD5.md5(studentUser.getPassword()));
        return studentUserDAO.saveAndFlush(studentUser);
    }

    /**
     * 获取当前学生账户所在班级的可选课程
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/sutdent/getselectionall")
    public List<Map<String, Object>> SelectionALLQuery(@RequestBody Map<String, Object> json) {
        String kechengleixing = String.valueOf(json.get("kechengleibie"));
        String like = String.valueOf(json.get("like"));
        Integer xuehao = Integer.valueOf((String) json.get("xuehao"));
        String xuefen = String.valueOf(json.get("xuefen"));

        // 情况一: 没有任何筛选条件
        if (StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(like) && StringUtils.isEmpty(xuefen)) {
            return curriDAO.findCurriNo(xuehao);
        }
        // 情况二: 模糊查询
        if (!StringUtils.isEmpty(like) && StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(xuefen)) {
            return curriDAO.findCurriLike(xuehao, like);
        }
        // 情况三: 学分
        if (!StringUtils.isEmpty(xuefen) && StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(like)) {
            return curriDAO.findCurriXuefen(xuehao, Integer.valueOf(xuefen));
        }
                    selectionModel.setKechengid(kechengid);
                    selectionModel.setXuehao(list1[j]);
                    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    selectionModel.setCtime(df.format(new Date()));
                    selectionDAO.save(selectionModel);
                }
            }
            // 删除表中的重复数据
            selectionDAO.deleteRepeat();
        }
        // 删除已选课程中,已移出的可选班级中的学生选课信息
        selectionDAO.deleteRepeat1(curriModel.getOptionalclass(), kechengid);
        return curriDAO.saveAndFlush(curriModel);
    }

    /**
     * 根据课程ID (kechengid) 进行删除
     **/
    @CrossOrigin
    @DeleteMapping("/api/teacher/deletecurri/{kechengid}")
    public Integer deleteCurri(@PathVariable("kechengid") Integer kechengid) {
        return curriDAO.deleteByKechengid(kechengid);
    }

    /**
     * 添加课程信息之前
     * 对教室的使用情况进行判断,避免同一教室同一时间被使用多次
     **/
    @CrossOrigin
    @ResponseBody
    @PostMapping("/api/admin/classroomcheck_curri")
    public List<CurriModel> classroomCheck(@RequestBody Map<String, Object> json) {
        String classroomname = String.valueOf(json.get("classroom"));
        String classweek = String.valueOf(json.get("classweek"));
        String startweek = String.valueOf(json.get("startweek"));
        String endtweek = String.valueOf(json.get("endweek"));
        String classsection = String.valueOf(json.get("classsection"));
        return curriDAO.classroomcheck_curri(classroomname, classweek, classsection, startweek, endtweek);
    }

    /**
     * 添加课程信息
     **/
    @CrossOrigin
    @PostMapping("/api/teacher/addcurri")
    public CurriModel saveCurri(@RequestBody CurriModel curriModel) {

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值