基于javaweb+mysql的ssm汽车租车管理系统(java+ssm+html+bootstrap+layui+mysql)

基于javaweb+mysql的ssm汽车租车管理系统(java+ssm+html+bootstrap+layui+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb+mysql的SSM汽车租车管理系统(java+ssm+html+bootstrap+layui+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+CSS+JavaScript+jsp+jquery+bootstrap+layui

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中util/DBUtil.java配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ssm_qiche_rentsys/ 登录
    /**
     * Code200,Data List<UserBean>
     * Code404.Data -1 取出失败
     *
     * @return
     */
    @RequestMapping(value = "/userTraversal", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg getUsers() {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            jsonMsg.setData(userService.getAllUserBean());
            jsonMsg.setCode("200");
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * Code200,UserBean
     * Code202,用户不存在
     * Code404 用户被重复/
     * Code404.Data -1 取出失败
     * @return
     */
    @RequestMapping(value = "/getUserByName", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg getUsersByName(String username)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            List<UserBean> users= userService.getUserByName(username);
            if(users.size()==0)
            {
                jsonMsg.setData(0);
                jsonMsg.setCode("202");
            }
            else if(users.size()==1){
                jsonMsg.setData(users.get(0));
                jsonMsg.setCode("200");
                if (r == 1) {
                    jsonMsg.setCode("200");
                    jsonMsg.setData(1);
                } else {
                    jsonMsg.setCode("2031");
                    jsonMsg.setData(-1);
                }
            } else {
                jsonMsg.setCode("2032");
                jsonMsg.setData(-1);
            }
        } catch (SQLException e) {
            jsonMsg.setCode("2033");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

}

@Controller
@RequestMapping(value = "/userAll")
public class UserAllKinds {
    AdminService adminService = new AdminService();
    UserService userService = new UserService();

    public static void main(String[] args){
        UserAllKinds test = new UserAllKinds();
        test.checkUser("jason66");
    }
    /**
     * Code: "1" 为管理员账号
     * Code: "2" 为普通用户账号
     * Code: "404" 账号不存在
     * Code: "-1" 内部故障
     *
     * @param username
     * @return JsonMsg
     * @auther ChenJie
     */
     * 注册用户
     * Code="200"Data=1int)则注册成功
     * Code="202"Data=0 (int)注册失败,用户已经存在
     * Code="404"  Data=-1页面丢失
     *
     * @param username
     * @param password
     * @param email
     * @return
     */

    @RequestMapping(value = "/userRegister", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg addUser(String username, String password, String email) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            int result =
                    userService.addUser(username, password, email, null, null, 0);
            if (result == 0) {
                jsonMsg.setData(0);
                jsonMsg.setCode("202");
            } else {
                jsonMsg.setData(1);
                jsonMsg.setCode("200");
            }

        } catch (Exception e) {
            jsonMsg.setData(-1);
            jsonMsg.setCode("404");
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 删除用户(管理员操作)
     * Code=200,Data=1,删除成功
     * Code=202,Data=0,删除失败
     * Code=404,Data=-1页面丢失
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/userDelete", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg removeUserById(int id)
    {
     * 其他参数不设置代表不更新
     * Code 200 data=1更新成功
     * Code 200 data=0 没有更新
     * Code 404 异常
     * @param id
     * @param name
     * @param price_per_day
     * @param status
     * @return
     */
    @RequestMapping(value = "/parkUpdate", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg parkUpdate(int id,String name,String price_per_day,String status)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            ParkBean parkBean=new ParkBean();
            if(name!=null)
            {
                parkBean.setName(name);
            }
            if(price_per_day!=null)
            {
                parkBean.setPrice_per_day(Integer.parseInt(price_per_day));
            }
            if(status!=null)
            {
                parkBean.setStatus(Integer.parseInt(status));
            }
            int i=parkService.updateParkById(id,parkBean);
            jsonMsg.setCode("200");
            jsonMsg.setData(1);
        }
        catch (Exception e)
        {
            jsonMsg.setCode("404");
            jsonMsg.setData("-1");
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
    *Code 200 得到所有空闲状态的park
     * Code 404 异常
    * @return
    */
    @RequestMapping(value = "/parkIdleTraversal", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg parkIdleTraversal()
    {
        JsonMsg jsonMsg=new JsonMsg();
            jsonMsg.setData(i);
            jsonMsg.setCode("200");
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }

        return jsonMsg;
    }
}

@Controller
@RequestMapping(value = "/user")
public class UserManageController {
    UserService userService = new UserService();
    SendMailService sendMailService = new SendMailService();

    /**
     * Code:200 Data=userBean 用户信息正确
     * Code:205 Data=0 用户不存在
     * Code:206 Data=-3 用户密码错误
     * Code:207 Data=-2 用户账户被重复
     * Code:404 Data=-1 catch异常
     *
     * @param username
     * @param password
     * @return
     */
    @RequestMapping(value = "/userLogin", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg userLogin(String username, String password) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            if (userService.getUserByName(username).size() == 0) {
                jsonMsg.setCode("205");
                jsonMsg.setData(0);
            } else if (userService.getUserByName(username).size() != 1) {

@Controller
@RequestMapping(value = "/carin")
public class CarInController {
    CarInService orderService=new CarInService();

    //对于用户

    /**
     *添加订单,必须设置名字和价格
     * code=200 data=1添加成功
     * code=200 data=0添加失败
     * code=202 data=0参数有错误
     * code=404 data=-1异常
     * @param sender_id
     * @param name
     * @param price
     * @param pic
     * @return
     */
    @RequestMapping(value = "/orderAdd", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg orderAdd(int sender_id,String name,String price,String pic)
    {
        JsonMsg jsonMsg=new JsonMsg();
        if(price==null||name==null)
        {
            jsonMsg.setCode("202");
            jsonMsg.setData(0);
        }
        try {
            int i=orderService.add(sender_id,name,Integer.parseInt(price),pic);
            jsonMsg.setCode("200");
            jsonMsg.setData(i);
        } catch (Exception e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }

        return jsonMsg;
    }

            for(CarOutBean car:orders)
            {
//                if(car.getStatus()==1)
//                {
//                    myOrders.add(car);
//                }
                UserService userService=new UserService();
                CarService carService=new CarService();
                if(car.getStatus()==1)
                {
                    //Modified by Ceej
                    car.setCarName(carService.getCar(car.getCar_id()).getName());
                    car.setSenderName(userService.getUserById(car.getSender_id()).getUserName());
                    if(car.getReceiver_id()!=0)
                        car.setReceiverName(userService.getUserById(car.getReceiver_id()).getUserName());
                    myOrders.add(car);
                }
            }
            jsonMsg.setData(myOrders);
            jsonMsg.setCode("200");
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 得到所有的order
     * code=200 data为这些order
     * code=404 data=-1 异常
     * @return
     */
    @RequestMapping(value = "/orderTraversal", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg orderTraversal()
    {
        JsonMsg jsonMsg=new JsonMsg();
        List<CarOutBean> orders= null;
//        return jsonMsg;
//    }

//    /**
//     * 这个是用来注册管理员
//     * 我加了一个Deprecated的annotation
//     *
//     * @param username
//     * @param password
//     * @param email
//     * @return
//     */
//    @RequestMapping(value = "/register", method = RequestMethod.GET)
//    @ResponseBody
//    @Deprecated
//    public JsonMsg addAdmin(String username, String password, String email) {
//        JsonMsg jsonMsg = new JsonMsg();
//        try {
//            jsonMsg.setCode("200");
//            jsonMsg.setData(adminService.addAdmin(username, password, email));
//        } catch (Exception e) {
//            jsonMsg.setCode("404");
//            e.printStackTrace();
//        }
//        return jsonMsg;
//    }
//
//    /**
//     * 用来注册普通用户
//     *
//     * @param username
//     * @param password
//     * @param email
//     * @return
//     */
//    @RequestMapping(value = "/registerUser", method = RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg addUser(String username, String password, String email) {
//        JsonMsg jsonMsg = new JsonMsg();
//        jsonMsg.setCode("200");
//        jsonMsg.setData(1);
//        return jsonMsg;
//    }
//
//    @RequestMapping(value="/userLogin",method=RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg userLogin(String username, String password){
//        return null;
//    }

        try {
            CarBean car=new CarBean();
            CarService carService=new CarService();
            car.setName(name);
            if(price==null)
                car.setPrice(Integer.MIN_VALUE);
            else
                car.setPrice(Integer.parseInt(price));
            car.setPic(pic);
            if(orderService.getOrderById(id)==null)
            {
                jsonMsg.setCode("202");
                jsonMsg.setData(0);
            }
            jsonMsg.setData(carService.updateCar(orderService.getOrderById(id).getCar_id(),car));
            jsonMsg.setCode("200");
        } catch (Exception e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 得到和myId相关的所有订单
     * code=200,data存这些订单
     * code=404 data=-1异常
     * @param myId
     * @return
     */
    @RequestMapping(value = "/myOrder", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg getMyOrder(int myId)
    {
        JsonMsg jsonMsg=new JsonMsg();
        List<CarInBean> orders= null;
        List<CarInBean> myOrders=new ArrayList<CarInBean>();
        try {
            orders = orderService.getAllOrder();
            for(CarInBean car:orders)
            {
                if(car.getSender_id()==myId||car.getReceiver_id()==myId)
                {
                    myOrders.add(car);
                }
            }
            jsonMsg.setData(myOrders);
            jsonMsg.setCode("200");
        } catch (SQLException e) {
            if(i==1){jsonMsg.setCode("200");}
            else jsonMsg.setCode("205");
            System.out.println(i);
            System.out.println("ChenJie Debug:return car successfully.");
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 管理员通过某个订单
     * code=200 data=1 通过成功
     * code=200 data=0 通过失败,id不存在或者状态异常
     * code=404 data=-1 异常
     * @param id
     * @return
     */
    @RequestMapping(value = "/orderPass", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg orderPass(int id)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            int i=orderService.pass(id);
            jsonMsg.setData(i);
            jsonMsg.setCode("200");
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }

        return jsonMsg;
    }

    /**
     * code=200 data=1 不通过成功
     * code=200 data=0 不通过失败,id不存在或者状态异常
     * code=404 data=-1 异常
     * @param id
     * @return
     */
    @RequestMapping(value = "/orderBan", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg orderBan(int id)
    {
     */
    @RequestMapping(value = "/userDelete", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg removeUserById(int id)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {

            int i = userService.removeUserById(id);
            if (i == 1) {
                jsonMsg.setCode("200");
                jsonMsg.setData(1);
            } else {
                jsonMsg.setCode("202");
                jsonMsg.setData(0);
            }
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 发送邮件
     * Code=200 Data=1发送成功
     * Code=205 Data=0发送失败
     * Code=404 Data=-1页面失效
     *
     * @param email
     * @param username
     * @return
     */
    @RequestMapping(value = "/sendEmail", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg sendEmail(String email, String username) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            if (sendMailService.sendmail(email, username)) {
                jsonMsg.setCode("200");
                jsonMsg.setData(1);
            } else {
                jsonMsg.setCode("205");
    public JsonMsg getMyUpOrder(int myId)
    {
        JsonMsg jsonMsg=new JsonMsg();
        List<CarOutBean> orders= null;
        List<CarOutBean> myOrders=new ArrayList<CarOutBean>();
        try {
            orders = orderService.getAllOrder();
            for(CarOutBean car:orders)
            {

                if(car.getSender_id()==myId)
                {
                    //Modified by Ceej
                    UserService userService=new UserService();
                    CarService carService=new CarService();
                    car.setCarName(carService.getCar(car.getCar_id()).getName());
                    car.setSenderName(userService.getUserById(car.getSender_id()).getUserName());
                    if(car.getReceiver_id()!=0)
                        car.setReceiverName(userService.getUserById(car.getReceiver_id()).getUserName());
                    myOrders.add(car);
                }
            }
            jsonMsg.setData(myOrders);
            jsonMsg.setCode("200");
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 得到receriverId租进来的订单
     * code=200,data存这些订单
     * code=404 data=-1异常
     * @param receiverId
     * @return JsonMsg
     */
    @RequestMapping(value = "/myInOrder", method = RequestMethod.GET)
    @ResponseBody

    /**
     * 发送邮件
     * Code=200 Data=1发送成功
     * Code=205 Data=0发送失败
     * Code=404 Data=-1页面失效
     *
     * @param email
     * @param username
     * @return
     */
    @RequestMapping(value = "/sendEmail", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg sendEmail(String email, String username) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            if (sendMailService.sendmail(email, username)) {
                jsonMsg.setCode("200");
                jsonMsg.setData(1);
            } else {
                jsonMsg.setCode("205");
                jsonMsg.setData(0);
            }

        } catch (Exception e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * Code=404 Data=-1 抛出异常不做改变
     * Code=202 Data=0 不变/修改无效
     * Code=202 Data=-2 id不存在
     * Code=202 Data=-3 名字修改时产生重复
     * Code=200 Data>=1 修改成功 Data=修改的信息数量
     * 参数都可以为null,但是id为null无法更新
     * null的参数不做更新
     * @param id
     * @param username
     * @param password
     * @param email
     * @param description
     * @param pic
     * @param money
     * @return
     */
    @RequestMapping(value = "/userUpdate", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg updateUser(int id,String username,String password,String email,String description,String pic,String money)
    {
    @ResponseBody
    public JsonMsg parkOrderDelete(int id)
    {
        JsonMsg jsonMsg=new JsonMsg();
        ParkOrderService parkOrderService=new ParkOrderService();
        try {

            int i=parkOrderService.deleteParkOrder(id);
            jsonMsg.setData(i);
            jsonMsg.setCode("200");

        } catch (SQLException e) {
            jsonMsg.setData(-1);
            jsonMsg.setCode("404");
            e.printStackTrace();
        }
        return jsonMsg;
    }

}

/**
 */
@Controller
@RequestMapping(value = "/admin")
public class AdminManageController {

    public static void main(String[] args) {
    }

    AdminService adminService = new AdminService();

    SendMailService sendMailService = new SendMailService();

    /**
     * Code:200 Data=id (id是String类型)管理员信息正确
    @ResponseBody
    public JsonMsg orderModify(int id,String name,String price,String pic)
    {
        JsonMsg jsonMsg=new JsonMsg();

        try {
            CarBean car=new CarBean();
            CarService carService=new CarService();
            car.setName(name);
            if(price==null)
                car.setPrice(Integer.MIN_VALUE);
            else
                car.setPrice(Integer.parseInt(price));
            car.setPic(pic);
            if(orderService.getOrderById(id)==null)
            {
                jsonMsg.setCode("202");
                jsonMsg.setData(0);
            }
            jsonMsg.setData(carService.updateCar(orderService.getOrderById(id).getCar_id(),car));
            jsonMsg.setCode("200");
        } catch (Exception e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 得到和myId相关的所有订单
     * code=200,data存这些订单
     * code=404 data=-1异常
     * @param myId
     * @return
     */
    @RequestMapping(value = "/myOrder", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg getMyOrder(int myId)
    {
        JsonMsg jsonMsg=new JsonMsg();
        List<CarInBean> orders= null;
        List<CarInBean> myOrders=new ArrayList<CarInBean>();
        try {
            orders = orderService.getAllOrder();
            for(CarInBean car:orders)
            {
                if(car.getSender_id()==myId||car.getReceiver_id()==myId)
                {
                    myOrders.add(car);
                }
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            int i=orderService.updateUser(id,receiver_id);
            jsonMsg.setData(i);
            jsonMsg.setCode("200");
            System.out.println("ChenJie Debug: accept car_rent_out order successfully.");
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 用户还车
     * 提供订单的id号和接收者的id
     * code=200,还车成功
     * code=205,还车失败
     * code=404 data=-1 页面异常
     * @param id
     * @param receiver_id
     * @return
     */
    @RequestMapping(value = "/orderReturn", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg orderReturn(int id,int receiver_id)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            int i=orderService.userReturnRentCar(id,receiver_id);
            if(i==1){jsonMsg.setCode("200");}
            else jsonMsg.setCode("205");
            System.out.println(i);
            System.out.println("ChenJie Debug:return car successfully.");
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }

        } catch (Exception e) {
            jsonMsg.setData(-1);
            jsonMsg.setCode("404");
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 删除用户(管理员操作)
     * Code=200,Data=1,删除成功
     * Code=202,Data=0,删除失败
     * Code=404,Data=-1页面丢失
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/userDelete", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg removeUserById(int id)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {

            int i = userService.removeUserById(id);
            if (i == 1) {
                jsonMsg.setCode("200");
                jsonMsg.setData(1);
            } else {
                jsonMsg.setCode("202");
                jsonMsg.setData(0);
            }
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 发送邮件
     * Code=200 Data=1发送成功
     * Code=205 Data=0发送失败
     * Code=404 Data=-1页面失效

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值