基于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管理等等。
jsonObject.put("msg", "重置密码失败!");
jsonObject.put("code", "255");
return jsonObject.toString();
} else {
ResultCode result = new ResultCode(255);
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));
}
// 情况四: 课程类别
if (!StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(like) && StringUtils.isEmpty(xuefen)) {
return curriDAO.findCurriLeixing(xuehao, kechengleixing);
}
// 情况五: 学分和模糊查询
if (!StringUtils.isEmpty(xuefen) && !StringUtils.isEmpty(like) && StringUtils.isEmpty(kechengleixing)) {
return curriDAO.findCurriXandLike(xuehao, like, Integer.valueOf(xuefen));
}
// 情况六:学分和课程类型
/**
* 根据学号进行删除
**/
@Autowired
StudentUserDAO studentUserDAO;
@CrossOrigin
@DeleteMapping("/api/admin/deletestu/{xuehao}")
public Integer deleteStu(@PathVariable("xuehao") Integer xuehao) {
return studentUserDAO.deleteByXuehao(xuehao);
}
/**
* 添加学生用户信息
**/
@Autowired
MajorDAO majorDAO;
@CrossOrigin
@PostMapping("/api/admin/addstu")
public StudentUser saveStu(@RequestBody StudentUser studentUser) throws Exception {
// 设置创建时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
studentUser.setCtime(df.format(new Date()));
studentUser.setPassword(MD5.md5(studentUser.getPassword()));
return studentUserDAO.save(studentUser);
}
/**
* 根据教师账号进行更新
***/
@CrossOrigin
@PutMapping("/api/admin/updatetea/{zhanghu}")
public TeacherUser updateTeaUser(@PathVariable("zhanghu") Integer zhanghu, @RequestBody TeacherUser teacherUser) throws Exception {
teacherUser.setZhanghu(zhanghu);
if (teacherUser.getPassword().length() != 64) {
teacherUser.setPassword(MD5.md5(teacherUser.getPassword()));
}
return teacherUserDAO.saveAndFlush(teacherUser);
}
/**
* 根据教师账户进行删除
**/
banjiModel.setCtime(df.format(new Date()));
return banjiDAO.saveAndFlush(banjiModel);
}
/**
* 添加班级信息
**/
@CrossOrigin
@PostMapping("/api/admin/addbanji")
public BanjiModel addBanjiUser(@RequestBody Map<String, Object> json) {
String banjiname = (String) json.get("banjiname");
String majorname = (String) json.get("majorname");
String content = (String) json.get("content");
// 获取 已知majorname 的 majorid
MajorModel majorModel = majorDAO.findByMajorname(majorname);
BanjiModel banjiModel = new BanjiModel();
banjiModel.setBanjiname(banjiname);
banjiModel.setMajorid(majorModel.getMajorid());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
banjiModel.setCtime(df.format(new Date()));
banjiModel.setContent(content);
return banjiDAO.save(banjiModel);
}
/**
* 添加专业信息
**/
@CrossOrigin
@PostMapping("/api/admin/addmajor")
public MajorModel addMajorUser(@RequestBody Map<String, Object> json) {
String majorname = String.valueOf(json.get("majorname"));
String collegename = String.valueOf(json.get("college"));
String content = String.valueOf(json.get("content"));
// 获取已知 collegename 的 collegeid
CollegeModel collegeModel = collegeDAO.findByCollegename(collegename);
MajorModel majorModel = new MajorModel();
majorModel.setCollegeid(collegeModel.getCollegeid());
majorModel.setMajorname(majorname);
majorModel.setContent(content);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
majorModel.setCtime(df.format(new Date()));
return majorDAO.save(majorModel);
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]);
selectionModel.setCtime(df.format(new Date()));
selectionDAO.save(selectionModel);
}
}
}
return curriModel1;
}
/**
* 获取选课信息 (有对课程名称进行模糊查询和对课程类型进行筛选条件)
***/
@Autowired
SelectionDAO selectionDAO;
@CrossOrigin
@ResponseBody
@PostMapping("/api/teacher/getselection")
public List<Map<String, Object>> SelectionQuery(@RequestBody Map<String, Object> json) {
String kechengteacher = String.valueOf(json.get("kechengteacher"));
String kechengname = String.valueOf(json.get("kechengname"));
String kechengleibie = String.valueOf(json.get("kechengleibie"));
// 情况一:没有筛选条件的情况
if (StringUtils.isEmpty(kechengname) && StringUtils.isEmpty(kechengleibie)) {
return selectionDAO.SelectionClass(kechengteacher);
}
// 情况二:筛选课程类型为必修,模糊查询没有
if (StringUtils.isEmpty(kechengname) && kechengleibie.equals("必修")) {
return selectionDAO.SelectionClassBixiu(kechengteacher);
}
// 情况三:筛选课程类型为选修,模糊查询没有
if (StringUtils.isEmpty(kechengname) && kechengleibie.equals("选修")) {
return selectionDAO.SelectionClassXuanxiu(kechengteacher);
}
// 情况四:有模糊查询条件,无课程类别筛选
public BanjiModel updateBanjiUser(@PathVariable("banjiid") Integer banjiid, @RequestBody Map<String, Object> json) {
String banjiname = (String) json.get("banjiname");
String majorname = (String) json.get("majorname");
String content = (String) json.get("content");
// 获取 已知majorname 的 majorid
MajorModel majorModel = majorDAO.findByMajorname(majorname);
Integer majorid = majorModel.getMajorid();
BanjiModel banjiModel = new BanjiModel();
banjiModel.setBanjiid(banjiid);
banjiModel.setBanjiname(banjiname);
banjiModel.setMajorid(majorid);
banjiModel.setContent(content);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
banjiModel.setCtime(df.format(new Date()));
return banjiDAO.saveAndFlush(banjiModel);
}
/**
* 添加班级信息
**/
@CrossOrigin
@PostMapping("/api/admin/addbanji")
public BanjiModel addBanjiUser(@RequestBody Map<String, Object> json) {
String banjiname = (String) json.get("banjiname");
String majorname = (String) json.get("majorname");
String content = (String) json.get("content");
// 获取 已知majorname 的 majorid
MajorModel majorModel = majorDAO.findByMajorname(majorname);
BanjiModel banjiModel = new BanjiModel();
banjiModel.setBanjiname(banjiname);
banjiModel.setMajorid(majorModel.getMajorid());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
banjiModel.setCtime(df.format(new Date()));
banjiModel.setContent(content);
return banjiDAO.save(banjiModel);
}
/**
* 添加专业信息
**/
@CrossOrigin
@PostMapping("/api/admin/addmajor")
public MajorModel addMajorUser(@RequestBody Map<String, Object> json) {
String majorname = String.valueOf(json.get("majorname"));
String collegename = String.valueOf(json.get("college"));
String content = String.valueOf(json.get("content"));
// 获取已知 collegename 的 collegeid
@CrossOrigin
@PostMapping("/api/admin/addtea")
public TeacherUser saveTea(@RequestBody TeacherUser teacherUser) throws Exception {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
teacherUser.setCtime(df.format(new Date()));
teacherUser.setPassword(MD5.md5(teacherUser.getPassword()));
return teacherUserDAO.save(teacherUser);
}
/**
* 对所有教师信息进行动态分页查询
**/
@Autowired
UserService userService;
@CrossOrigin
@ResponseBody
@PostMapping("/api/admin/tealist")
public Page<TeacherUser> pageQuery(@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 like = String.valueOf(json.get("query"));
String sex = String.valueOf(json.get("sex"));
Pageable pageable = PageRequest.of(pageNum - 1, pageSize);
return userService.getTeaList(like, college, major, sex, pageable);
}
/**
* 根据学号进行删除
**/
@Autowired
StudentUserDAO studentUserDAO;
@CrossOrigin
@DeleteMapping("/api/admin/deletestu/{xuehao}")
public Integer deleteStu(@PathVariable("xuehao") Integer xuehao) {
return studentUserDAO.deleteByXuehao(xuehao);
}
/**
* 添加学生用户信息
**/
@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);
}
/***
* 根据学号进行查询
* **/
@CrossOrigin
@GetMapping("/api/teacher/getstu/{xuehao}")
public StudentUser getUserInfo(@PathVariable("xuehao") Integer xuehao) {
Optional<StudentUser> optional = Optional.ofNullable(studentUserDAO.findByXuehao(xuehao));
return optional.orElseGet(StudentUser::new);
}
/**
* 根据学号进行更新
***/
@CrossOrigin
@PutMapping("/api/teacher/updatestu/{xuehao}")
public StudentUser updateStuUser(@PathVariable("xuehao") Integer xuehao, @RequestBody StudentUser studentUser) throws Exception {
studentUser.setXuehao(xuehao);
if (studentUser.getPassword().length() != 64) {
studentUser.setPassword(MD5.md5(studentUser.getPassword()));
}
return studentUserDAO.saveAndFlush(studentUser);
}
/**
* 获取学院信息
**/
@CrossOrigin
@GetMapping("/api/teacher/getcollegegroup")
public List<Object> findByCollegeGroup() {
return studentUserDAO.getByCollegegroup();
}
/**
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));
}
// 情况四: 课程类别
if (!StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(like) && StringUtils.isEmpty(xuefen)) {
return curriDAO.findCurriLeixing(xuehao, kechengleixing);
}
// 情况五: 学分和模糊查询
if (!StringUtils.isEmpty(xuefen) && !StringUtils.isEmpty(like) && StringUtils.isEmpty(kechengleixing)) {
return curriDAO.findCurriXandLike(xuehao, like, Integer.valueOf(xuefen));
}
// 情况六:学分和课程类型
if (!StringUtils.isEmpty(xuefen) && !StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(like)) {
return curriDAO.findCurriXandLeixing(xuehao, Integer.valueOf(xuefen), kechengleixing);
}
// 情况七: like 和 课程类型
if (!StringUtils.isEmpty(like) && !StringUtils.isEmpty(kechengleixing) && StringUtils.isEmpty(xuefen)) {
return curriDAO.findCurriLandLeibie(xuehao, like, kechengleixing);
}
// 情况八: like 学分 课程类型
if (!StringUtils.isEmpty(like) && !StringUtils.isEmpty(xuefen) && !StringUtils.isEmpty(kechengleixing)) {
return curriDAO.findCurriAll(xuehao, like, kechengleixing, Integer.valueOf(xuefen));
}
return null;
}
/**
* 学生自主选课,将选课信息添加到 选课信息表
* **/
/**
* 添加学生用户信息
**/
@CrossOrigin
@ResponseBody
@PostMapping("/api/student/addsutclass")
public SelectionModel addSelection(@RequestBody Map<String, Object> json) {
String xuehao = String.valueOf(json.get("xuehao"));
String kechengid = String.valueOf(json.get("kechengid"));
SelectionModel selectionModel = new SelectionModel();
selectionModel.setXuehao(Integer.valueOf(xuehao));
/**
* @Classname TeacherListController
* @Description 教师端所有接口数据
* @Created by SHTL
*/
@RestController
public class TeacherController {
/**
* 对所有学生信息进行动态分页查询
**/
@Autowired
StudentUserDAO studentUserDAO;
@Autowired
UserService userService;
}
// 情况二: like
if (!StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename) && StringUtils.isEmpty(majorname)) {
return banjiDAO.findBJLike(like);
}
// 情况三: 学院
if (!StringUtils.isEmpty(collegename) && StringUtils.isEmpty(majorname) && StringUtils.isEmpty(like)) {
return banjiDAO.findBJCollege(collegename);
}
// 情况四: 专业
if (!StringUtils.isEmpty(majorname) && StringUtils.isEmpty(like) && StringUtils.isEmpty(collegename)) {
return banjiDAO.findBJMajor(majorname);
}
// 情况五: like 和 学院
if (!StringUtils.isEmpty(collegename) && !StringUtils.isEmpty(like) && StringUtils.isEmpty(majorname)) {
return banjiDAO.findBJLikeAndCollege(like, collegename);
}
// 情况六: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);
}
return curriService.getCurriList(kechengteacher, like, kechengleibie, pageable);
}
/**
* 根据课程ID进行查询
**/
@CrossOrigin
@GetMapping("/api/teacher/getcurri/{kechengid}")
public CurriModel getCurriInfo(@PathVariable("kechengid") Integer kechengid) {
Optional<CurriModel> optional = Optional.ofNullable(curriDAO.findByKechengid(kechengid));
return optional.orElseGet(CurriModel::new);
}
/**
* 获取所有上课教室信息
**/
@Autowired
ClassDAO classDAO;
@CrossOrigin
@GetMapping("/api/teacher/getclassroomall")
public List<Object> getClassroomAll() {
return classDAO.getByClassroom();
}
/***
* 根据课程ID (kechengid) 进行更新
* **/
@CrossOrigin
@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();
}
// 情况三:筛选课程类型为选修,模糊查询没有
if (StringUtils.isEmpty(kechengname) && kechengleibie.equals("选修")) {
return selectionDAO.SelectionClassXuanxiu(kechengteacher);
}
// 情况四:有模糊查询条件,无课程类别筛选
if (!StringUtils.isEmpty(kechengname) && StringUtils.isEmpty(kechengleibie)) {
return selectionDAO.SelectionClassLike(kechengteacher, kechengname);
}
// 情况五:有模糊查询条件,课程类别筛选为 必修
if (!StringUtils.isEmpty(kechengname) && kechengleibie.equals("必修")) {
return selectionDAO.SelectionClassLikeBiXiu(kechengteacher, kechengname);
}
// 情况五:有模糊查询条件,课程类别筛选为 选修
if (!StringUtils.isEmpty(kechengname) && kechengleibie.equals("选修")) {
return selectionDAO.SelectionClassLikeXuanXiu(kechengteacher, kechengname);
}
return null;
}
/***
*获取当前课程的所有选课学生
* **/
@CrossOrigin
@GetMapping("/api/teacher/getallselection/{kechengid}")
public List<Map<String, Object>> getAllSelection(@PathVariable("kechengid") Integer kechengid) {
return studentUserDAO.getAllSelection(kechengid);
}
/**
* 根据教师账户获取该教师所有信息
**/
@Autowired
TeacherUserDAO teacherUserDAO;
@CrossOrigin
@GetMapping("/api/teacher/getteacherself/{zhanghu}")
public TeacherUser getSelfTeacher(@PathVariable("zhanghu") Integer zhanghu) {
return teacherUserDAO.findByZhanghu(zhanghu);
}
/**
* 根据账户信息进行基本信息更新
**/
@CrossOrigin
@PutMapping("/api/teacher/updateself/{zhanghu}")
public TeacherUser updateTeacherSelf(@PathVariable("zhanghu") Integer zhanghu, @RequestBody TeacherUser teacherUser) {
teacherUser.setZhanghu(zhanghu);
return teacherUserDAO.saveAndFlush(teacherUser);
jsonObject.put("code", "255");
return jsonObject.toString();
} else {
teacherUser.setPassword(MD5.md5(password));
TeacherUser teacherUser1 = teacherUserDAO.saveAndFlush(teacherUser);
if (teacherUser1 == null) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("msg", "重置密码失败!");
jsonObject.put("code", "255");
return jsonObject.toString();
} else {
JSONObject jsonObject = new JSONObject();
jsonObject.put("msg", "重置密码成功!");
jsonObject.put("code", "200");
return jsonObject.toString();
}
}
}
}
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);
if (studentUser1 == null) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("msg", "重置密码失败!");
jsonObject.put("code", "255");
return jsonObject.toString();
} else {
JSONObject jsonObject = new JSONObject();
jsonObject.put("msg", "重置密码成功!");
jsonObject.put("code", "200");
return jsonObject.toString();
}
}
}
/**
* 根据账户信息对密码进行更新
**/
@CrossOrigin
/**
* 获取专业信息
**/
@CrossOrigin
@GetMapping("/api/teacher/getmajorgroup")
public List<Object> findByMajorGroup() {
return studentUserDAO.getByMajorgroup();
}
/**
* 获取班级信息
**/
@CrossOrigin
@GetMapping("/api/teacher/getbanjigroup")
public List<Object> findByBanjiGroup() {
return studentUserDAO.getByBanjigroup();
}
/**
* 对课程信息进行分动态查询
**/
//分页查询
@Autowired
CurriDAO curriDAO;
@Autowired
CurriService curriService;
@CrossOrigin
@ResponseBody
@PostMapping("/api/teacher/currilist")
public Page<CurriModel> pageQuery2(@RequestBody Map<String, Object> json) {
Integer pageNum = Integer.valueOf((Integer) json.get("pageNum"));
Integer pageSize = Integer.valueOf((Integer) json.get("pageSize"));
Integer kechengteacher = Integer.valueOf((String) json.get("kechengteacher"));
String kechengleibie = String.valueOf((String) json.get("kechengleibie"));
String like = String.valueOf((String) json.get("query"));
Pageable pageable = PageRequest.of(pageNum - 1, pageSize);
return curriService.getCurriList(kechengteacher, like, kechengleibie, pageable);
}
/**
* 根据课程ID进行查询
**/
@CrossOrigin
@GetMapping("/api/teacher/getcurri/{kechengid}")
public CurriModel getCurriInfo(@PathVariable("kechengid") Integer kechengid) {
Optional<CurriModel> optional = Optional.ofNullable(curriDAO.findByKechengid(kechengid));
return optional.orElseGet(CurriModel::new);
}
@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);
}
/***
* 根据学号进行查询
* **/
@CrossOrigin
@GetMapping("/api/teacher/getstu/{xuehao}")
public StudentUser getUserInfo(@PathVariable("xuehao") Integer xuehao) {
Optional<StudentUser> optional = Optional.ofNullable(studentUserDAO.findByXuehao(xuehao));
return optional.orElseGet(StudentUser::new);
}
/**
* 根据学号进行更新
***/
@CrossOrigin
@PutMapping("/api/teacher/updatestu/{xuehao}")
public StudentUser updateStuUser(@PathVariable("xuehao") Integer xuehao, @RequestBody StudentUser studentUser) throws Exception {
studentUser.setXuehao(xuehao);
if (studentUser.getPassword().length() != 64) {
studentUser.setPassword(MD5.md5(studentUser.getPassword()));
}
**/
@CrossOrigin
@PutMapping("/api/teacher/updateself/{zhanghu}")
public TeacherUser updateTeacherSelf(@PathVariable("zhanghu") Integer zhanghu, @RequestBody TeacherUser teacherUser) {
teacherUser.setZhanghu(zhanghu);
return teacherUserDAO.saveAndFlush(teacherUser);
}
/**
* 根据账户信息对密码进行更新
**/
@CrossOrigin
@PutMapping("/api/teacher/updateselfpwd/{zhanghu}")
public TeacherUser updateTeacherPwd(@PathVariable("zhanghu") Integer zhanghu, @RequestBody TeacherUser teacherUser) throws Exception {
teacherUser.setZhanghu(zhanghu);
teacherUser.setPassword(MD5.md5(teacherUser.getPassword()));
return teacherUserDAO.saveAndFlush(teacherUser);
}
/**
* 获取所有学院信息
**/
@Autowired
CollegeDAO collegeDAO;
@CrossOrigin
@GetMapping("/api/teacher/getcollege")
public List<CollegeModel> getCollege() {
return collegeDAO.findAll();
}
/**
* 根据学院名称获取所有该学院下的专业信息
**/
@Autowired
MajorDAO majorDAO;
@CrossOrigin
@PostMapping("/api/teacher/getmajor/{collegename}")
public List<Map<String, Object>> getMajorByCollegeName(@PathVariable("collegename") String collegename) {
return majorDAO.getMajorByCollegename(collegename);
}
/**