java+SpringBoot是如何设计实现评教系统
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,这篇文章将为大家详细讲解有关java+SpringBoot是如何设计实现评教系统,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。主要功能共有三个角色:管
千家信息网最后更新 2025年02月16日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安全错误
数据库的锁怎样保障安全
超火科技互联网
军人手机网络安全发言稿
网络安全监管方式有哪些
2019河北网络安全
我的世界BD服务器
上海美东软件开发
cm3数据库
番禺高效网络安全运维
部队网络安全专题党日
数据库怎么改成gbk格式
医疗软件开发的上市公司
NJUPT网络技术与应用作业
数据库中修改表的结构怎么改
网络安全和自主可控
为什么快手登录不了服务器繁忙
电脑硬盘服务器打不开
数据库硬解析怎么改
打拐dna数据库在线查询
环保行业网络安全
山东泰安软件开发
建筑软件开发开发
服务器全部卡死
网络安全会泄露个人信息吗
芜湖通信软件开发要多少钱
无限流量卡怎么开不了数据库
盐城智能软件开发用途
济宁苹果软件开发服务公司
网络安全性进一步加强
查询数据库最大值指令
网络技术组织net