Java项目:102SSM汽车租赁系统

博主主页:Java旅途
简介:分享计算机知识、学习路线、系统源码及教程
文末获取源码

一、项目介绍

汽车租赁系统基于Spring+SpringMVC+Mybatis开发,系统使用shiro框架做权限安全控制,超级管理员登录系统后可根据自己的实际需求配角色,然后新建用户选择角色即可。

超级管理员功能如下:

  • 客户管理
  • 车辆管理
  • 汽车出租
  • 出租单管理
  • 汽车入库
  • 检查单管理
  • 统计分析
  • 系统管理
    • 菜单管理
    • 角色管理
    • 用户管理
  • 公告管理
  • 系统日志

二、技术框架

  • 后端:Spring,Springmvc,Mybatis
  • 前端:layui,echarts

三、安装教程

  1. 用idea打开项目
  2. 在idea中配置jdk环境
  3. 配置maven环境并下载依赖
  4. 配置tomcat8.0
  5. 新建数据库,导入数据库文件
  6. 在db.properties文件中将数据库账号密码改成自己本地的
  7. 系统的静态资源存储在D盘,如果你的电脑没有D盘,则需要改成其他盘,具体位置在file.properties,将文件里面的D:/upload 改成你本地的即可。
  8. 启动运行, 管理员账号密码 admin/123456

四、项目截图

image-20230710141750885

image-20230710141828487

image-20230710141847644

image-20230710141933437

image-20230710141948519

image-20230710142010136

image-20230710142027866

五、相关代码

BusController

package com.yeqifu.bus.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;/*** 业务管理的路由控制器*/
@Controller
@RequestMapping("bus")
public class BusController {/*** 跳转到客户管理* @return*/@RequestMapping("toCustomerManager")public String toCustomerManager(){return "business/customer/customerManager";}/*** 跳转到车辆管理* @return*/@RequestMapping("toCarManager")public String toCarManager(){return "business/car/carManager";}/*** 跳转到汽车出租* @return*/@RequestMapping("toRentCarManager")public String toRentCarManager(){return "business/rent/rentCarManager";}/*** 跳转到出租单管理的页面* @return*/@RequestMapping("toRentManager")public String toRentManager(){return "business/rent/rentManager";}/*** 跳转到汽车入库管理的页面* @return*/@RequestMapping("toCheckCarManager")public String toCheckCarManager(){return "business/check/checkCarManager";}/*** 跳转到检查单管理的页面* @return*/@RequestMapping("toCheckManager")public String toCheckManager(){return "business/check/checkManager";}}

RentController

