基于javaweb+mysql的springboot教务管理系统(java+springboot+thymeleaf+layui+html+mysql)

基于javaweb+mysql的springboot教务管理系统(java+springboot+thymeleaf+layui+html+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

基于javaweb+mysql的SpringBoot教务管理系统(java+springboot+thymeleaf+layui+html+mysql)

项目介绍

1.系统默认超级管理员账号为admin,默认密码为123456 系统配置:用户管理、角色管理、权限管理 默认已配置好基本数据:用户默认只有一个超级管理员,角色有三种:管理员、教师、学生,权限已按照角色分配完成。 2.系统建设 a.建设简介: 学校建设需要按照系部 > 专业 > 年级 > 班级的顺序进行建设。每项管理均提供精确/条件查询,可快速定位所需信息。 b.系部建设 c.专业建设 d.年级建设 3,课目建设 a.课目介绍 b.添加必修课目 c.添加选修课目 d.课目启动与暂停 4.教师管理 a.教师授课管理 b.录入教师 c.教师信息查询 5.学生管理: a,退学信息 b.录入学生 c.学生信息查询 6.成绩管理 a.学生成绩管理 b.教师成绩管理 7.校园新闻: a,新闻管理

b.发布新闻

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本;

6.是否Maven项目:是;

技术栈

  1. 后端:SpringBoot+Thymeleaf

  2. 前端:HTML+CSS+jQuery+LayUI

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

  2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

  1. 将项目中application.yml配置文件中的数据库配置改为自己的配置;注:要修改最下方profiles:dev相关的配置; 4. 运行项目,输入localhost:8080/home 登录 管理员账号/密码:admin/123456 教师账号/密码:2020001/123456 学生账号/密码:15020002/123456
    /**
     * 查询周
     */
    @RequestMapping("findallweeks")
    @ResponseBody
    public Object findAllWeeks(Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<WeeksDB> listAll = tchCourseService.findAllWeeks();
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> wData = new HashMap<String, Object>();
        wData.put("code", 0);
        wData.put("msg", "");
        wData.put("count", pageInfo.getTotal());
        wData.put("data", pageInfo.getList());
        return wData;
    }
    /**
     * 查询节段
     */
    @RequestMapping("findallschedule")
    @ResponseBody
    public Object findAllSchedule(Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<ScheduleDB> listAll = tchCourseService.findAllSchedule();
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> sData = new HashMap<String, Object>();
        sData.put("code", 0);
        sData.put("msg", "");
        sData.put("count", pageInfo.getTotal());
        sData.put("data", pageInfo.getList());
        return sData;
    }

    /**
     * 添加教师授课表记录并返回新数据id
     */

    @RequestMapping("addonetchcourse")
    @ResponseBody
    public Object addOneTchCourse(TchCourseVO tchCourseVO){
        int flag = tchCourseService.findTchCourseFlag(tchCourseVO);
        if(flag>0){
            }
        }

        String str = JSONObject.toJSONString(args);
        str = str.length() > 2000 ? str.substring(2000) : str;
        logger.info("params:======>" + str);

        if(session != null){
            logger.info("session id :======>" + session.getId());
        }

        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
        Method method = signature.getMethod();
        SysLog mylog = method.getAnnotation(com.nsapi.niceschoolapi.common.annotation.SysLog.class);
        if(mylog != null){
            //注解上的描述
            logger.info("mylog:======>" + mylog.value());
        }

        if(MySysUser.ShiroUser() != null) {
            String username = StringUtils.isNotBlank(MySysUser.nickName()) ? MySysUser.nickName() : MySysUser.loginName();
            logger.info("user:======>" + username);
        }
    }

    @Around("webLog()")
    public Object doAround(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
        try {
            Object obj = proceedingJoinPoint.proceed();
            return obj;
        } catch (Exception e) {
            logger.error("exception message :======>" + e.getMessage());
            throw e;
        }
    }

    @AfterReturning(returning = "ret", pointcut = "webLog()")
    public void doAfterReturning(Object ret) {
        if(MySysUser.ShiroUser() != null) {
            String username = StringUtils.isNotBlank(MySysUser.nickName()) ? MySysUser.nickName() : MySysUser.loginName();
            logger.info("user:======>" + username);
        }
        String retString = JSONObject.toJSONString(ret);
        retString = retString.length() > 2000 ? retString.substring(2000) : retString;
        logger.info("ret:======>" + retString);
        logger.info("useTime:======>" + (System.currentTimeMillis() - startTime.get()) + "");
    }
    }

    @RequestMapping("edit")
    public String edit(String id,ModelMap modelMap){
        Role role = roleService.getRoleById(id);
        String menuIds = null;
        if(role != null) {
            menuIds  = role.getMenuSet().stream().map(menu -> menu.getId()).collect(Collectors.joining(","));
        }
        Map<String,Object> map = new HashMap();
        map.put("parentId",null);
        map.put("isShow",Boolean.FALSE);
        List<Menu> menuList = menuService.selectAllMenus(map);
        modelMap.put("role",role);
        modelMap.put("menuList",menuList);
        modelMap.put("menuIds",menuIds);
        return "admin/role/edit";
    }

    @RequiresPermissions("sys:role:edit")
    @PostMapping("edit")
    @ResponseBody
    @SysLog("保存编辑角色数据")
    public ResponseEntity edit(@RequestBody Role role){
        if(StringUtils.isBlank(role.getId())){
            return ResponseEntity.failure("角色ID不能为空");
        }
        if(StringUtils.isBlank(role.getName())){
            return ResponseEntity.failure("角色名称不能为空");
        }
        Role oldRole = roleService.getRoleById(role.getId());
        if(!oldRole.getName().equals(role.getName())){
            if(roleService.getRoleNameCount(role.getName())>0){
                return ResponseEntity.failure("角色名称已存在");
            }
        }
        roleService.updateRole(role);
        return ResponseEntity.success("操作成功");
    }

    @RequiresPermissions("sys:role:delete")
    @PostMapping("delete")
    @ResponseBody
    @SysLog("删除角色数据")
    public ResponseEntity delete(@RequestParam(value = "id",required = false)String id){
        if(StringUtils.isBlank(id)){
            return ResponseEntity.failure("角色ID不能为空");
        }
        Role role = roleService.getRoleById(id);
        roleService.deleteRole(role);

@Controller
@RequestMapping("admin/system/menu")
public class MenuController {

    @Autowired
    MenuService menuService;

    @RequestMapping("list")
    @SysLog("跳转菜单列表")
    public String list(){
        return "admin/menu/list";
    }

    @RequiresPermissions("sys:menu:list")
    @RequestMapping("treeList")
    @ResponseBody
    public ResponseEntity treeList(){
        ResponseEntity responseEntity = ResponseEntity.success("操作成功");
        responseEntity.setAny("code",0);
        responseEntity.setAny("msg","");
        responseEntity.setAny("count","");
        HashMap map = new HashMap();
        map.put("del_flag",false);
        List<Menu> menus = menuService.selectAllMenuList(map);
        menus.forEach( menu -> {
            if(StringUtils.isBlank(menu.getParentId())) {
                menu.setParentId("-1");
            }
        });
        menus.sort(Comparator.comparing(Menu::getSort));
        return responseEntity.setAny("data",menus);
    }

    @RequestMapping("add")
    public String add(@RequestParam(value = "parentId",required = false) String parentId, ModelMap modelMap){
        if(parentId != null){
public class LogAspect {

    private Logger logger = LoggerFactory.getLogger(LogAspect.class);

    private ThreadLocal<Long> startTime = new ThreadLocal<>();

    @Pointcut("@annotation(com.nsapi.niceschoolapi.common.annotation.SysLog)")
    public void webLog(){}

    @Before("webLog()")
    public void doBefore(JoinPoint joinPoint) {
        startTime.set(System.currentTimeMillis());
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        HttpSession session = (HttpSession) attributes.resolveReference(RequestAttributes.REFERENCE_SESSION);
        logger.info("classMethod:======>" + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName());
        logger.info("method:======>" + request.getMethod());
        //获取传入目标方法的参数
        Object[] args = joinPoint.getArgs();
        for (int i = 0; i < args.length; i++) {
            Object o = args[i];
            if(o instanceof ServletRequest || (o instanceof ServletResponse) || o instanceof MultipartFile){
                args[i] = o.toString();
            }
        }

        String str = JSONObject.toJSONString(args);
        str = str.length() > 2000 ? str.substring(2000) : str;
        logger.info("params:======>" + str);

        if(session != null){
            logger.info("session id :======>" + session.getId());
        }

        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
        Method method = signature.getMethod();
        SysLog mylog = method.getAnnotation(com.nsapi.niceschoolapi.common.annotation.SysLog.class);
        if(mylog != null){
            //注解上的描述
            logger.info("mylog:======>" + mylog.value());
        }

        if(MySysUser.ShiroUser() != null) {
            String username = StringUtils.isNotBlank(MySysUser.nickName()) ? MySysUser.nickName() : MySysUser.loginName();
            logger.info("user:======>" + username);
        }
    }

    @Autowired
    MenuService menuService;

    public enum LoginTypeEnum {
        PAGE,ADMIN;
    }

//    @RequestMapping(value = "")
//    public String welcome() {
//        return "redirect:admin";
//    }

    @RequestMapping(value = {"admin","admin/index"})
    public String adminIndex(RedirectAttributes attributes, ModelMap map) {
        Subject s = SecurityUtils.getSubject();
        attributes.addFlashAttribute(LOGIN_TYPE, LoginTypeEnum.ADMIN);
        if(s.isAuthenticated()) {
            return "redirect:index";
        }
        return "redirect:toLogin";
    }

    @RequestMapping(value = "toLogin")
    public String adminToLogin(HttpSession session, @ModelAttribute(LOGIN_TYPE) String loginType) {
        if(StringUtils.isBlank(loginType)) {
            LoginTypeEnum attribute = (LoginTypeEnum) session.getAttribute(LOGIN_TYPE);
            loginType = attribute == null ? loginType : attribute.name();
        }

        if(LoginTypeEnum.ADMIN.name().equals(loginType)) {
            session.setAttribute(LOGIN_TYPE,LoginTypeEnum.ADMIN);
            return "admin/login";
        }else {
            session.setAttribute(LOGIN_TYPE,LoginTypeEnum.PAGE);
            return "login";
        }
    }

    @RequestMapping(value = "index")
    public String index(HttpSession session, @ModelAttribute(LOGIN_TYPE) String loginType) {
        if(StringUtils.isBlank(loginType)) {
            LoginTypeEnum attribute = (LoginTypeEnum) session.getAttribute(LOGIN_TYPE);
            loginType = attribute == null ? loginType : attribute.name();
        }
        if(LoginTypeEnum.ADMIN.name().equals(loginType)) {
            AuthRealm.ShiroUser principal = (AuthRealm.ShiroUser) SecurityUtils.getSubject().getPrincipal();
            session.setAttribute("icon",StringUtils.isBlank(principal.getIcon()) ? "/static/admin/img/face.jpg" : principal.getIcon());
            return "admin/index";
                user.login(token);
            }catch (IncorrectCredentialsException e) {
                errorMsg = "用户名或密码错误!";
            }catch (UnknownAccountException e) {
                errorMsg = "账户不存在!";
            }catch (LockedAccountException e) {
                errorMsg = "账户已被锁定!";
            }catch (UserTypeAccountException e) {
                errorMsg = "账户不是管理用户!";
            }
            if(StringUtils.isBlank(errorMsg)) {
                ResponseEntity responseEntity = new ResponseEntity();
                responseEntity.setSuccess(Boolean.TRUE);
                responseEntity.setAny("url","index");
                return responseEntity;
            }else {
                return ResponseEntity.failure(errorMsg);
            }
        }

    }

    @RequestMapping("admin/main")
    public String main(ModelMap map){
        return "admin/main";
    }

    /***
     * 获得用户所拥有的菜单列表
     * @return
     */
    @RequestMapping("/admin/user/getUserMenu")
    @ResponseBody
    public List<ShowMenuVo> getUserMenu(){
        String userId = MySysUser.id();
        List<ShowMenuVo> list = menuService.getShowMenuByUser(userId);
        return list;
    }
            return ResponseEntity.failure("角色名称已存在");
        }
        roleService.saveRole(role);
        return ResponseEntity.success("操作成功");
    }

    @RequestMapping("edit")
    public String edit(String id,ModelMap modelMap){
        Role role = roleService.getRoleById(id);
        String menuIds = null;
        if(role != null) {
            menuIds  = role.getMenuSet().stream().map(menu -> menu.getId()).collect(Collectors.joining(","));
        }
        Map<String,Object> map = new HashMap();
        map.put("parentId",null);
        map.put("isShow",Boolean.FALSE);
        List<Menu> menuList = menuService.selectAllMenus(map);
        modelMap.put("role",role);
        modelMap.put("menuList",menuList);
        modelMap.put("menuIds",menuIds);
        return "admin/role/edit";
    }

    @RequiresPermissions("sys:role:edit")
    @PostMapping("edit")
    @ResponseBody
    @SysLog("保存编辑角色数据")
    public ResponseEntity edit(@RequestBody Role role){
        if(StringUtils.isBlank(role.getId())){
            return ResponseEntity.failure("角色ID不能为空");
        }
        if(StringUtils.isBlank(role.getName())){
            return ResponseEntity.failure("角色名称不能为空");
        }
        Role oldRole = roleService.getRoleById(role.getId());
        if(!oldRole.getName().equals(role.getName())){
            if(roleService.getRoleNameCount(role.getName())>0){
                return ResponseEntity.failure("角色名称已存在");
            }
        }
        roleService.updateRole(role);
        return ResponseEntity.success("操作成功");
    }

    @RequiresPermissions("sys:role:delete")
    @PostMapping("delete")
    @ResponseBody
    @SysLog("删除角色数据")
    public ResponseEntity delete(@RequestParam(value = "id",required = false)String id){
        if(StringUtils.isBlank(id)){
            return ResponseEntity.failure("角色ID不能为空");

@Controller
public class courseController {
    @Autowired
    private com.nsapi.niceschoolapi.service.courselService courselService;

    @RequestMapping("selCou")
    public String selCourse(){
       // System.out.println("---------------------------------------------------------------------------------------------------------------");
        return "selCou";
    }
    @RequestMapping("sel")
    @ResponseBody
   public Object sel(Integer page, Integer limit, coursel coursel, String cname){

        coursel.setCname(cname);
        PageHelper.startPage(page, limit);
        List<com.nsapi.niceschoolapi.entity.coursel> cs = courselService.selCourse(coursel);

        PageInfo pageInfo = new PageInfo(cs);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        System.out.print(cs);
        return tableData;
    }

        SecurityUtils.getSubject().logout();
        return "redirect:home";
    }

}
package com.nsapi.niceschoolapi.controller;

@Transactional
@Controller
@RequestMapping("tchcoursemanage")
public class TchCourseController extends BaseController {
    @Autowired
    private TchCourseService tchCourseService;

    /**
     * 进入教师授课管理页面
     */
    @RequestMapping("tchcoursemanage")
    public String classmanage() {
        return "view/teacher/tchcoursemanage";
    }

/*******************************************************************查询*********************************************************************/

    /**
     * 查询全部教师
     */
    @RequestMapping("findalltch")
    @ResponseBody
    public LayuiResult<Map> selClassinfoDB(Integer gid){
        List<ClassinfoDB> classinfo = studentService.selClassinfoDB(gid);
        LayuiResult result = new LayuiResult();
        result.setData(classinfo);
        return result;
    }

    //  根据id查询一条学生信息以此进行修改
    @RequestMapping("/selStudentId")
    public String selStudentId(Integer id, Model model){
        //  查询学生信息
        List<StudentDB> stu = studentService.selStudentId(id);
        //  查询班级
        List<ClassinfoDB> cls = studentService.selClass();
        //  查询政治面貌表
        List<PoliticsTypeDB> stupol = studentService.selPolitics();
        model.addAttribute("stu",stu);
        model.addAttribute("cls",cls);
        model.addAttribute("stupol",stupol);
        return "view/student/updStudent";
    }

    //  根据id查询显示学生详细信息
    @RequestMapping("/selectMessage")
    public String selectMessage(Integer id, Model model){
        //  查询学生信息
        List<StudentDB> stu = studentService.selStudentId(id);
        //  查询班级
        List<ClassinfoDB> cls = studentService.selClass();
        //  查询政治面貌表
        List<PoliticsTypeDB> stupol = studentService.selPolitics();
        model.addAttribute("stu",stu);
        model.addAttribute("cls",cls);
        model.addAttribute("stupol",stupol);
        return "view/student/selStuExam";
    }

    //  修改用户信息
    @RequestMapping("/updateStudent")
    @ResponseBody
    public LayuiResult<StudentDB> updateStudent(StudentDB studentDB, String birthday) throws Exception{
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date date=format.parse(birthday);
        studentDB.setSbirthday(date);
        studentService.updateStudent(studentDB);
        LayuiResult result= new LayuiResult();
        //删除提示
        result.setMsg("修改成功!");
        return result;
    }

    /**
     * 查询周
     */
    @RequestMapping("findallweeks")
    @ResponseBody
    public Object findAllWeeks(Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<WeeksDB> listAll = tchCourseService.findAllWeeks();
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> wData = new HashMap<String, Object>();
        wData.put("code", 0);
        wData.put("msg", "");
        wData.put("count", pageInfo.getTotal());
        wData.put("data", pageInfo.getList());
        return wData;
    }
    /**
     * 查询节段
     */
    @RequestMapping("findallschedule")
    @ResponseBody
    public Object findAllSchedule(Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<ScheduleDB> listAll = tchCourseService.findAllSchedule();
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> sData = new HashMap<String, Object>();
        sData.put("code", 0);
        sData.put("msg", "");
        sData.put("count", pageInfo.getTotal());
        sData.put("data", pageInfo.getList());
        return sData;
    }

    /**
     * 添加教师授课表记录并返回新数据id
     */

    @RequestMapping("addonetchcourse")
    @ResponseBody
    public Object addOneTchCourse(TchCourseVO tchCourseVO){
        int flag = tchCourseService.findTchCourseFlag(tchCourseVO);
        if(flag>0){
            return false;
        }else{
            int d = tchCourseService.findTchCourseDanger(tchCourseVO);
            if (d>0){
                return false;
            }else {
                int r = tchCourseService.addOneTchCourse(tchCourseVO);
                if(r>0){
                    int r2 = tchCourseService.addOneTchClass(tchCourseVO);

@Controller
public class StuExamController {
    @Autowired
    private StudentExamService studentExamService;
    @RequestMapping("selstudentExam")
    public String selCourses(){
        return "StudentExam";
    }
    @RequestMapping("selScs")
    @ResponseBody
    public Object selSc(Integer page, Integer limit, StuExamVO stuExamVO){
        stuExamVO.setTid(Integer.valueOf(MySysUser.loginName()));
        PageHelper.startPage(page, limit);
        List<StuExamVO> stuCourseVOS = studentExamService.selScs(stuExamVO);
        PageInfo pageInfo = new PageInfo(stuCourseVOS);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        // System.out.print(cs);
        return tableData;
    }

    //下面是下拉框
    @RequestMapping("selDes")
        }
    }

    /**
     * 获取班级列表
     */
    @RequestMapping("findallclass")
    @ResponseBody
    public Object findAllClass(SchoolManageVO schoolManageVO, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<SchoolManageVO> listAll = schoolManageService.findAllClass(schoolManageVO);
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> classData = new HashMap<String, Object>();
        classData.put("code", 0);
        classData.put("msg", "");
        classData.put("count", pageInfo.getTotal());
        classData.put("data", pageInfo.getList());
        return classData;
    }

    /**
     * 级联获取年级列表
     */
    @RequestMapping("jlselgrade")
    @ResponseBody
    public Object jlSelGrade(SchoolManageVO schoolManageVO, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<SchoolManageVO> listAll = schoolManageService.jlSelGrade(schoolManageVO);
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> jlgradeData = new HashMap<String, Object>();
        jlgradeData.put("code", 0);
        jlgradeData.put("msg", "");
        jlgradeData.put("count", pageInfo.getTotal());
        jlgradeData.put("data", pageInfo.getList());
        return jlgradeData;
    }

    /**

@Controller
public class LonginController {

    private final static Logger LOGGER = LoggerFactory.getLogger(LonginController.class);

    public final static String LOGIN_TYPE = "loginType";

    @Autowired
    @Qualifier("captchaProducer")
    DefaultKaptcha captchaProducer;

    @Autowired
    UserService userService;

    @Autowired
    MenuService menuService;

    public enum LoginTypeEnum {
        PAGE,ADMIN;
    }

//    @RequestMapping(value = "")
//    public String welcome() {
//        return "redirect:admin";
//    }

    @RequestMapping(value = {"admin","admin/index"})
    public String adminIndex(RedirectAttributes attributes, ModelMap map) {
        Subject s = SecurityUtils.getSubject();
        attributes.addFlashAttribute(LOGIN_TYPE, LoginTypeEnum.ADMIN);
        if(s.isAuthenticated()) {
            return "redirect:index";
        }
        return "redirect:toLogin";
    }

     */
    public static class ShiroUser implements Serializable {

        private static final long serialVersionUID = -1373760761780840081L;

        public String id;
        public String loginName;
        public String nickName;
        public String icon;

        public ShiroUser(String id, String loginName, String nickName,String icon) {
            this.id = id;
            this.loginName = loginName;
            this.nickName = nickName;
            this.icon=icon;
        }

        public String getloginName() {
            return loginName;
        }
        public String getNickName() {
            return nickName;
        }
        public String getIcon() {
            return icon;
        }
        public String getId() {
            return id;
        }

        /**
         * 本函数输出将作为默认的<shiro:principal/>输出.
         */
        @Override
        public String toString() {
            return nickName;
        }

        /**

@Controller
public class SelCourseManController {
    @Autowired
    private SelCourseManageService selCourseManageService;

    @RequestMapping("selCourses")
    public String selCourses(){
        System.out.println("----------------------");
        return "SelCourseMan";
    }
    @RequestMapping("selSc")
    @ResponseBody
    public Object selSc(Integer page, Integer limit, StuCourseVO stuCourseVO){
        System.out.println(stuCourseVO.getSname());
        PageHelper.startPage(page, limit);
        List<StuCourseVO> stuCourseVOS = selCourseManageService.selSc(stuCourseVO);
        PageInfo pageInfo = new PageInfo(stuCourseVOS);
        Map<String, Object> tableData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        tableData.put("data", pageInfo.getList());
        // System.out.print(cs);
        return tableData;
    }

    //下面是下拉框
    @RequestMapping("selDe")
    @ResponseBody
    public Object selDe(){
        List<DepartmentDB> departmentDBS = selCourseManageService.selDe();
        //System.out.println(departmentDBS);
        return departmentDBS;
    }
    @RequestMapping("selMa")
        //小程序修改密码
        if(StringUtils.isBlank(userName)){
            //PC修改密码
            User user = userService.findUserById(MySysUser.id());

            byte[] hashPassword = Encodes.sha1(oldPwd.getBytes(), Encodes.SHA1, Encodes.decodeHex(user.getSalt()), Constants.HASH_INTERATIONS);
            String password = Encodes.encodeHex(hashPassword);

            if(!user.getPassword().equals(password)){
                return ResponseEntity.failure("旧密码错误");
            }
            user.setPassword(newPwd);
            Encodes.entryptPassword(user);
            userService.updateById(user);
            return ResponseEntity.success("操作成功");
        }else {
            //小程序修改密码
            User user = userService.findUserByLoginName(userName);

            byte[] hashPassword = Encodes.sha1(oldPwd.getBytes(), Encodes.SHA1, Encodes.decodeHex(user.getSalt()), Constants.HASH_INTERATIONS);
            String password = Encodes.encodeHex(hashPassword);

            if(!user.getPassword().equals(password)){
                return ResponseEntity.failure("旧密码错误");
            }
            user.setPassword(newPwd);
            Encodes.entryptPassword(user);
            userService.updateById(user);
            return ResponseEntity.success("操作成功");
        }

    }

    @SysLog("上传头像")
    @PostMapping("uploadFace")
    @ResponseBody
    public ResponseEntity uploadFile(@RequestParam("icon") MultipartFile file, HttpServletRequest httpServletRequest) {
        if(file == null){
            return ResponseEntity.failure("上传文件为空 ");
        }
        String url = null;
        Map map = new HashMap();
//使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法
public class AddStudentController {
    @Autowired  //  自动注入
    private StudentService studentService;
    @Autowired
    private AddStudentService addStudentService;

    @RequestMapping("/addStudentPage")
    public String selPolitics(Model model){
        //  查询政治面貌表
        List<PoliticsTypeDB> stupol = studentService.selPolitics();
        model.addAttribute("stupol",stupol);
        return "view/student/addStudent";
    }

    //  添加学生
    @RequestMapping("addStudent") //   用来处理请求地址映射的注解
    @ResponseBody   // 通常用来返回JSON数据给客户端
    public LayuiResult<StudentDB> addStudent(StudentVO studentVO, String birthday, String tertime) throws Exception{
        LayuiResult<StudentDB> result= new LayuiResult<>();
        //  将接收到的时间进行类型转换
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date date1=format.parse(birthday);
        Date date2=format.parse(tertime);
        studentVO.setSbirthday(date1);
        studentVO.setEntertime(date2);
        //  判断该年份是否已存在学生
        Integer year = addStudentService.selectStuYear(studentVO.getClassid());
        if(year !=0 ){
            //  若该年份学生为空时 则添加一条分割线
            Integer fenge = addStudentService.stuSegmentation(studentVO.getClassid());
        }
        //  生成学生学号
        int stui = addStudentService.selStuid(studentVO.getGid());
        studentVO.setStuid(String.valueOf(stui));
        studentVO.setSid(stui);
        //  根据前台传来信息添加学生
        Integer addStudent = addStudentService.addStudent(studentVO);
        //  获取学号
        String stuid = studentVO.getStuid();
        //  根据学号查询学生id编号
        Integer sid = addStudentService.selectSid(stuid);
        //  获取所选专业id
        Integer mid = studentVO.getMid();
        //  根据学生专业查询该专业开设的必修课程
        List<CourseDB> selCourse = addStudentService.selCourse(mid);
        }
        return ResponseEntity.success("操作成功");
    }
}
package com.nsapi.niceschoolapi.controller;

@Controller
@RequestMapping("admin/system/menu")
public class MenuController {

    @Autowired
    MenuService menuService;

    @RequestMapping("list")
    @SysLog("跳转菜单列表")
    public String list(){
        return "admin/menu/list";
    }

    @RequiresPermissions("sys:menu:list")
    @RequestMapping("treeList")
    @ResponseBody
    public ResponseEntity treeList(){
        ResponseEntity responseEntity = ResponseEntity.success("操作成功");
        responseEntity.setAny("code",0);
        responseEntity.setAny("msg","");
        responseEntity.setAny("count","");
        HashMap map = new HashMap();
        map.put("del_flag",false);
        List<Menu> menus = menuService.selectAllMenuList(map);
        menus.forEach( menu -> {
            if(StringUtils.isBlank(menu.getParentId())) {
                menu.setParentId("-1");
            }
        });
        menus.sort(Comparator.comparing(Menu::getSort));
        return responseEntity.setAny("data",menus);
    }

     */
    @RequestMapping("findcoursebytch")
    @ResponseBody
    public Object findCourseByTch(TchCourseVO tchCourseVO,Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<TchCourseVO> listAll = tchCourseService.findCourseByTch(tchCourseVO);
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> sData = new HashMap<String, Object>();
        sData.put("code", 0);
        sData.put("msg", "");
        sData.put("count", pageInfo.getTotal());
        sData.put("data", pageInfo.getList());
        return sData;
    }

    /**
     * 教师授课及班级删除
     */

    @RequestMapping("deltchcourse")
    @ResponseBody
    public Object delTchCourse(TchCourseVO tchCourseVO){
        int flag = tchCourseService.delTchCourse(tchCourseVO);
        if(flag>0){
            return true;
        }else {
            return false;
        }

    }

}
package com.nsapi.niceschoolapi.common.realm;

    }

    /**
     * 查询周
     */
    @RequestMapping("findallweeks")
    @ResponseBody
    public Object findAllWeeks(Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<WeeksDB> listAll = tchCourseService.findAllWeeks();
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> wData = new HashMap<String, Object>();
        wData.put("code", 0);
        wData.put("msg", "");
        wData.put("count", pageInfo.getTotal());
        wData.put("data", pageInfo.getList());
        return wData;
    }
    /**
     * 查询节段
     */
    @RequestMapping("findallschedule")
    @ResponseBody
    public Object findAllSchedule(Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<ScheduleDB> listAll = tchCourseService.findAllSchedule();
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> sData = new HashMap<String, Object>();
        sData.put("code", 0);
        sData.put("msg", "");
        sData.put("count", pageInfo.getTotal());
        sData.put("data", pageInfo.getList());
        return sData;
    }

    /**
     * 添加教师授课表记录并返回新数据id
     */

    @RequestMapping("addonetchcourse")
    @ResponseBody
    public Object addOneTchCourse(TchCourseVO tchCourseVO){
        int flag = tchCourseService.findTchCourseFlag(tchCourseVO);
        if(flag>0){
            return false;
        }
    }

    /**
     * 提交教评
     */
    @RequestMapping("addoneappraise")
    @ResponseBody
    public Object addOneAppraise(EvTchVO evTchVO){
        evTchVO.setStuid(MySysUser.loginName());
        //判断成绩是否存在
        int res1 = appraiseService.selTchExamState(evTchVO);
        if(res1>0){
            //添加记录
            int res_addOneAppraise = appraiseService.addOneAppraise(evTchVO);
            //更新成绩
            int res_updOneTchExam = appraiseService.updOneTchExam(evTchVO);
            if(res_addOneAppraise==1&&res_updOneTchExam==1){
                return true;
            }else{
                return false;
            }
        }else if(res1==0){
            //添加记录
            int res_addOneAppraise = appraiseService.addOneAppraise(evTchVO);
            evTchVO.setPcount(1);
            evTchVO.setExam(evTchVO.getErexam());
            //新增成绩
            int res_addOneTchExam = appraiseService.addOneTchExam(evTchVO);

            if(res_addOneAppraise==1&&res_addOneTchExam==1){
                return true;
            }else{
                return false;
            }
        }else {
            return false;
        }

    }

}
package com.nsapi.niceschoolapi.controller;

                                @RequestParam(value = "limit",defaultValue = "10")Integer limit,
                                ServletRequest request){
        Map map = WebUtils.getParametersStartingWith(request, "s_");
        PageData<Role> rolePageData = new PageData<>();
        QueryWrapper<Role> roleWrapper = new QueryWrapper<>();
        roleWrapper.eq("del_flag",false);
        if(!map.isEmpty()){
            String keys = (String) map.get("key");
            if(StringUtils.isNotBlank(keys)) {
                roleWrapper.like("name", keys);
            }
        }
        IPage<Role> rolePage = roleService.page(new Page<>(page,limit),roleWrapper);
        rolePageData.setCount(rolePage.getTotal());
        rolePageData.setData(setUserToRole(rolePage.getRecords()));
        return rolePageData;
    }

    private List<Role> setUserToRole(List<Role> roles){
        roles.forEach(r -> {
            if(StringUtils.isNotBlank(r.getCreateId())){
                User u = userService.findUserById(r.getCreateId());
                if(StringUtils.isBlank(u.getNickName())){
                    u.setNickName(u.getLoginName());
                }
                r.setCreateUser(u);
            }
            if(StringUtils.isNotBlank(r.getUpdateId())){
                User u  = userService.findUserById(r.getUpdateId());
                if(StringUtils.isBlank(u.getNickName())){
                    u.setNickName(u.getLoginName());
                }
                r.setUpdateUser(u);
            }
        });

        return roles;
    }

    @RequestMapping("add")
    public String add(ModelMap modelMap){
        Map<String,Object> map =  new HashMap();
        map.put("parentId",null);
        map.put("isShow",false);
        List<Menu> menuList = menuService.selectAllMenus(map);
        modelMap.put("menuList",menuList);
        return "admin/role/add";
            int res_addOneAppraise = appraiseService.addOneAppraise(evTchVO);
            //更新成绩
            int res_updOneTchExam = appraiseService.updOneTchExam(evTchVO);
            if(res_addOneAppraise==1&&res_updOneTchExam==1){
                return true;
            }else{
                return false;
            }
        }else if(res1==0){
            //添加记录
            int res_addOneAppraise = appraiseService.addOneAppraise(evTchVO);
            evTchVO.setPcount(1);
            evTchVO.setExam(evTchVO.getErexam());
            //新增成绩
            int res_addOneTchExam = appraiseService.addOneTchExam(evTchVO);

            if(res_addOneAppraise==1&&res_addOneTchExam==1){
                return true;
            }else{
                return false;
            }
        }else {
            return false;
        }

    }

}
package com.nsapi.niceschoolapi.controller;


@Controller
@RequestMapping("admin/system/user")
public class UserController {

    @Autowired
    UserService userService;

    @Autowired
    RoleService roleService;

    @Autowired
    UploadService uploadService;

    @RequestMapping("list")
    @SysLog("跳转系统用户列表页面")
    public String list(){
        return "admin/user/list";
        User user = userService.getById(id);
        if(user == null){
            return ResponseEntity.failure("用户不存在");
        }
        userService.lockUser(user);
        return ResponseEntity.success("操作成功");
    }

    @RequiresPermissions("sys:user:delete")
    @PostMapping("delete")
    @ResponseBody
    @SysLog("删除系统用户数据(单个)")
    public ResponseEntity delete(@RequestParam(value = "id",required = false)String id){
        if(StringUtils.isBlank(id)){
            return ResponseEntity.failure("参数错误");
        }
        User user = userService.getById(id);
        if(user == null){
            return ResponseEntity.failure("用户不存在");
        }else if(user.getAdminUser()) {
            return ResponseEntity.failure("不能删除后台用户");
        }
        userService.deleteUser(user);
        return ResponseEntity.success("操作成功");
    }

    @RequiresPermissions("sys:user:delete")
    @PostMapping("deleteSome")
    @ResponseBody
    @SysLog("删除系统用户数据(多个)")
    public ResponseEntity deleteSome(@RequestBody List<User> users){
        if(users == null || users.size()==0){
            return ResponseEntity.failure("请选择需要删除的用户");
        }
        for (User u : users){
            if(u.getAdminUser()){
                return ResponseEntity.failure("不能删除超级管理员");
            }else{
                userService.deleteUser(u);
            }
        }
        return ResponseEntity.success("操作成功");
    }

    @RequestMapping("userinfo")
    public String toEditMyInfo(ModelMap modelMap){
        String userId = MySysUser.id();
        User user = userService.findUserById(userId);
        modelMap.put("userinfo",user);
        modelMap.put("userRole",user.getRoleLists());
        return "admin/user/userInfo";
    }

请添加图片描述

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值