系統亮點:協同過濾算法、騰訊地圖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.項目有很多,并未全部上傳,如果未找到想要的,可直接咨詢。