系统亮点:协同过滤算法、腾讯地图API、支付宝沙盒支付、WebsSocket实时聊天、ECharts图形化分析;
01系统开发工具与环境搭建
前后端分离架构
项目架构:B/S架构
运行环境:win10/win11、jdk17
前端:
技术:框架Vue.js;UI库:ElementUI;
开发工具:Visual Studio Code;
后端:
技术:Java语言、mybatis plus、Spring boot框架;
开发工具:IDEA 2023.3.3版本;
数据库:
数据库:mysql5.7/8.0
数据库工具:Navicat12版本;
02 系统实现(部分截图)
顾客模块功能需求包含:
- 账号管理:顾客可以进行注册账号,根据已注册的账号登录系统,支持顾客修改密码和修改个人信息。
- 租车模块:允许顾客通过车辆名称进行搜索可租车辆,也可以通过选择车型、品牌、座位数进行筛选适合的车辆。查看可用车辆,合适则可以进行预定。
- 反馈申请:顾客可以反馈自己遇到的系统问题或者使用车辆所遇到的问题。反馈状态为待处理,顾客可以进行编辑或者删除操作。
- 用车论坛:顾客可以在租车系统里畅所欲言,发布自己的租车感想或者租车攻略等信息,可以与其他顾客进行评价交流。对于喜爱的帖子,可以进行分享他人或进行收藏。
- 订单模块:顾客可以在订单模块查找自己所有的租车订单,可以对订单进行取消及评价处理。
- 联系客服:顾客可以在线上与客服进行实时聊天,询问自己想问的问题,可以及时的得到回复。
管理员模块功能需求包含:
- 账号管理:管理员登录后台系统,可以进行修改密码和个人信息。
- 顾客管理:管理员对顾客进行管理,可以对顾客信息进行修改、删除,新增新顾客,导出顾客功能。
- 反馈管理:管理员对顾客反馈的信息进行回复处理,管理员也有权删除相关的反馈信息。
- 论坛管理:管理员可以发布新话题,还能够对已发布的话题执行删除、修改操作,同时也具备对话题进行推荐或取消推荐的权限。此外,系统还对最近一周内各话题的浏览人次进行了统计,并以柱状图的形式进行了图形化分析。
- 车辆管理:管理员能够对车辆信息进行新增录入,也可以对已有的车辆信息进行修改,及时更新车辆信息。管理员还可以执行删除操作,将相关车辆信息从系统中移除,确保车辆管理数据准确。
- 客户会话:管理员要对顾客提出的问题和咨询进行及时回复,及时答疑解惑。
- 业务管理:管理员可以查看所有订单信息,管理员可以进行完成取消订车、完成取车、添加违规记录等操作,以便后续还车时,核对费用。管理员可以对租赁公司进行管理,进行选址。管理员可以查看对租赁车辆的参保情况。
用户端:
1.登录
顾客进入系统注册界面,输入未注册的账号、密码、邮箱、联系方式等信息,进行注册账号,如果信息无误则注册成功,并自动跳转登录界面,进行登录系统。顾客注册界面如图4.1所示。顾客进入系统登录界面,输入已注册的账号、密码,并选择对应的角色,输入图形验证码进行登录系统。顾客登录界面如图4.2所示。


2.首页

3.我要租车
顾客进入系统,点击"我要租车"导航栏,跳转"我要租车"界面,顾客可以根据车辆名称搜索车辆信息,也支持通过车型、品牌等信息进行选择车辆信息。

其核心代码如下:// 从数据库进行分页查询获取车辆信息数据IPage<Vehicles> pageRecords = VehiclesMapper.selectPage(page, queryWrapper);// 获取所有满足条件的数据行数Long totalCount = VehiclesMapper.selectCount(queryWrapper);// 把Vehicles实体转换成Vehicles传输模型List<VehiclesDto> items = Extension.copyBeanList(pageRecords.getRecords(), VehiclesDto.class); DispatchItem(items);// 返回一个分页结构给前端return PagedResult.GetInstance(items, totalCount);

4.租车详情

5.我要预定

6.反馈申请
顾客能够对系统使用过程中遇到的问题,或是车辆使用时碰到的问题进行反馈。反馈初始状态设定为待处理。在此期间,顾客有权对反馈内容进行编辑或删除操作。

其核心代码如下:if (input.getId() == null) { return new LeaveFeedBackDto();}PagedResult<LeaveFeedBackDto> pagedResult = List(input);return pagedResult.getItems().stream().findFirst().orElse(new LeaveFeedBackDto());
7.个人中心

8.我的订单

9.联系客服

10.用车论坛

11.论坛详情

管理端:
1.用户管理

2.客户会话
客户会话模块是为了处理客户的问题,管理员需针对顾客所提出的问题与咨询予以即时回应,及时为顾客答疑解惑。

其核心代码如下://声明一个会话集合实体Long meCount = _WechatCollectionMpper.selectCount(Wrappers.<WechatCollection>lambdaQuery().eq(WechatCollection::getSelfUserId, input.getSelfUserId()).eq(WechatCollection::getOtherUserId, input.getOtherUserId()));if (meCount == 0) { WechatCollection me = new WechatCollection(); me.setLastMessage(null); me.setLastTime(null); me.setSelfUserId(input.getSelfUserId()); me.setOtherUserId(input.getOtherUserId()); //调用数据库的增加或者修改方法 saveOrUpdate(me);}
3.反馈处理
管理员不仅有权对顾客反馈的信息进行回复处理,还可对相关反馈信息执行删除操作。

其核心代码如下://声明一个留言反馈实体LeaveFeedBack LeaveFeedBack = input.MapToEntity();//调用数据库的增加或者修改方法saveOrUpdate(LeaveFeedBack);//把传输模型返回给前端return LeaveFeedBack.MapToDto();
4.车辆统计

5.订单统计

6.话题管理

7.车辆管理

8.服务车辆

9.订单管理
管理员可以查看汽车租赁的所有订单信息,可以根据订单的条件筛选对应的订单信息。管理员可以进行更改订单的状态,或是删除订单信息。

其核心代码如下:// 5. 各时段订单量统计Map<String, Object> hourlyStats = new HashMap<>();hourlyStats.put("title", "各时段订单量");List<Map<String, Object>> hourlyData = OrderInfoMapper.selectList(null) .stream() .map(order -> order.getCreationTime().getHour()) .collect(Collectors.groupingBy( hour -> hour, TreeMap::new, Collectors.counting())) .entrySet() .stream() .map(entry -> { Map<String, Object> item = new HashMap<>(); item.put("hour", entry.getKey()); item.put("count", entry.getValue()); return item; }) .collect(Collectors.toList());hourlyStats.put("data", hourlyData);result.add(hourlyStats);return result;
10.租赁公司管理

11.车辆保险

12.违规记录

03 系统代码结构
1.后端

2.前端

3.数据库

04 源码获取
1.系统非商用,非开源,非无偿。
2.由本人开发,如需源码,请联系以下方式,koimibuff。
3.项目有很多,并未全部上传,如果未找到想要的,可直接咨询。