springboot+mysql+element-plus+vue完整实现汽车租赁系统

06-01 1168阅读

目录

一、项目介绍

二、项目截图

1.项目结构图

三、系统详细介绍

管理后台

1.登陆页

2.管理后台主页

3.汽车地点管理

4.汽车类别

5.汽车品牌

6.汽车信息

7.用户管理

8.举报管理

9.订单管理

10.轮播图管理

11.交互界面

12.图表管理

汽车租赁商城

1.首页

2.汽车展厅

3.当前订单

4.历史订单

5.在线沟通

四、源码实现

1.订单

2.汽车

五、总结


一、项目介绍

项目采用前后端分离的方式实现,后端:springboot+mysql+redis实现,前端:vue+element-plus+router+vite等实现。系统其中分为管理后台和游客租赁商城两个端,用户总体分为三种角色:超级管理员、员工、游客,超级管理员和员工登录管理后台进行汽车相关信息管理,主要权限的差别,二游客通过商城端进行注册和登录后,通过充值余额后可以进行汽车的租赁操作。

二、项目截图

1.项目结构图

后端开发工具是 IntelliJ IDEA

springboot+mysql+element-plus+vue完整实现汽车租赁系统

前端开发软件是webstorm,当然vscode、hbuilder等都可以,看自己习惯就行。

springboot+mysql+element-plus+vue完整实现汽车租赁系统

三、系统详细介绍

管理后台

1.登陆页

用户登陆后会自动根据用户类型跳转管理系统或者用户租赁商城端。

springboot+mysql+element-plus+vue完整实现汽车租赁系统

2.管理后台主页

springboot+mysql+element-plus+vue完整实现汽车租赁系统

3.汽车地点管理

取车及还车地点进行管理

springboot+mysql+element-plus+vue完整实现汽车租赁系统

4.汽车类别

springboot+mysql+element-plus+vue完整实现汽车租赁系统

5.汽车品牌

springboot+mysql+element-plus+vue完整实现汽车租赁系统

6.汽车信息

对租赁汽车进行相关管理,租赁价格、车牌等信息

springboot+mysql+element-plus+vue完整实现汽车租赁系统

7.用户管理

springboot+mysql+element-plus+vue完整实现汽车租赁系统

8.举报管理

可对用户进行封禁

springboot+mysql+element-plus+vue完整实现汽车租赁系统

9.订单管理

管理员可以对租赁订单进行各个步骤的审核,审核完成后游客才能进行取车、还车等相关操作

springboot+mysql+element-plus+vue完整实现汽车租赁系统

10.轮播图管理

springboot+mysql+element-plus+vue完整实现汽车租赁系统

11.交互界面

管理员可以与游客之间进行一些简单的在线沟通

springboot+mysql+element-plus+vue完整实现汽车租赁系统

springboot+mysql+element-plus+vue完整实现汽车租赁系统

12.图表管理

汽车、营收等统计数据

springboot+mysql+element-plus+vue完整实现汽车租赁系统

汽车租赁商城

1.首页

首页规则说明就是租赁的价格计算规则,后端代码会根据此规则算出租赁的最终费用。

springboot+mysql+element-plus+vue完整实现汽车租赁系统

2.汽车展厅

可查看更多、搜索汽车等

springboot+mysql+element-plus+vue完整实现汽车租赁系统

2.汽车详情

租赁汽车、评论等

springboot+mysql+element-plus+vue完整实现汽车租赁系统

springboot+mysql+element-plus+vue完整实现汽车租赁系统

springboot+mysql+element-plus+vue完整实现汽车租赁系统

3.当前订单

填写信息,进行汽车租赁操作,等待管理员审核后进行下一步操作,可追加租赁时间和变更地点等,支付定金后进行订单确认

springboot+mysql+element-plus+vue完整实现汽车租赁系统

4.历史订单

springboot+mysql+element-plus+vue完整实现汽车租赁系统

5.在线沟通

springboot+mysql+element-plus+vue完整实现汽车租赁系统

6.个人信息

可进行信息修改或充值

springboot+mysql+element-plus+vue完整实现汽车租赁系统

四、源码实现

