基于javaweb+mysql的ssm+maven驾校预约管理系统(java+ssm+html+layui+bootstrap+mysql)

基于javaweb+mysql的ssm+maven驾校预约管理系统(java+ssm+html+layui+bootstrap+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb+mysql的SSM+Maven驾校预约管理系统(java+ssm+html+layui+bootstrap+mysql)

项目介绍

本项目分为管理员、教练、学员三种角色, 管理员角色包含以下功能: 学员管理、教练管理、车辆管理、关系管理、车辆维修管理、个人中心等功能。

教练角色包含以下功能: 我的课程、我的学员、车辆中心、个人中心等功能。

学员角色包含以下功能: 预约课程等功能。

环境需要

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. 后端:Spring+SpringMVC+Mybatis 2. 前端:HTML+LayUI+bootstrap+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中spring-database.xml配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入http://localhost:8080/ 登录
     * 保存日志
     * @param map
     * @return
     */
    public Map<String, Object> save(Map map) {
        Map<String, Object> mapjson = new HashMap<>();
        Orders orders=ordersMapper.selectById(Integer.parseInt(map.get("orderId").toString()));
        orders.setGrade(Integer.parseInt(map.get("grade").toString()));
        orders.setLog(map.get("log").toString());
        orders.setLogdate(new Timestamp(System.currentTimeMillis()));
        if(ordersMapper.update(orders)>0){
            mapjson.put("code",200);
        }

        return mapjson;
    }

    /**
     * 获得评分
     * @param map
     * @return
     */
    public  Map<String, Object> getGreadList(Map map){
        Map<String, Object> mapjson = new HashMap<>();

        List<Map> greadList=ordersMapper.getGreadList(map);
        System.out.println(">>>>>>>>>>>>>>>>>>>>>."+greadList);
        if (greadList.size()>0){
        mapjson.put("code",200);
        mapjson.put("data",greadList);
        }else {
            mapjson.put("code",201);
        }

        return mapjson;

    }

}

            }
        }
        return mapjson;
    }

}

/**
 * Created with IntelliJ IDEA.
 * User: lishuai
 * Description:
 * Version: V1.0
 */
@Controller
@RequestMapping("/student")
public class StudentController {
    private StudentService studentService;

    @Autowired
    public StudentController(StudentService studentService) {
        this.studentService = studentService;
    }

    /**
     * 添加学员
     * @param student
     * @return
     */
    @RequestMapping(value = "/addStudent")
    @ResponseBody
    public Map<String,Object> addStudent(@RequestBody Student student){
        return studentService.insert(student);
    }

    /**
     * 信息修改
     * @param student
     * @return
     */
//用户没有登录挑转到登录页面
        response.sendRedirect("/index.html");

        return false;

    }

    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

    }
}

/**
 * Created with IntelliJ IDEA.
 * User: lishuai
 * Description:
 * Version: V1.0
 */
@Controller
@RequestMapping("/driver")
public class DriverController {
    private DriverService driverService;

    }

    /**
     * 获得评分
     * @param map
     * @return
     */
    public  Map<String, Object> getGreadList(Map map){
        Map<String, Object> mapjson = new HashMap<>();

        List<Map> greadList=ordersMapper.getGreadList(map);
        System.out.println(">>>>>>>>>>>>>>>>>>>>>."+greadList);
        if (greadList.size()>0){
        mapjson.put("code",200);
        mapjson.put("data",greadList);
        }else {
            mapjson.put("code",201);
        }

        return mapjson;

    }

}

/**
 * Created with IntelliJ IDEA.
 * User: lishuai

/**
 * Created with IntelliJ IDEA.
 * User: lishuai
 * Description:
 * Version: V1.0
 */
@Controller
@RequestMapping("/detail")
public class DetailController {
   private DetailService detailService;

   @Autowired
    public DetailController(DetailService detailService) {
        this.detailService = detailService;
    }

    /**
     * 学员获得教练发布的课程列表
     * courseDate courseClass teacherName carNumber stuid
     * @param map
     * @return
     */
    @RequestMapping("/getsaveCourse")
    @ResponseBody
    public Map<String, Object> getSaveDetail(@RequestBody Map map, HttpServletRequest request){

        return detailService.getSaveDetail(map,request);
    }

