java+SpringBoot是如何设计实现评教系统
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章将为大家详细讲解有关java+SpringBoot是如何设计实现评教系统,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。主要功能共有三个角色:管
千家信息网最后更新 2025年02月09日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"); Listlist = 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安全错误
数据库的锁怎样保障安全
经纶世纪医疗网络技术官网
网络安全管理员和网络管理员
手机数据库应用开发
lol晚上几点关闭服务器
网络安全和文明手抄报
服务器防护app
mysql数据库双主缺点
北邮网络安全第一
服务器管理需要具备什么能力
怎么基于数据库
数据库设计不足事故案例
网络安全技术考证
java工程连接数据库
网络安全威胁到哪些方面
基于web应用的网络安全
网络安全产业商会
证书服务器配置与管理在哪里
网络安全社团报名表怎么填写
广州市中智软件开发
国家网络安全信息管理办公室
山西临汾网络安全
深空之眼连接不上服务器
asp引擎无法获取服务器列表
数据库设计不足事故案例
2018 网络安全
基于web应用的网络安全
黑龙江iphone服务器租用
北控数据库
数据库与概率论的答案
互联网电影脚本数据库