1.订单
package wsir.carrental.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import wsir.carrental.dict.OrderStatus;
import wsir.carrental.entity.dto.OrderDto;
import wsir.carrental.entity.vo.OrderVo;
import wsir.carrental.service.OrderService;
import wsir.carrental.util.Result;
import java.net.HttpURLConnection;
import java.util.Map;
@RestController
@RequestMapping("/order")
public class OrderController {
    @Autowired
    private OrderService orderService;
    @PostMapping("/rent")
    public  Result generateOrder(@RequestBody OrderVo orderVo) {
        orderService.generateOrder(orderVo);
        return Result.success();
    }
    @PostMapping("/chargeDeposit")
    public  Result depositToAudit(@RequestBody OrderVo orderVo) {
        orderService.depositToAudit(orderVo);
        return Result.success();
    }
    @PostMapping("/audit")
    public  Result auditToTakeCar(@RequestBody OrderVo orderVo) {
        orderService.auditToTakeCar(orderVo);
        return Result.success();
    }
    @PostMapping("/takeCar")
    public  Result takeCarToCheckFile(@RequestBody OrderVo orderVo) {
        if (orderService.takeCarToCheckFile(orderVo) > 0) {
            return Result.success();
        }
        return Result.error(HttpURLConnection.HTTP_CONFLICT, "用户取车失败");
    }
    @PostMapping("/checkFile")
    public  Result checkFileToReturnCar(@RequestBody OrderVo orderVo) {
        if (orderService.checkFileToReturnCar(orderVo) > 0) {
            return Result.success();
        }
        return Result.error(HttpURLConnection.HTTP_CONFLICT, "工作人员检查文件失败");
    }
    @PostMapping("/returnCar")
    public  Result returnCarToWorkerCal(@RequestBody OrderVo orderVo) {
        orderService.returnCarToWorkerCal(orderVo);
        return Result.success();
    }
    @PostMapping("/calAmount")
    public  Result workerCalToRemaining(@RequestBody OrderVo orderVo) {
        if (orderService.workerCalToRemaining(orderVo) > 0) {
            return Result.success();
        }
        return Result.error(HttpURLConnection.HTTP_CONFLICT, "工作人员设置总金额失败");
    }
    @PostMapping("/chargeRemaining")
    public  Result remainingToFinish(@RequestBody OrderVo orderVo) {
        orderService.remainingToFinish(orderVo);
        return Result.success();
    }
    @GetMapping("/getOne")
    public Result getOne(@RequestParam String userId) {
        return Result.success(orderService.getOne(userId));
    }
    @PostMapping("/cancel")
    public  Result cancel(@RequestBody OrderVo orderVo) {
        orderService.cancel(orderVo);
        return Result.success();
    }
    @GetMapping("/getPages")
    public Result getPages(@RequestParam String userId,
 @RequestParam OrderStatus status,
 @RequestParam Long current,
 @RequestParam Long size) {
        IPage pages = orderService.getPages(userId, status, current, size);
        return Result.success(Map.of("page", pages));
    }
    @GetMapping("/getOneDriverMsg")
    public Result getOneDriverMsg(@RequestParam String orderId) {
        return Result.success(orderService.getOneDriverMsg(orderId));
    }
    @PostMapping("/changePlace")
    public  Result changePlace(@RequestBody OrderVo orderVo) {
        if (orderService.chgOrder(orderVo) > 0) {
            return Result.success();
        }
        return Result.error(HttpURLConnection.HTTP_CONFLICT, "用户修改地点失败");
    }
    @PostMapping("/changeReturnDate")
    public  Result changeReturnDate(@RequestBody OrderVo orderVo) {
        if (orderService.chgOrder(orderVo) > 0) {
            return Result.success();
        }
        return Result.error(HttpURLConnection.HTTP_CONFLICT, "用户延长租赁时间失败");
    }
    @GetMapping("/getOrderCount")
    public Result getuserCount() {
        return Result.success(orderService.getOrderCount());
    }
}
2.汽车
package wsir.carrental.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import wsir.carrental.dict.CarStatus;
import wsir.carrental.entity.domain.Car;
import wsir.carrental.entity.dto.CarDto;
import wsir.carrental.service.CarService;
import wsir.carrental.util.Result;
import java.net.HttpURLConnection;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/car")
public class CarController {
    @Autowired
    private CarService carService;
    @GetMapping("/getPages")
    public Result getPages(@RequestParam String carTypeId,
 @RequestParam String carNameId,
 @RequestParam String carSpecificName,
 @RequestParam String carTag,
 @RequestParam String licensePlate,
 @RequestParam String rented,
 @RequestParam CarStatus status,
 @RequestParam Long current,
 @RequestParam Long size) {
        IPage pages = carService.getPages(carTypeId, carNameId, carSpecificName, carTag, licensePlate, rented, status, current, size);
        return Result.success(Map.of("page", pages));
    }
    @GetMapping("/getOne")
    public Result getOne(@RequestParam String carId) {
        return Result.success(carService.getOne(carId));
    }
    @GetMapping("/getOneByName")
    public Result getOneByName(@RequestParam String specificName) {
        return Result.success(carService.getOneByName(specificName));
    }
    @PostMapping("/insertOne")
    public  Result insertOne(@RequestBody Car car) {
        if (carService.insertOne(car) > 0) {
            return Result.success();
        }
        return Result.error(HttpURLConnection.HTTP_PAYMENT_REQUIRED, "添加汽车信息失败!");
    }
    @PostMapping("/delMore")
    public  Result deleteBatch(@RequestBody List ids) {
        if (carService.deleteBatch(ids) > 0) {
            return Result.success();
        }
        return Result.error(HttpURLConnection.HTTP_PAYMENT_REQUIRED, "删除汽车信息失败!");
    }
    @PostMapping("/chgCar")
    public  Result chgCar(@RequestBody Car car) {
        if (carService.chgCar(car) > 0) {
            return Result.success();
        }
        return Result.error(HttpURLConnection.HTTP_PAYMENT_REQUIRED, "更改汽车信息失败!");
    }
    @GetMapping("/getSearchPages")
    public Result getSearchPages(@RequestParam String context,
       @RequestParam Long current,
       @RequestParam Long size) {
        IPage pages = carService.getPages(context, current, size);
        return Result.success(Map.of("page", pages));
    }
    @GetMapping("/getRandomFor3Cars")
    public Result getRandomFor3Cars(@RequestParam String carType) {
        return Result.success(carService.getRandomFor3Cars(carType));
    }
    @GetMapping("/getCarCount")
    public Result getCarCount() {
        return Result.success(carService.getCarCount());
    }
    @GetMapping("/getCarTypeChart")
    public Result getCarTypeChart() {
        return Result.success(carService.getCarTypeChart());
    }
    @GetMapping("/getCarNameChart")
    public Result getCarNameChart() {
        return Result.success(carService.getCarNameChart());
    }
}

五、总结

项目页面完整,后续可能将不断升级,完善其他页面。

关注作者,及时了解更多好项目!

更多优质项目请看作者主页!

获取源码或如需帮助,可通过博客后面名片+作者即可!

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码