java+SpringBoot是如何设计实现评教系统
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关java+SpringBoot是如何设计实现评教系统,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。主要功能共有三个角色:管
千家信息网最后更新 2025年11月08日java+SpringBoot是如何设计实现评教系统
这篇文章将为大家详细讲解有关java+SpringBoot是如何设计实现评教系统,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
主要功能
共有三个角色:管理员、教师、学生。
管理员功能有:学生管理、教师管理、评教管理、指标管理、课程管理等。
教师功能有:学生管理、指标管理、课程管理。
学生功能有:评教管理。
运行环境
jdk1.8、mysql5.X、maven3.5\3.6、idea
效果图展示


主要代码
教师管理控制层
@Authority(roles = {Role.TEACHER})@Controller@RequestMapping("/teacher")public class TeacherController { @Autowired TeacherService teacherService; @Autowired SubjectService subjectService; @RequestMapping(value = {"", "/loginPage"}) public String loginPage() { return "teacher/login"; } @GetMapping("/index") public String homePage() { return "teacher/public-teacher-index"; } @GetMapping("/updatePwd") public String updatePwd() { return "teacher/teacherInfo/updatePwd"; } @GetMapping("/teacherInfo") public String teacherInfo() { return "teacher/teacherInfo/teacherinfo"; } @GetMapping("/modifyinfo") public String modifyInfo() { return "teacher/teacherInfo/updateinfo"; } @GetMapping("/workapprovalinfo") public String workInfo() { return "teacher/workapproval/winfo"; } @GetMapping("/workapprovaldata") public String workData() { return "teacher/workapproval/wdata"; } @GetMapping("/seeworkdata") public String seeWorkData() { return "teacher/workapproval/seewdata"; } //填写表格页面 @GetMapping("/term_debriefing") public String termDebriefing() { return "teacher/fillouttable/termdebriefing"; } @GetMapping("/year_debriefing") public String yearDebriefing() { return "teacher/fillouttable/yeardebriefing"; } @GetMapping("/annual_assessment") public String annualAssessment() { return "teacher/fillouttable/annualassessment"; } @GetMapping("/work_load") public String workLoad() { return "teacher/fillouttable/workload"; } @GetMapping("/technical_personnel") public String technicalPersonnel() { return "teacher/fillouttable/technicalpersonnel"; } @GetMapping("/term_business") public String termBusiness() { return "teacher/fillouttable/termbusiness"; } //查看表格页面 @GetMapping("/show_year_debriefing") public String showYearDebriefing() { return "teacher/showtable/yeardebriefing"; } @GetMapping("/show_term_debriefing") public String showTermDebriefing() { return "teacher/showtable/termdebriefing"; } @GetMapping("/show_annual_assessment") public String showAnnualAssessment() { return "teacher/showtable/annualassessment"; } @GetMapping("/show_technical_personnel") public String showTechnicalPersonnel() { return "teacher/showtable/technicalpersonnel"; } @GetMapping("/show_workload") public String showWorkLoad() { return "teacher/showtable/workload"; } @GetMapping("/exit") public String exit(HttpServletResponse response) { //将Cookie 中的token 置空 Cookie cookie = new Cookie("token", null); cookie.setPath("/"); response.addCookie(cookie); return "redirect:/"; } //打印页面 @GetMapping("/print_term_debriefing") public String printYearDebriefing(Long year, String term, Model model) { model.addAttribute("year", year); model.addAttribute("term", term); return "teacher/showtable/print/termdebriefing"; } @GetMapping("/print_year_debriefing") public String printTermDebriefing(Long year, Model model) { model.addAttribute("year", year); return "teacher/showtable/print/yeardebriefing"; } @GetMapping("/login") @ResponseBody public Msg login(String name, String pwd, HttpSession httpSession, HttpServletResponse response) throws ParseException { name = name.trim(); int flag = teacherService.teacherDL(name, pwd); if (flag == 200) { User user = new User(); //-1表示为超管 user.setId(0L); user.setRole("teacher"); user.setUserName(name); //生成Token 存到 Cookie Cookie cookie = new Cookie("token", TokenUtil.createToken( user )); //该Cookie无法被js读取 cookie.setHttpOnly(true); cookie.setPath("/"); response.addCookie(cookie); Teacher teacher = teacherService.selectTeacher(name); httpSession.setAttribute("teacherInfo", teacher); httpSession.setMaxInactiveInterval(3600); } return Msg.success().add("info", flag); } //教师信息修改 //修改教师密码 @PostMapping("/teacherupdetpwd") @ResponseBody public Msg fun6(String oldpwd, String newpwd, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); int flag = teacherService.teacherUpdetpwd(teacher.getUsername(), oldpwd, newpwd); return Msg.success().add("flag", flag); } //修改教师信息 @PostMapping("/teacherupdeteinfo") @ResponseBody public Msg updateinfo(String name, String gender, HttpSession httpSession) { TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo"); teacher.setName(name); teacher.setGender(gender); teacherService.teacherupdateInfo(teacher); return Msg.success(); } //教师出差模块 //查询所有教师出差申请信息 @GetMapping("/select_work_all") @ResponseBody public Msg fun1(HttpSession httpSession) { TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo"); List list = teacherService.selectTeacherWorkAll(teacher.getId()); return Msg.success().add("workinfo", list); } //查询申请成功教师出差申请 @GetMapping("/select_work_success") @ResponseBody public Msg fun2(HttpSession httpSession) { TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo"); List list = teacherService.selectWorkSuccess(teacher.getId()); return Msg.success().add("workinfo", list); } //查询申请失败教师出差申请 @GetMapping("/select_work_failed") @ResponseBody public Msg fun3(HttpSession httpSession) { TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo"); List list = teacherService.selectWorkFailed(teacher.getId()); return Msg.success().add("workinfo", list); } //查询已提交教师出差申请 @GetMapping("/select_work_submitted") @ResponseBody public Msg fun4(HttpSession httpSession) { TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo"); List list = teacherService.selectWorkSubmitted(teacher.getId()); return Msg.success().add("workinfo", list); } //删除申请失败的教师出差 @PostMapping("/delete_work") @ResponseBody public Msg deleteWork(Long id) { teacherService.deleteWorkById(id); return Msg.success(); } //加载报告填写页面 @GetMapping("/fillworkapproval") public String fun5(Long id, Model model) throws ParseException { WorkapprovalWithBLOBs workapproval = teacherService.selectWorkById(id); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); String start = sdf.format(workapproval.getBeginDate()); String end = sdf.format(workapproval.getEndDate()); String time = start + " - " + end; model.addAttribute("workapproval", workapproval); model.addAttribute("time", time); return "teacher/workapproval/fillwdata"; } //上传出差报告 @PostMapping("/fill_in_w") @ResponseBody public Msg fun7(@RequestParam("id_work") Long idWork, @RequestParam("news") String news, @RequestParam("flag") Integer flag, @RequestParam("file") MultipartFile file) throws IOException { //判断file的值是否为空 if (file.isEmpty()) { return Msg.error(); } String fileName = file.getOriginalFilename();// 获取上传文件的原名 int size = (int) file.getSize(); System.out.println(fileName + "-->" + size); File path = new File(ResourceUtils.getURL("target").getPath()); String savePath = path.getAbsolutePath() + "\\classes\\static\\model"; String saveFileName = savePath + "\\" + fileName; // String path = "D:/test";//文件保存路径 File targetFile = new File(savePath); if (!targetFile.getParentFile().exists()) { //判断文件父目录是否存在 targetFile.getParentFile().mkdir(); } file.transferTo(new File(targetFile, fileName)); // 开始接受文件 Workapprovaldata workapprovaldata = new Workapprovaldata(); workapprovaldata.setIdWorkapproval(idWork); workapprovaldata.setNews(news); workapprovaldata.setDatarar(saveFileName); //flag == 0 公有 flag == 1私有 workapprovaldata.setFlag(flag); teacherService.insertWordData(workapprovaldata); return Msg.success(); } //查看出差报告 @GetMapping("/select_work_data") @ResponseBody public Msg fun8(Integer pn, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); PageHelper.startPage(pn, 9); List list = teacherService.selectWorkData(teacher.getIdSection()); PageInfo page = new PageInfo(list, 5); return Msg.success().add("dataInfo", page); } //出差附件下载 @RequestMapping(value = "/file_download") public ResponseEntity downloadFile(String dataId, HttpServletRequest req, HttpServletResponse response) throws IOException { Workapprovaldata workapprovaldata = null; if (dataId != null) { Long id = Long.valueOf(dataId); workapprovaldata = teacherService.selectWorkDataById(id); } if (workapprovaldata != null) { String filePath = workapprovaldata.getDatarar(); //设置文件路径 File file = new File(filePath); if (!file.exists()) { file.mkdirs(); } String fileName = file.getName(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.MULTIPART_FORM_DATA); String encodeFilename = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString()); headers.setContentDispositionFormData("attachment", encodeFilename); return new ResponseEntity(FileUtils.readFileToByteArray(file), headers, HttpStatus.CREATED); } return null; } //学期述职 @PostMapping("/upload_term_debriefing") @ResponseBody public Msg fun9(String year, String term, String teachingTask, String scientificResearch, String otherWork, String winAward, String summary, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); DebriefingWithBLOBs debriefingWithBLOBs = new DebriefingWithBLOBs(); debriefingWithBLOBs.setIdTeacher(teacher.getId()); debriefingWithBLOBs.setYear(Long.parseLong(year)); debriefingWithBLOBs.setTerm(term); debriefingWithBLOBs.setTeachingtask(teachingTask); debriefingWithBLOBs.setAchievementsinscientificresearch(scientificResearch); debriefingWithBLOBs.setOtherwork(otherWork); debriefingWithBLOBs.setWinaward(winAward); debriefingWithBLOBs.setSummary(summary); int flag = teacherService.selectTermDebriefingFlag(teacher.getId(), Long.parseLong(year), term); if (flag == 1) { teacherService.updateTermDebriefing(debriefingWithBLOBs); } else { int i = teacherService.insertTermDebriefing(debriefingWithBLOBs); } return Msg.success(); } // 工作量表相关 @GetMapping("/wordload") public String wordloadPage() { return "teacher/table/workload"; } @GetMapping("/wordloadData") @ResponseBody public Msg wordloadData( @RequestParam("year") String year, @RequestParam("trem") String trem ) { Teacher teacher = (Teacher) request.getSession().getAttribute("teacherInfo"); return Msg.success() .add("teacher", teacher) .add("workloadDTO", teacherService.getWorkload(teacher.getId(), year, trem)); } private static final Logger LOGGER = LoggerFactory.getLogger(TeacherController.class); @Autowired HttpServletRequest request; @PostMapping("/wordload") @ResponseBody public Msg wordloadSave( @RequestBody WorkloadDTO workloadDTO ) { Teacher teacher = (Teacher) request.getSession().getAttribute("teacherInfo");// LOGGER.info("{}",workloadDTO); teacherService.saveWorkload(workloadDTO, teacher); return Msg.success(); } // 教师业务表 @GetMapping("/business") public String businessPage() { return "teacher/table/business"; } @GetMapping("/businessData") @ResponseBody public Msg businessData( @RequestParam("year") String year, @RequestParam("trem") String trem ) { Teacher teacher = (Teacher) request.getSession().getAttribute("teacherInfo"); return teacherService.getBusiness(teacher.getId(), year, trem) .add("teacher", teacher); } @PostMapping("/business") @ResponseBody public Msg saveBusiness( @RequestBody BusinessDTO businessDTO ) { Teacher teacher = (Teacher) request.getSession().getAttribute("teacherInfo"); return Msg.sqlChange((int) teacherService.saveBusiness(businessDTO, teacher)); } //年度述职 @PostMapping("/upload_year_debriefing") @ResponseBody public Msg fun10(String year, String teachingTask, String scientificResearch, String otherWork, String winAward, String summary, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); DebriefingYearWithBLOBs debriefingYear = new DebriefingYearWithBLOBs(); debriefingYear.setIdTeacher(teacher.getId()); debriefingYear.setYear(Long.parseLong(year)); debriefingYear.setTeachingtask(teachingTask); debriefingYear.setAchievementsinscientificresearch(scientificResearch); debriefingYear.setOtherwork(otherWork); debriefingYear.setWinaward(winAward); debriefingYear.setSummary(summary); Long flag = teacherService.selectYearDebriefingFlag(teacher.getId(), Long.parseLong(year)); if (flag == 1) { teacherService.updateYearDebriefing(debriefingYear); } else { int i = teacherService.insertYearDebriefing(debriefingYear); } return Msg.success(); } //查询年度述职中年份 @GetMapping("/select_debriefing_year") @ResponseBody public Msg fun11() { List list = teacherService.selectDebriefingByYear(); // 把年份排序 Collections.sort(list, new Comparator() { @Override public int compare(DebriefingYear o1, DebriefingYear o2) { return (int) (o2.getYear() - o1.getYear()); } }); return Msg.success().add("year", list); } //查询指定年份的年度述职信息 @GetMapping("/select_debriefing_year_info") @ResponseBody public Msg fun12(Long year, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); DebriefingYearWithBLOBs debriefingYear = teacherService.selectYearDebriefingInfo(teacher.getId(), year); return Msg.success().add("debriefingInfo", debriefingYear); } //查询学期述职中年份 @GetMapping("select_debriefing_term") @ResponseBody public Msg fun13() { List list = teacherService.selectDebriefingTermByYear(); List temp = new ArrayList<>(); //去除重复的年份 for (Debriefing s : list) { if (!temp.contains(s.getYear())) { temp.add(s.getYear()); } } return Msg.success().add("year", temp); } //查询指定年份的学期述职信息 @GetMapping("/select_debriefing_term_info") @ResponseBody public Msg fun14(Long year, String term, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); DebriefingWithBLOBs debriefing = teacherService.selectTermDebriefingInfo(teacher.getId(), year, term); return Msg.success().add("debriefingInfo", debriefing); } //年度考核 @PostMapping("/upload_annual_assessment") @ResponseBody public Msg fun15(String personalSummary, String year, String remark, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); AnnualAssessmentWithBLOBs assessment = new AnnualAssessmentWithBLOBs(); assessment.setIdTeacher(teacher.getId()); assessment.setPersonalsummary(personalSummary); assessment.setYear(year); assessment.setRemark(remark); Long flag = teacherService.selectAnnualAssessmentFlag(teacher.getId(), year); if (flag == 1) { int i = teacherService.updateAnnualAssessment(assessment); } else { int i = teacherService.insertAnnualAssessment(assessment); } return Msg.success(); } //年度专业技术人员考核表 @PostMapping("/upload_technical_personnel") @ResponseBody public Msg fun16(String year, String mainAchievements, String attendance, String rewardsAndPunishments, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); TechnicalPersonnelWithBLOBs technicalPersonnelWithBLOBs = new TechnicalPersonnelWithBLOBs(); technicalPersonnelWithBLOBs.setIdTeacher(teacher.getId()); technicalPersonnelWithBLOBs.setYear(year); technicalPersonnelWithBLOBs.setMainachievements(mainAchievements); technicalPersonnelWithBLOBs.setAttendance(attendance); technicalPersonnelWithBLOBs.setRewardsandpunishments(rewardsAndPunishments); Long flag = teacherService.selectTechnicalPersonnelFlag(teacher.getId(), Long.parseLong(year)); if (flag == 1) { int i = teacherService.updateTechnicalPersonnel(technicalPersonnelWithBLOBs); } else { int i = teacherService.insertTechnicalPersonnel(technicalPersonnelWithBLOBs); } return Msg.success(); } //查询年度考核年份 @GetMapping("/select_annual_assessment") @ResponseBody public Msg fun17(HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); List list = teacherService.selectAnnualAssessmentByYear(teacher.getId()); if (list.isEmpty()) { return Msg.fail(); } else { return Msg.success().add("year", list); } } //查询指定年度考核信息 @GetMapping("/select_annualassessment_year_info") @ResponseBody public Msg fun18(Long year, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); AnnualAssessmentWithBLOBs assessment = teacherService.selectAnnualAssessmentInfo(teacher.getId(), year); return Msg.success().add("assessmentInfo", assessment); } //查询度专业技术人员考核表年份 @GetMapping("/select_technical_personnel_year") @ResponseBody public Msg fun18(HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); List list = teacherService.selectTechnicalPersonnelByYear(teacher.getId()); if (list.isEmpty()) { return Msg.fail(); } else { return Msg.success().add("year", list); } } //查询度专业技术人员考核表信息 @GetMapping("/select_technicalpersonnel_year_info") @ResponseBody public Msg fun19(Long year, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); TechnicalPersonnelWithBLOBs technicalPersonnelWithBLOBs = teacherService.selectTechnicalPersonnelInfo(teacher.getId(), year); return Msg.success().add("technicalPersonnel", technicalPersonnelWithBLOBs); } // 毕业设计内容 // 加载上传课题页面 @GetMapping("/upload_topic_page") public String uploadTopic(ModelMap modelMap, HttpSession httpSession) { TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo"); List projecttypes = teacherService.select_allProjecttype(); List projectsources = teacherService.select_allProjectsource(); List specialties = teacherService.select_allSpecialty(teacher.getIdSection()); modelMap.addAttribute("projecttypes", projecttypes); modelMap.addAttribute("projectsources", projectsources); modelMap.addAttribute("specialties", specialties); return "teacher/graduation/upload"; } // 上传课题 @PostMapping("/up_project") @ResponseBody public Msg fun20(String projectName, Long idProjecttype, Long idProjectsource, String marchspecialty, String teachernames, @RequestParam("file") MultipartFile file, HttpServletRequest request, HttpSession httpSession) throws IOException { if (file == null) { return Msg.fail().add("msg","文件上传失败"); } if(teacherService.selectProjectByName(projectName).size()>0){ System.out.println("上传失败"); return Msg.fail().add("msg","课题名已存在"); } Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); ServletContext servletContext = request.getSession().getServletContext(); String uploadFileName = file.getOriginalFilename(); // 获取上传文件的原名 System.out.println(uploadFileName); uploadFileName = uploadFileName.substring(uploadFileName.lastIndexOf(File.separator) + 1); System.out.println(uploadFileName); File path = new File(ResourceUtils.getURL("target").getPath()); String savePath = path.getAbsolutePath() + File.separator+"classes+"+File.separator+"static" +File.separator+"model"+File.separator + teacher.getId(); String saveFileName = savePath +File.separator + uploadFileName; File dirs = new File(savePath); //判断路径是否存在,如果不存在就创建一个 if (!dirs.exists()) { dirs.mkdirs(); } file.transferTo(new File(dirs, uploadFileName)); // 开始接受文件 System.out.println(teachernames); ProjectWithBLOBs project = new ProjectWithBLOBs(); project.setProjectname(projectName); project.setIdProjecttype(idProjecttype); project.setIdProjectsource(idProjectsource); project.setIdTeacher(teacher.getId()); project.setFilepath(saveFileName); project.setMarchspecialty(marchspecialty.trim()); project.setTeachernames(teachernames); project.setSelectcount(0); project.setSelectFlag(0); project.setVerifyprojectFlag(0); project.setReleaseFlag(0); int i = teacherService.insert_project(project); return Msg.success(); } //查看自己的课题发布记录 @GetMapping("/cxmyProject") public String fun21(ModelMap modelMap, HttpSession httpSession) { TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo"); List projecttypes = teacherService.select_allProjecttype(); List projectsources = teacherService.select_allProjectsource(); List specialties = teacherService.select_allSpecialty(teacher.getIdSection()); modelMap.addAttribute("projecttypes", projecttypes); modelMap.addAttribute("projectsources", projectsources); modelMap.addAttribute("specialties", specialties); List projects = teacherService.selectTeacherProject(teacher.getName()); for (int i = 0; i < projects.size(); i++) { if (projects.get(i).getVerifyprojectFlag() == 0) projects.get(i).setProjectZT("未审核"); else if (projects.get(i).getVerifyprojectFlag() == 1) projects.get(i).setProjectZT("审核未通过"); else projects.get(i).setProjectZT("审核通过"); } modelMap.addAttribute("Myproject", projects); return "teacher/graduation/section_xq/index"; } // 发布或取消发布已审核通过的课题 @PostMapping("/fb_project") @ResponseBody public String fun8(Long project_id, String pd,HttpSession httpSession) { int s = Integer.parseInt(pd); teacherService.updateProjectFB(project_id, s); if (s == 0) { teacherService.deleteSelectedAll(project_id); teacherService.updateProjectCount(project_id); } Map map = new HashMap(); map.put("pd", "" + 1); return JSONObject.toJSONString(map); } @PostMapping("del_project") @ResponseBody public Msg deleteProject(Long id) { teacherService.deleteProject(id); return Msg.success(); } @PostMapping("/updateSubject") @ResponseBody public Msg updateProject(Long id, String projectName, Long idProjecttype, Long idProjectsource, String marchspecialty, String teachernames, @RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, HttpSession httpSession) throws IOException { //拼接 teacherNames 字段 TeacherWithBLOBs teacher = (TeacherWithBLOBs) request.getSession().getAttribute("teacherInfo"); String teacherName = teacher.getName(); if (teachernames == null || teachernames.trim().length() == 0) { teachernames = teacherName; } else { teachernames = teacherName + "&" + teachernames; } SubjectWithBLOBs subject = null; //文件大小 为 0 则表示 文件没上传 long size = file.getSize(); //不更新课题文件情况 if (file == null || size == 0) { subject = new SubjectWithBLOBs(); subject.setId(id); subject.setProjectname(projectName); subject.setIdProjecttype(idProjecttype); subject.setIdProjectsource(idProjectsource); subject.setMarchspecialty(marchspecialty); subject.setTeachernames(teachernames); //修改后状态置 0 subject.setSelectFlag(0); subject.setVerifyprojectFlag(0); subject.setReleaseFlag(0); subjectService.updateSubjectByid(subject); return Msg.success(); } else { //获取课题 SubjectWithBLOBs subject1 = subjectService.getSubjectByID(id); //获取课题路径 String oldPath = subject1.getFilepath(); File oldFile = new File(oldPath); //如果文件存在则删除 if (oldFile.exists()) { //删除成功 if (oldFile.delete()) { } else { return Msg.fail(); } } ServletContext servletContext = request.getSession().getServletContext(); String uploadFileName = file.getOriginalFilename(); // 获取上传文件的原名 uploadFileName = uploadFileName.substring(uploadFileName.lastIndexOf(File.separator) + 1); File path = new File(ResourceUtils.getURL("target").getPath());// String savePath = path.getAbsolutePath() + "\\classes\\static\\model\\" + teacher.getId();// String saveFileName = savePath + "\\" + uploadFileName; String savePath = path.getAbsolutePath() + File.separator+"classes+"+File.separator+"static" +File.separator+"model"+File.separator + teacher.getId(); String saveFileName = savePath +File.separator + uploadFileName; File dirs = new File(savePath); //判断路径是否存在,如果不存在就创建一个 if (!dirs.exists()) { dirs.mkdirs(); } file.transferTo(new File(dirs, uploadFileName)); // 开始接受文件 SubjectWithBLOBs project = subject1; project.setProjectname(projectName); project.setIdProjecttype(idProjecttype); project.setIdProjectsource(idProjectsource); project.setFilepath(saveFileName); project.setMarchspecialty(marchspecialty.trim()); project.setTeachernames(teachernames); //修改后状态置 0 project.setSelectFlag(0); project.setVerifyprojectFlag(0); project.setReleaseFlag(0); int i = subjectService.updateSubjectByid(project); return Msg.success(); } } @GetMapping("/getSubjectById") @ResponseBody public Msg getss(Long id) { SubjectWithBLOBs subject = subjectService.getSubjectByID(id); System.out.println(subject); subject.setFilepath(subject.getFilepath().substring(subject.getFilepath().lastIndexOf("\\") + 1)); String[] teachers = subject.getTeachernames().split("&"); String teacher2 = ""; if (teachers.length >= 2) { teacher2 = teachers[teachers.length - 1]; } subject.setTeachernames(teacher2); return Msg.success() .add("subject", subject) ; } //查看自己所在教研室的课题发布记录 @GetMapping("/cxallProject") public String fun7(ModelMap modelMap, HttpSession httpSession) { Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo"); List projects = teacherService.selecSectionProject(teacher.getSectionName()); for (int i = 0; i < projects.size(); i++) { if (projects.get(i).getVerifyprojectFlag() == 0) projects.get(i).setProjectZT("未审核"); else if (projects.get(i).getVerifyprojectFlag() == 1) projects.get(i).setProjectZT("审核未通过"); else projects.get(i).setProjectZT("审核通过"); } modelMap.addAttribute("allproject", projects); return "teacher/graduation/section_xq/subjectinfoto"; }} 登录控制层
@Controllerpublic class LoginController { private static final Logger LOGGER = LoggerFactory.getLogger(LoginController.class); @Autowired AdminService adminService; @GetMapping("/cs") public String cs() { return "cs"; } @GetMapping("/login") public String login() { return "login"; } @PostMapping("/login") @ResponseBody public Msg login(String name, String pwd, HttpSession httpSession) { name = name.trim();// LOGGER.info("{}--{}",name,pwd); return adminService.login(name, pwd, httpSession); }}管理员控制层
@Authority(roles = {Role.ADMIN, Role.SADMIN})@Controller@RequestMapping("/admin")public class AdminController { private static final Logger LOGGER = LoggerFactory.getLogger(AdminController.class); @Autowired AdminService adminService; @Autowired AdminMapper adminMapper; @Autowired CollegeService collegeService; @Autowired SectionService sectionService; @Autowired SpecialtyService specialtyService; @Autowired ClassService classService; @Autowired TeacherService teacherService; @Autowired StudentService studentService; @Autowired SubjectService subjectService; @Autowired ExcelService excelService; @Autowired SubjectRelationStudentMapper subjectRelationStudentMapper; @Autowired HttpServletRequest request; @Autowired HttpServletResponse response; @Autowired HttpSession session; @ModelAttribute("id_institute") public long getRoleInfo() { User user = (User) request.getAttribute("user");// LOGGER.info("USER:{}",user); if (user != null) { if (user.getRole().equals("admin")) { Institute institute = collegeService.selectCollege(adminMapper.selectByPrimaryKey(user.getId()).getIdInstitute()); return institute.getId(); } if (user.getRole().equals("sadmin")) { return -1; } return 0; } else { return 0; } } // admin index page 子管首页 @GetMapping(value = {"", "/index"}) public String index() { User user = (User) request.getAttribute("user");// LOGGER.info("index user:{}",user); //这部分还是用了session存储部分信息 后续可能修改 //根据 user的id 判断 渲染页面 if (user.getId() == -1) { LOGGER.info("超级管理员登录"); session.setAttribute("instituteName", "超级管理员"); session.setAttribute("ROLE", "sadmin"); session.setAttribute("username", user.getUserName()); return "admin/public-admin-index"; } Institute institute = collegeService.selectCollege(adminMapper.selectByPrimaryKey(user.getId()).getIdInstitute()); System.out.println(institute.getInstituteName()); session.setAttribute("instituteName", institute.getInstituteName()); session.setAttribute("ROLE", "admin"); session.setAttribute("username", user.getUserName()); return "admin/public-admin-index"; } // exit 退出登录 @GetMapping("/exit") public String exit(HttpSession httpSession) { //将Cookie 中的token 置空 Cookie cookie = new Cookie("token", null); cookie.setPath("/"); response.addCookie(cookie); return "login"; }// login 在单独Controller // updatePwd 更新密码 @GetMapping("/updatePwd") public String updatePwd() { return "admin/updatePwd"; } @PostMapping("/updatePwd") @ResponseBody public Msg updatePwd( @RequestBody Admin admin, HttpSession httpSession) { User user = (User) request.getAttribute("user"); adminService.updatePwdByUserName( user.getUserName(), admin.getPwd() ); return Msg.success(); } // 教研室 @GetMapping("/SectionManagement") public String section() { return "admin/Department/SectionManagement"; } @GetMapping("/sections") @ResponseBody public Msg getSections(@ModelAttribute("id_institute") long id_institute) { return Msg.success().add("sections", sectionService.getSections(id_institute)); } @DeleteMapping("/section") @ResponseBody public Msg delSection(@RequestBody Section section) { return Msg.sqlChange((int) sectionService.delSection(section)); } @PutMapping("/section") @ResponseBody public Msg updateSection(@RequestBody @Validated Section section, @ModelAttribute("id_institute") long id_institute) throws MyException { return Msg.sqlChange((int) sectionService.updateSection(section, section.getSectionName(), id_institute)); } @PostMapping("/section") @ResponseBody public Msg addSection(@RequestBody @Validated Section section, @ModelAttribute("id_institute") long id_institute) { return Msg.sqlChange((int) sectionService.addSection(section, id_institute)); } // 专业方向 @GetMapping("/SpecialtyManagement") public String specialty() { return "admin/Department/SpecialtyManagement"; } @GetMapping("/specialtys") @ResponseBody public Msg getSpecialtys( @RequestParam Integer offset, @RequestParam(required = false) Long sectionId, @RequestParam(required = false) String keyWord, @ModelAttribute("id_institute") long id_institute) { long total = specialtyService.getSpecialtyCount(offset, keyWord, sectionId, id_institute); return Msg.success() .add("specialtys", specialtyService.getSpecialtys(offset, keyWord, sectionId, id_institute)) .add("total", total); } @ResponseBody @DeleteMapping("/specialty") public Msg delSpecialty( @RequestBody Specialty specialty, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) specialtyService.delSpecialty(specialty, id_institute)); } @ResponseBody @PutMapping("/specialty") public Msg putSpecialty( @RequestBody @Validated({Update.class}) Specialty specialty, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) specialtyService.putSpecialty(specialty, id_institute)); } @ResponseBody @PostMapping("/specialty") public Msg postSpecialty( @RequestBody @Validated({Add.class}) Specialty specialty, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) specialtyService.postSpecialty(specialty, id_institute)); } // 班级 @GetMapping("/ClassManagement") public String Class() { return "admin/Department/ClassManagement";// //获取管理员的 学院id// public static Long getIdInstitute(ModelMap modelMap) {// Subadmin subadmin = (Subadmin) modelMap.get("admin");// return subadmin.getIdInstitute();// } } @ResponseBody @GetMapping("/classes") public Msg getClasses( @RequestParam("offset") Integer offset, @RequestParam(required = false) Long specialtyId, @RequestParam(required = false) String keyWord, @ModelAttribute("id_institute") long id_institute) { long total = classService.getClassesCount(offset, keyWord, specialtyId, id_institute); return Msg.success() .add("classes", classService.getClasses(offset, keyWord, specialtyId, id_institute)) .add("total", total); } @ResponseBody @DeleteMapping("/class") public Msg delClass( @RequestBody MyClass myClass, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) classService.delClass(myClass, id_institute)); } @ResponseBody @PutMapping("/class") public Msg putClass( @RequestBody @Validated({One.class}) MyClass myClass, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) classService.putClass(myClass, id_institute)); } @ResponseBody @PostMapping("/class") public Msg postClass( @RequestBody @Validated({One.class}) MyClass myClass, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) classService.postClass(myClass, id_institute)); } // 课题综合管理 @GetMapping("/SourceManagement") public String source() { return "admin/Subject/SourceManagement"; } @ResponseBody @GetMapping("/sources") public Msg getSources() { return Msg.success().add("sources", subjectService.selectSubjectSources()); } @ResponseBody @PostMapping("/source") public Msg addSource(@RequestBody @Validated SubjectSource source) throws MyException { return Msg.sqlChange((int) subjectService.insertSubjectSource(source.getSourcename())); } @ResponseBody @DeleteMapping("/source") public Msg delSource(@RequestBody SubjectSource source) throws MyException { return Msg.sqlChange(subjectService.delSubjectSource(source.getId())); } @ResponseBody @PutMapping("/source") public Msg updateSource(@RequestBody @Validated SubjectSource source) { return Msg.sqlChange(subjectService.updateSubjectSource(source)); } //课题类型 @GetMapping("/TypeManagement") public String subjectType() { return "admin/Subject/TypeManagement"; } @ResponseBody @GetMapping("/sujecttypes") public Msg getType() { return Msg.success().add("sujecttypes", subjectService.selectSubjectTypes()); } @ResponseBody @PostMapping("/sujecttype") public Msg addType(@RequestBody @Validated SubjectType type) throws MyException { return Msg.sqlChange((int) subjectService.insertSubjectType(type.getTypename())); } @ResponseBody @DeleteMapping("/sujecttype") public Msg delType(@RequestBody SubjectType type) throws MyException { return Msg.sqlChange(subjectService.delSubjectType(type.getId())); } @ResponseBody @PutMapping("/sujecttype") public Msg updateType(@RequestBody @Validated SubjectType type) { return Msg.sqlChange(subjectService.updateSubjectType(type)); } //课题管理 @GetMapping("/SubjectManagement") public String Subject() { return "admin/Subject/SubjectManagement"; } @ResponseBody @GetMapping("/subjects") public Msg getSubjects( @RequestParam Integer offset, @RequestParam(required = false) Long sectionId, @RequestParam(required = false) String keyWord, @ModelAttribute("id_institute") long id_institute) { long total = subjectService.selectSubjectsCount(offset, keyWord, sectionId, id_institute); return Msg.success() .add("subjects", subjectService.selectSubjects(offset, keyWord, sectionId, id_institute)) .add("total", total); } @ResponseBody @PostMapping("/subject") public Msg addSubject( @RequestBody @Validated(Add.class) SubjectWithBLOBs subject, @ModelAttribute("id_institute") long id_institute) throws MyException { return Msg.sqlChange((int) subjectService.insertSubject(subject, id_institute)); } @ResponseBody @DeleteMapping("/subject") public Msg delSubject( @RequestBody SubjectWithBLOBs subject, @ModelAttribute("id_institute") long id_institute) throws MyException { return Msg.sqlChange(subjectService.delSubject(subject, id_institute)); } @ResponseBody @PutMapping("/subject") public Msg updateSubject( @RequestBody @Validated(Update.class) SubjectWithBLOBs subject, @ModelAttribute("id_institute") long id_institute) throws MyException { return Msg.sqlChange(subjectService.updateSuject(subject, id_institute)); } //get学生选题的状态 @GetMapping("/SRS") @ResponseBody public Msg getSelectSubjected( @ModelAttribute("id_institute") long id_institute ) { System.out.println(subjectService.getSelectSubjected(null, id_institute)); return Msg.success().add("SRS", subjectService.getSelectSubjected(null, id_institute)); } //get 选某个课题的所有学生 @GetMapping("/studentsBySubject") @ResponseBody public Msg getStuentBySubject( @RequestParam("id") Long id, @ModelAttribute("id_institute") long id_institute ) { return subjectService.getStuentBySubject(id, id_institute); } // 教师管理 增删改查 @GetMapping("/TeacherManagement") public String teacher() { return "admin/BasicInfo/TeacherManagement"; } @ResponseBody @GetMapping("/teachers") public Msg getTeachers( @RequestParam Integer offset, @RequestParam(required = false) Long sectionId, @RequestParam(required = false) String keyWord, @ModelAttribute("id_institute") long id_institute) { long total = teacherService.selectTeachersCount(offset, keyWord, sectionId, id_institute); return Msg.success() .add("teachers", teacherService.selectTeachers(offset, keyWord, sectionId, id_institute)) .add("total", total); } @ResponseBody @DeleteMapping("/teacher") public Msg delTeacher( @RequestBody TeacherWithBLOBs teacher, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) teacherService.delTeacher(teacher, id_institute)); } @ResponseBody @PostMapping("/teacher") public Msg addTeacher( @RequestBody @Validated(Add.class) TeacherWithBLOBs teacher, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) teacherService.addTeacher(teacher, id_institute)); } @ResponseBody @PutMapping("/teacher") public Msg updateTeacher( @RequestBody @Validated({Update.class}) TeacherWithBLOBs teacher, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) teacherService.updateTeacher(teacher, id_institute)); } //教师批量教师导入 @PostMapping("/TeacherExcel") @ResponseBody public Msg addTeacherExcel( @RequestParam("excel") MultipartFile excelFile, @ModelAttribute("id_institute") long id_institute ) throws MyException, IOException { return excelService.teacherExcelImport(excelFile, id_institute); } //教师批量导入模板 @GetMapping("/TeacherExcelDemo") public void getTeacherExcelDemo(HttpServletResponse response) throws IOException { excelService.teacherExcelDownload(response); } // 学生管理 @GetMapping("/StudentManagement") public String student() { return "admin/BasicInfo/StudentManagement"; } @ResponseBody @GetMapping("/students") public Msg getStudents( @RequestParam Integer offset, @RequestParam(required = false) Long classId, @RequestParam(required = false) Long specialtyId, @RequestParam(required = false) String keyWord, @ModelAttribute("id_institute") long id_institute ) throws MyException { long total = studentService.selectStudentsCount(offset, keyWord, classId, specialtyId, id_institute); return Msg.success() .add("students", studentService.selectStudents(offset, keyWord, classId, specialtyId, id_institute)) .add("total", total); } @ResponseBody @DeleteMapping("/student") public Msg delStudent( @RequestBody StudentWithBLOBs student, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) studentService.delStudent(student, id_institute)); } @ResponseBody @PostMapping("/student") public Msg addStudent( @RequestBody @Validated(Add.class) StudentWithBLOBs student, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) studentService.addStudent(student, id_institute)); } @ResponseBody @PutMapping("/student") public Msg updateStudent( @RequestBody @Validated({Update.class}) StudentWithBLOBs student, @ModelAttribute("id_institute") long id_institute ) throws MyException { return Msg.sqlChange((int) studentService.updateStudent(student, id_institute)); } // 批量导入模板 @GetMapping("/StudentExcelDemo") public void getStudentExcelDemo(HttpServletResponse response) throws IOException { excelService.studentExcelDownload(response); } //批量学生导入 @PostMapping("/StudentExcel") @ResponseBody public Msg addStudentExcel( @RequestParam("excel") MultipartFile excelFile, @ModelAttribute("id_institute") long id_institute ) throws MyException, IOException { return excelService.studentExcelImport(excelFile, id_institute); } // 生成一览表 //课题一览表 @GetMapping("/SubjectExcel") public void getSubjectExcel( HttpServletResponse response, HttpServletRequest request, @ModelAttribute("id_institute") long id_institute) throws IOException { excelService.subjectExcelDownload(response, request, id_institute); } }关于java+SpringBoot是如何设计实现评教系统就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
管理
教师
文件
课题
查询
信息
学生
年份
年度
管理员
页面
考核
路径
评教
专业
功能
设计
人员
内容
原名
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
英雄联盟全球服务器与国服服务器
联想服务器进管理口地址
网络技术与通信的读书报告
软件开发失败是怎么回事
服务器域名网站源码
数据库中count 1)
415网络安全教育日简报
ml服务器是什么意思
郑州医院服务器解决方案
小程序服务器繁忙登不上怎么办
电网 网络安全 监控系统
oracle数据库性能调优
爱房网络技术
清除数据库的数据库
三级网络技术考试上机
远程应用程序服务器
为什么网络安全还是重要
朋友圈内容保存在微信服务器吗
启梵互联网科技ty
三调的数据库标准
亚控软件开发笔试
江宁软件开发
足球规则中的数据库
轻量级服务器管理
自主软件开发实施条件
了解计算机网络技术应用
软件开发质量改进措施
山东计算机网络技术大赛
管家婆财务软件开发
电网 实时数据库应用