    /**
     * 预定课程
                    action = teacherService.updatePassword(phone, password, 1);
                    break;
                case "teacher":
                    action = teacherService.updatePassword(phone, password, 0);
                    break;
            }
            if (action) {
                mapjson.put("code", 200);
            } else {
                mapjson.put("code", 202);
            }
        } else {
            request.getSession().removeAttribute("smscode");
            mapjson.put("code", 201);
        }
        return mapjson;
    }

    @RequestMapping(value = "/updatePasswordTeacher", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> updatePasswordTeacher(@RequestBody Map map, HttpServletRequest request) {
        Map<String, Object> mapjson = new HashMap<>();
        Teacher teacher = (Teacher) request.getSession().getAttribute("user");
        //判断原密码是否正确
        Teacher teacherTmp=teacherService.selectByPone(teacher);
        System.out.println(teacherTmp.getTeapwd());
        if(map.get("oldpassword").toString().equals(teacherTmp.getTeapwd())){
            //修改session的的密码
            teacherTmp.setTeapwd(map.get("newpassword").toString());

            request.getSession().setAttribute("user",teacherTmp);
            //修改数据库中的
            return teacherService.updateTeacher(teacherTmp);
        }
        else{
            mapjson.put("code",201);
            mapjson.put("msg","原密码错误");
            return mapjson;
        }

    }

    /**
     * 修改密码 学生
     * @param map
     * @param request
     * @return
     */
    @RequestMapping(value = "/updatePasswordStudent", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> updatePasswordStudent(@RequestBody Map map, HttpServletRequest request) {
    @Autowired
    public CourseController(CourseService courseService, DetailService detailService
                            ) {
        this.courseService = courseService;
        this.detailService=detailService;
    }

    /**
     * 获取课程表时间
     * @return
     */
    @RequestMapping(value = "/getCourses")
    @ResponseBody
    public Map<String,Object> getCourse(){
        return courseService.getCourse();
    }

    /**
     * 出传入日期 判断当前日期发布的课程
     * courseDate
     * @param map
     * @return
     */
    @RequestMapping(value = "/courseDetail")
    @ResponseBody
    public Map<String,Object> getDeatil(@RequestBody (required=false) Map<String, Object> map, HttpServletRequest request){
        return detailService.getDeatail(map,request);
    }

    /**
     * 添加课程,传入课程时间id 课程类型
     * @param map
     * @param request
     * @return
     */
    @RequestMapping(value = "/addCourseDetail")
    @ResponseBody
    public Map<String,Object> addCOurseDetail(@RequestBody (required=false) Map map, HttpServletRequest request){

        return detailService.addDetail(map,request);
    }

    /**
     * 批量移除课程
     * @param map
     * @return
     */
    @RequestMapping(value = "/removeDetail")
    @ResponseBody
    public Map<String,Object> removeCOurseDetail(@RequestBody Map map){
        return detailService.removeDetail(map);
    }
     *
     * @param map
     * @param request
     * @return
     */
    public Map<String, Object> addDetail(Map map, HttpServletRequest request) {
        Teacher teacher = (Teacher) request.getSession().getAttribute("user");
        Map<String, Object> mapjson = new HashMap<>();
        //判断当前是否有车
        Map<String, Object> maprela = new HashMap<>();
        maprela.put("teacherId", teacher.getTeaid());
        Relationship relationship = relationshipMapper.contant(maprela).get(0);

        if (relationship == null) {
            mapjson.put("code", 201);
            mapjson.put("msg", "当前无车辆,请联系管理员分配车辆");
            return mapjson;
        }

        if (map == null) {
            map = new HashMap();
        }
        List<Detail> detailList = new ArrayList<>();
        Date courseDate = null;
//        课程时间转换
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            courseDate = new Date(sdf.parse(map.get("courseDate").toString()).getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }

        List courseList = (List) map.get("courseList");
        Detail detail;
        for (int i = 0; i < courseList.size(); i++) {
            detail = new Detail();
            detail.setCourseid(Integer.parseInt(courseList.get(i).toString()));
            detail.setCourseDate(courseDate);
            detail.setRelationshipid(relationship.getRelationshipid());
            detail.setStusta("0");
            detail.setExtend1(map.get("courseType").toString());
            detail.setExtend2("0");
            detailList.add(detail);
        }
//        对象组装完成

        System.out.println(detailMapper.inserList(detailList));
        mapjson.put("code", 200);

        if(list.size()>0){
            mapjson.put("code",200);
            mapjson.put("data",list);
        }
        else {
            mapjson.put("code",201);
            mapjson.put("msg","没有空余的课程");
        }
        return mapjson;
    }

    /**
     * 课程预定
     * @param
     * @param request
     * @return
     */
    public Map<String, Object> orderCourse(Detail detail,HttpServletRequest request){
        Map<String, Object> mapjson = new HashMap<>();
//        先检查课程是否被预定
        Detail detailTmp=detailMapper.selectById(detail.getDetailid());
        Student student= (Student) request.getSession().getAttribute("user");

        Map map=new HashMap();
        map.put("studentId",student.getStuid());
        map.put("courseDate",detailTmp.getCourseDate().toString());
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>"+map);
        if(ordersMapper.getMyOrderDate(map).size()>0){
            mapjson.put("code",201);
            mapjson.put("msg","当前日期已有预约请选择其他时间");
            return mapjson;
        }

        if(detailTmp.getStusta().equals("1")){
            mapjson.put("code",201);
            mapjson.put("msg","此课程已被预约");
            return mapjson;
        }
//        检查预定课程时间有没有预定的课程

        detailTmp.setStusta("1");
        if(detailMapper.updateById(detailTmp)>0){
            //添加数据

           Orders orders=new Orders();
           orders.setStuid(student.getStuid());
     * @param phone
     * @param password
     * @return
     */
    public boolean updatePassword(String phone,String password){
        Student student =new Student();
        student.setStuphone(phone);
        student.setStupwd(password);
        return studentMapper.updatePassword(student)>0;
    }

    /**
     * 添加
     * @param student
     * @return
     */
    public Map<String,Object> insert(Student student){
        Map<String,Object> map=new HashMap<>();
        if(getByPhone(student.getStuphone())!=null){
            map.put("code",201);
            map.put("msg","手机号已存在");
            return map;
        }
        if (studentMapper.insert(student)>0){
            map.put("code",200);
            map.put("msg","添加成功");
        }
        else {
            map.put("code",201);
            map.put("msg","添加失败");
        }

        return map;
    }

    /**
     * var json={name:name,driverclassId:driverclass,studentStute:studyStute,finshStau:finsh}
     * @param map
     * @return
     */
    @ResponseBody
    public Map<String, Object> getStudentInfo(HttpServletRequest request) {
        Map<String, Object> mapjson = new HashMap<>();
        Student student = (Student) request.getSession().getAttribute("user");
        student.setStupwd("");
        mapjson.put("code", 200);
        mapjson.put("data", student);
        return mapjson;
    }

    /**
     * 获得验证码
     *
     * @param map
     * @param request
     * @return
     */
    @RequestMapping(value = "/getCode", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> getCode(@RequestBody Map<String, String> map, HttpServletRequest request) {
        String phone = map.get("phone");
        String role = map.get("role");
        Teacher teacher = new Teacher();
        teacher.setTeaphone(phone);
        Map<String, Object> mapCode = new HashMap<>();
        Map<String, Object> mapjson = new HashMap<>();
        int mobileCode = (int) ((Math.random() * 9 + 1) * 100000);
        mapCode.put("number", mobileCode + "");
        mapCode.put("phone", phone);
        boolean flag = false;
        if (role.equals("student")) {
            if (studentService.getByPhone(phone) != null) {
                flag = true;
            }

        } else {
            Integer roleTmp = role.equals("admin") ? 1 : 0;
            teacher.setTearole(roleTmp);
            if (teacherService.selectByPone(teacher) != null) {
                flag = true;
            }
    }

    /**
     * 获得当前车辆
     * @return
     */
    @RequestMapping(value = "/getlocalCart")
    @ResponseBody
    public Map<String,Object> getloaclCart(@RequestBody (required = false) Map map,HttpServletRequest request){

        return  repairService.getloaclCar(request);
    }

    /**
     * 获得关联历史
     * @param map
     * @return
     */
    @RequestMapping(value = "/getHistory")
    @ResponseBody
    public Map<String,Object> getHistory(@RequestBody  (required = false) Map map,HttpServletRequest request){
        return repairService.getHistory(map, request);
    }

    /**
     * 获得空闲车辆
     * @param map
     * @param request
     * @return
     */
    @RequestMapping(value = "/getNullCart")
    @ResponseBody
    public Map<String,Object> getNullCart(@RequestBody  (required = false) Map map,HttpServletRequest request){
        return repairService.getNullCart(request);
    }
    /**
     *添加维修记录并重新分配车辆 carId: $("#carId").val(), cause:cause,newCarId:newCarNumber
     * @param map
     * @param request
     * @return
     */
    @RequestMapping(value = "/addrepair")
    @ResponseBody
    public Map<String,Object> addRepair(@RequestBody Map map,HttpServletRequest request){
        return repairService.addReparir(map,request);
    }
    @RequestMapping(value = "/repairFinish")
    @ResponseBody
    @ResponseBody
    public Map<String, Object> getPhoneCode(@RequestBody Map<String, String> map, HttpServletRequest request) {
        String phone = map.get("phone");
        Teacher teacher = new Teacher();
        teacher.setTeaphone(phone);
        Map<String, Object> mapCode = new HashMap<>();
        Map<String, Object> mapjson = new HashMap<>();
        int mobileCode = (int) ((Math.random() * 9 + 1) * 100000);
        mapCode.put("number", mobileCode + "");
        mapCode.put("phone", phone);
        boolean flag = false;
//        if (flag&& Send.sendCode(mobileCode,phone)){
        mapCode.put("time",System.currentTimeMillis()+"");
        mapjson.put("code",200);
        mapjson.put("number", mobileCode + "");
        request.getSession().setAttribute("smscode", mapCode);
//    }
        return mapjson;
    }

    @RequestMapping(value = "/updatePhone", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> updatePhone(@RequestBody Map<String, String> map, HttpServletRequest request) {
        String phone = map.get("phone");
        String number=map.get("number");

        Map<String, Object> mapjson = new HashMap<>();

        Object object=request.getSession().getAttribute("user");
        //判断验证码手机是否合法

       Map<String,Object> mapSession= (Map<String, Object>) request.getSession().getAttribute("smscode");
        System.out.println(mapSession);
        System.out.println(map);
        if (mapSession.get("phone").toString().equals(phone) && mapSession.get("number").toString().equals(number) &&
                System.currentTimeMillis() - Long.parseLong(mapSession.get("time").toString()) < 60 * 1000){
            if (object instanceof Student){
                Student student= (Student) object;
                Student studenttmp=studentService.getByPhone(student.getStuphone());
                studenttmp.setStuphone(phone);
                request.getSession().setAttribute("user",studenttmp);
                return studentService.updateStudent(studenttmp);

            }
            else{
                Teacher teacher= (Teacher) object;
                Teacher teachertmp=teacherService.selectByPone(teacher);
                teachertmp.setTeaphone(phone);
                request.getSession().setAttribute("user",teachertmp);
                return teacherService.updateTeacher(teachertmp);

            }

/**
 * Created with IntelliJ IDEA.
 * User: lishuai
 * Description:
 * Version: V1.0
 */
@Controller
@RequestMapping("/cart")
public class CartController {
    private CartService cartService;

    @Autowired
    public CartController(CartService cartService) {
        this.cartService = cartService;
    }

    /**
     * 添加车辆
     * @param cart
     * @return
     */
    @RequestMapping(value = "/addCart")
    @ResponseBody
    public Map<String,Object> addcart(@RequestBody Cart cart){
        return  cartService.addCart(cart);

    }

    /**
     * 多条件查询车辆
     * @param cart
     * @return
     */
    @RequestMapping(value = "/getCartList")
    @ResponseBody
    public Map<String,Object> getCartList(@RequestBody(required = false) Cart cart){
        return  cartService.selectbyCondiction(cart);
    }

        System.out.println(detailList);
        Iterator iterator = detailList.iterator();
        SimpleDateFormat timeForm = new SimpleDateFormat("HH:mm:ss");
        SimpleDateFormat dateForm = new SimpleDateFormat("yyyy-MM-dd");
        Map<String, Object> mapRelation = new HashMap<>();
        List<String> detailIdlist = new ArrayList();
        while (iterator.hasNext()) {
            tmpMap = (Map<String, Object>) iterator.next();
            try {
                if (timeForm.parse(tmpMap.get("courseBegin").toString()).getTime() + dateForm.parse(tmpMap.get("courseDate").toString()).getTime() > System.currentTimeMillis()) {
                    detailIdlist.add(tmpMap.get("detailId").toString());
                }
            } catch (ParseException e) {
                e.printStackTrace();
            }

        }
        mapRelation.put("relationshipId", newrelationship.getRelationshipid());
        mapRelation.put("detailIdlist", detailIdlist);
        System.out.println(detailIdlist);
        detailMapper.updateRelaList(mapRelation);

        //添加维修表
        Repair repair = new Repair();
        repair.setCartid(Integer.parseInt(map.get("carId").toString()));
        repair.setCause(map.get("cause").toString());
        repair.setTeacherid(teacher.getTeaid());
        repair.setExtend1("维修中");
        repair.setRepairtime(new Date(System.currentTimeMillis()));
        repairMapper.insert(repair);
        //修改两个车的状态
        Cart cartold = new Cart();
        cartold.setStaute("维修");
        cartold.setCarid(Integer.parseInt(map.get("carId").toString()));
        cartMapper.updateStute(cartold);

        Cart cartNew = new Cart();
        cartNew.setStaute("正常");
        cartNew.setCarid(Integer.parseInt(map.get("newCarId").toString()));
        cartMapper.updateStute(cartNew);


/**
 * Created with IntelliJ IDEA.
 * User: lishuai
 * Description:
 * Version: V1.0
 */
@Controller
@RequestMapping("/driver")
public class DriverController {
    private DriverService driverService;

    @Autowired
    public DriverController(DriverService driverService) {
        this.driverService = driverService;
    }

    @ResponseBody
    @RequestMapping(value = "getDriverList")
    public Map<String,Object> getDriverList(){
        Map<String,Object> mapjson=new HashMap<>();
        List<Driver> driverList=driverService.getDirverList();
        if(driverList.size()>0){
            mapjson.put("code",200);
            mapjson.put("data",driverList);
        }
        else {
            mapjson.put("code",201);
            mapjson.put("data","数据不存在");
        }
        return mapjson;

     * 查看我的学生 分页
     * @param map
     * @param request
     * @return
     */
    @RequestMapping(value = "/getMystudent")
    @ResponseBody
    public Map<String,Object> getMyStu(@RequestBody Map map, HttpServletRequest  request){
    return studentService.getMyStudent(map,request);
    }
    /**
     *修改学生状态 {studentId:$("#studentId").val(),courseType:$("#courseType").val()}
     * @param map
     * @return
     */
    @RequestMapping(value = "/updateStaute")
    @ResponseBody
    public Map<String,Object> updateStaute(@RequestBody Map map){
    return studentService.updateStudentStaute(map);
    }

    @RequestMapping(value = "/end")
    @ResponseBody
    public Map<String,Object> studentEnd(@RequestBody Map map){
    return studentService.endStudent(map);
    }

}

    }

}

/**
 * Created with IntelliJ IDEA.
 * User: lishuai
 * Description:
 * Version: V1.0
 */
@Service
public class OrdersService {
    final private OrdersMapper ordersMapper;
    final private DetailMapper detailMapper;

    @Autowired
    public OrdersService(OrdersMapper ordersMapper, DetailMapper detailMapper) {
        this.ordersMapper = ordersMapper;
        this.detailMapper = detailMapper;
    }

    /**
     * 查询当前预约的课程  学员
     * courseClass  courseDate  studentId  stautes(0 预约 1 取消  不限)
     *
     * @param map
     * @param request
     * @return
     */
    public Map<String, Object> getMyOrder(Map map, HttpServletRequest request) {
        Map<String, Object> mapjson = new HashMap<>();
        if (map == null) {
            map = new HashMap();
        }
        Student student = (Student) request.getSession().getAttribute("user");
        map.put("studentId", student.getStuid());

        List<Map<String, Object>> listOder = ordersMapper.getMyOrder(map);

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

请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值