package com.yeqifu.bus.controller;import com.yeqifu.bus.domain.Car;
import com.yeqifu.bus.domain.Customer;
import com.yeqifu.bus.service.ICarService;
import com.yeqifu.bus.service.ICustomerService;
import com.yeqifu.bus.service.IRentService;
import com.yeqifu.bus.vo.RentVo;
import com.yeqifu.sys.constast.SysConstast;
import com.yeqifu.sys.domain.User;
import com.yeqifu.sys.utils.DataGridView;
import com.yeqifu.sys.utils.RandomUtils;
import com.yeqifu.sys.utils.ResultObj;
import com.yeqifu.sys.utils.WebUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Date;/*** 汽车出租管理的控制器*/
@RestController
@RequestMapping("rent")
public class RentController {@Autowiredprivate IRentService rentService;@Autowiredprivate ICarService carService;@Autowiredprivate ICustomerService customerService;/*** 检查身份证号是否存在* @param rentVo* @return*/@RequestMapping("checkCustomerExist")public ResultObj checkCustomerExist(RentVo rentVo){Customer customer = customerService.queryCustomerByIdentity(rentVo.getIdentity());if (null!=customer){return ResultObj.STATUS_TRUE;}else {return ResultObj.STATUS_FALSE;}}/*** 初始化添加出租单的表单的数据* @param rentVo* @return*/@RequestMapping("initRentFrom")public RentVo initRentFrom(RentVo rentVo){//生成出租单号rentVo.setRentid(RandomUtils.createRandomStringUseTime(SysConstast.CAR_ORDER_CZ));//设置起租时间rentVo.setBegindate(new Date());//设置操作员/*User user =(User) WebUtils.getHttpSession().getAttribute("user");rentVo.setOpername(user.getRealname());*/Customer customer = customerService.queryCustomerByIdentity(rentVo.getIdentity());rentVo.setOpername(customer.getCustname());return rentVo;}/*** 保存出租单信息* @param rentVo* @return*/@RequestMapping("saveRent")public ResultObj saveRent(RentVo rentVo){try {//设置创建时间rentVo.setCreatetime(new Date());//设置归还状态  默认为审核中rentVo.setRentflag(SysConstast.RENT_CHECK);//保存this.rentService.addRent(rentVo);return ResultObj.ADD_SUCCESS_RENT;}catch (Exception e){e.printStackTrace();return ResultObj.ADD_ERROR_RENT;}}/*** 删除出租单信息* @param rentVo* @return*/@RequestMapping("deleteRent")public ResultObj deleteRent(RentVo rentVo){try {//删除this.rentService.deleteRent(rentVo.getRentid());return ResultObj.DELETE_SUCCESS;}catch (Exception e){e.printStackTrace();return ResultObj.DELETE_ERROR;}}/*** 修改出租单信息* @param rentVo* @return*/@RequestMapping("updateRent")public ResultObj updateRent(RentVo rentVo){try {//修改this.rentService.updateRent(rentVo);return ResultObj.UPDATE_SUCCESS;}catch (Exception e){e.printStackTrace();return ResultObj.UPDATE_ERROR;}}/*** 审核出租单信息* @param rentVo* @return*/@RequestMapping("checkRent")public ResultObj checkRent(RentVo rentVo){try {//修改出租单的状态rentVo.setRentflag(SysConstast.RENT_BACK_FALSE);this.rentService.updateRent(rentVo);//修改汽车的状态Car car = carService.queryCarByCarNumber(rentVo.getCarnumber());car.setIsrenting(SysConstast.RENT_CAR_TRUE);this.carService.updateCarCheck(car);return ResultObj.CHECK_SUCCESS_RENT;}catch (Exception e){e.printStackTrace();return ResultObj.CHECK_ERROR_RENT;}}/******************出租单管理*******************//*** 查询*/@RequestMapping("loadAllRent")public DataGridView loadAllRent(RentVo rentVo){return this.rentService.queryAllRent(rentVo);}}

大家点赞、收藏、关注、评论啦 、👇🏻点开下方卡片👇🏻关注后回复 100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/311381.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信号与线性系统翻转课堂笔记17——z变换及其性质

信号与线性系统翻转课堂笔记17——z变换及其性质 The Flipped Classroom17 of Signals and Linear Systems 对应教材:《信号与线性系统分析(第五版)》高等教育出版社,吴大正著 一、要点 (1)序列的z变换…

使用keepalived时虚拟IP漂移注意事项

什么是Keepalived服务 keepalived是一个开源的软件项目,用于实现高可用性(HA)的网络服务器负载均衡和故障转移。它允许将多台服务器组合在一起,形成一个虚拟服务器集群,实现负载均衡和故障转移。 keepalived的核心功…

启动gazebo harmonic

ros2 launch ros_gz_sim gz_sim.launch.py gz_version:8 如果不输入gz_version:8,默认就是6,启动的就是默认版本ign版本 左边那个是8,右边那个是6

如何有效提高建筑模板的周转次数和使用寿命?

提高建筑模板的周转次数和使用寿命对于降低工程成本和提高效率具有重要意义。在这方面,能强优品木业的建筑模板以其领先行业标准的周转次数和使用寿命,深受广泛客户的信赖。以下是一些有效提高建筑模板使用寿命的方法: 选用高质量材料 使用高…

【python】爬取百度热搜排行榜Top50+可视化【附源码】【送数据分析书籍】

一、导入必要的模块: 这篇博客将介绍如何使用Python编写一个爬虫程序,从斗鱼直播网站上获取图片信息并保存到本地。我们将使用requests模块发送HTTP请求和接收响应,以及os模块处理文件和目录操作。 如果出现模块报错 进入控制台输入&#xff…

Hadoop安装笔记1单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

将下发的ds_db01.sql数据库文件放置mysql中 12、编写Scala代码,使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String&am…

007、控制流

先看下本篇学习内容: 通过条件来执行 或 重复执行某些代码 是大部分编程语言的基础组成部分。在Rust中用来控制程序执行流的结构主要就是 if表达式 与 循环表达式。 1. if表达式 if表达式允许我们根据条件执行不同的代码分支。我们提供一个条件,并且做出…

【node-express】在commonjs的项目中使用esm和ts开发的sdk

在commonjs的项目中使用esm和ts开发的sdk 效果实现步骤 效果 在一些demo中, 大部分代码是commonjs规范开发的,但是要用到的sdk是ts开发的并且仅支持esm, 又不想配置很复杂的工程项目,可以这么做。如果你有更好的建议,希望能得到你…

SPI机制原理+使用

一、概述 SPI全称(Service Provider Interface),是JDK内置的一种服务提供发现机制;SPI机制提供了组件发现和注册方式,可以为应用程序提供灵活的插件机制, 主要原理:接口 反射 配置文件。 二、…

如何实现WinApp的UI自动化测试?

WinApp(WindowsAPP)是运行在Windows操作系统上的应用程序,通常会提供一个可视的界面,用于和用户交互。例如运行在Windows系统上的Microsoft Office、PyCharm、Visual Studio Code、Chrome,都属于WinApp。常见的WinApp&…

【SpringBoot】SwaggerKnif4j接口文档集成

[TOC] 序:接口文档 ​ 在开发过程中,接口文档是非常重要的一环,在 Spring Boot 中,我们可以通过集成第三方来实现接口文档的自动生成。 ​ 通过注解来描述接口,然后根据这些注解自动生成接口文档,它不仅…

4.Python数据序列

Python数据序列 一、作业回顾 1、面试题 有一物,不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何? 白话文:有一个数字,不知道具体是多少,用3去除剩2,用5去除剩3,用7去除剩2个,问这个数是多少?1 ~ 100以内的整数 while循环: # 初始化计数器 i = …