【開源】基于Vue和SpringBoot的車險自助理賠系統

在這里插入圖片描述

項目編號: S 018 ,文末獲取源碼。 \color{red}{項目編號:S018,文末獲取源碼。} 項目編號:S018,文末獲取源碼。


目錄

  • 一、摘要
    • 1.1 項目介紹
    • 1.2 項目錄屏
  • 二、功能模塊
    • 2.1 數據中心模塊
    • 2.2 角色管理模塊
    • 2.3 車輛檔案模塊
    • 2.4 車輛理賠模塊
    • 2.5 理賠照片模塊
  • 三、系統設計
    • 3.1 用例設計
    • 3.2 數據庫設計
      • 3.2.1 角色表
      • 3.2.2 車輛表
      • 3.2.3 理賠表
      • 3.2.4 理賠照片表
  • 四、系統展示
  • 五、核心代碼
    • 5.1 查詢車輛檔案
    • 5.2 申請車輛理賠
    • 5.3 上傳理賠照片
    • 5.4 小程序登錄
    • 5.5 修改個人昵稱
  • 六、免責說明


一、摘要

1.1 項目介紹

基于Vue+SpringBoot+MySQL 的車險自助理賠系統包含車輛管理模塊、車險理賠模塊、理賠審核模塊,還包含系統自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數據字典管理、文件管理、圖表展示等基礎模塊,車險自助理賠系統基于角色的訪問控制,給車險管理員、用戶、理賠專員使用,可將權限精確到按鈕級別,您可以自定義角色并分配權限,系統適合設計精確的權限約束需求。

1.2 項目錄屏

源碼下載


二、功能模塊

車險自助理賠系統的功能性需求主要包含數據中心模塊、角色管理模塊、車輛檔案模塊、車輛理賠模塊這五大模塊,系統是基于瀏覽器運行的web管理后端,其中各個模塊詳細說明如下:

2.1 數據中心模塊

數據中心模塊包含了車險自助理賠系統的系統基礎配置,如登錄用戶的管理、運營公司組織架構的管理、用戶菜單權限的管理、系統日志的管理、公用文件云盤的管理。
其中登錄用戶管理模塊,由管理員負責運維工作,管理員可以對登錄用戶進行增加、刪除、修改、查詢操作。
組織架構,指的是運營公司的組織架構,該模塊適用于管理這些組織架構的部門層級和員工的部門歸屬情況。
用戶菜單權限管理模塊,用于管理不同權限的用戶,擁有哪些具體的菜單權限。
系統日志的管理,用于維護用戶登入系統的記錄,方便定位追蹤用戶的操作情況。
公用云盤管理模塊,用于統一化維護車險自助理賠系統中的圖片,如理賠單照片、車輛照片等等。

2.2 角色管理模塊

車險自助理賠系統是給多個角色使用的,車主和理賠管理員擁有著不同的菜單權限,所以需要建立角色管理模塊。其中角色的字段包括角色名稱、狀態、排序值、備注、創建人、創建時間、更新人、更新時間等,管理員可以新增、刪除、修改、條件查詢角色,用戶查詢管理員發布的角色數據。

2.3 車輛檔案模塊

車輛是車險自助理賠系統的核心,有了車輛才可以申請理賠,所以需要對車輛的檔案進程維護,車輛信息包括歸屬人、聯系電話、車牌號、車輛照片、品牌、保險狀態、創建人、創建時間等,車主可以申請添加自己名下的車輛,管理員可以對車輛信息進行添加、刪除、編輯和條件查詢操作。

2.4 車輛理賠模塊

車輛理賠模塊用于車主對自己車輛的理賠事宜進行申請和維護。車輛理賠的字段包括車輛、歸屬人、聯系電話、車牌號、車輛照片、品牌、理賠事由、審核狀態等,車主可以發起車輛理賠申請,管理員可以對車主發起的理賠申請進行審核操作。

2.5 理賠照片模塊

為了更好的表達車輛理賠的情況,設計了理賠照片模塊,車主可以根據需要上傳理賠的照片,更好的說明理賠的情況,理賠照片的字段包括理賠單、照片、上傳時間、上傳、備注、排序值、更新時間、更新人,車主可以上傳理賠照片,并掛靠到某個車輛理賠單上,管理員可以根據理賠單查詢理賠的照片數據。


三、系統設計

3.1 用例設計

在這里插入圖片描述

3.2 數據庫設計

3.2.1 角色表

在這里插入圖片描述

3.2.2 車輛表

在這里插入圖片描述

3.2.3 理賠表

在這里插入圖片描述

3.2.4 理賠照片表

在這里插入圖片描述


四、系統展示

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述


五、核心代碼

5.1 查詢車輛檔案

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢車輛")
public Result<IPage<Vehicle>> getByPage(@ModelAttribute Vehicle vehicle ,@ModelAttribute PageVo page){QueryWrapper<Vehicle> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(vehicle.getUserName())) {qw.like("user_name",vehicle.getUserName());}if(!ZwzNullUtils.isNull(vehicle.getCarNumber())) {qw.like("car_number",vehicle.getCarNumber());}if(!ZwzNullUtils.isNull(vehicle.getStatus())) {qw.like("status",vehicle.getStatus());}IPage<Vehicle> data = iVehicleService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Vehicle>>().setData(data);
}

5.2 申請車輛理賠

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "小程序申請理賠")
public Result<Object> addOne(@RequestParam String carId,@RequestParam String reason,@RequestParam String money,@RequestParam String image){Vehicle v = iVehicleService.getById(carId);if(v == null) {return ResultUtil.error("車輛不存在");}VehicleClaim vc = new VehicleClaim();vc.setVehicleId(v.getId());vc.setUserId(v.getUserId());vc.setUserName(v.getUserName());vc.setMobile(v.getMobile());vc.setCarNumber(v.getCarNumber());vc.setImage(v.getImage());vc.setBrand(v.getBrand());vc.setClaimReason(reason);vc.setClaimTime1(DateUtil.now());vc.setClaimTime2("");vc.setClaimStatus("未審核");vc.setClaimUser("");try {vc.setClaimMoney(BigDecimal.valueOf(Long.parseLong(money)));} catch (Exception e) {vc.setClaimMoney(BigDecimal.ZERO);}iVehicleClaimService.saveOrUpdate(vc);User currUser = securityUtil.getCurrUser();String[] imageList = image.split(",");for (String vo : imageList) {VehicleImage vi = new VehicleImage();vi.setClaimId(vc.getId());vi.setImage(vo);vi.setUploadTime(DateUtil.now());vi.setUploadUser(currUser.getNickname());iVehicleImageService.saveOrUpdate(vi);}return ResultUtil.success();
}

5.3 上傳理賠照片

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增照片")
public Result<VehicleImage> addOne(@RequestParam String id,@RequestParam String image){User currUser = securityUtil.getCurrUser();String[] imageList = image.split(",");for (String vo : imageList) {VehicleImage vi = new VehicleImage();vi.setClaimId(id);vi.setImage(vo);vi.setUploadTime(DateUtil.now());vi.setUploadUser(currUser.getNickname());iVehicleImageService.saveOrUpdate(vi);}return ResultUtil.success();
}

5.4 小程序登錄

@RequestMapping(value = "/loginOnWeb", method = RequestMethod.GET)
@ApiOperation(value = "小程序登陸")
public Result<String> loginOnWeb(@RequestParam String userName, @RequestParam String password){QueryWrapper<User> qw = new QueryWrapper<>();qw.eq("username",userName);List<User> userList = iUserService.list(qw);if(userList.size() < 1) {User u = new User();u.setUsername(userName);u.setNickname(userName);u.setMobile(userName);u.setEmail(u.getMobile() + "@qq.com");String encryptPass = new BCryptPasswordEncoder().encode(password);u.setPassword(encryptPass).setType(0);iUserService.saveOrUpdate(u);QueryWrapper<Role> roleQw = new QueryWrapper<>();roleQw.eq("default_role",true);List<Role> roleList = iRoleService.list(roleQw);if(roleList.size() > 0){for(Role role : roleList) {iUserRoleService.saveOrUpdate(new UserRole().setUserId(u.getId()).setRoleId(role.getId()));}}String accessToken = securityUtil.getToken(u.getUsername(), true);UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(new SecurityUserDetails(u), null, null);SecurityContextHolder.getContext().setAuthentication(authentication);return new ResultUtil<String>().setData(accessToken);}User user = userList.get(0);if(!new BCryptPasswordEncoder().matches(password, user.getPassword())){return ResultUtil.error("密碼不正確");}String accessToken = securityUtil.getToken(user.getUsername(), true);UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(new SecurityUserDetails(user), null, null);SecurityContextHolder.getContext().setAuthentication(authentication);return new ResultUtil<String>().setData(accessToken);
}

5.5 修改個人昵稱

@RequestMapping(value = "/changeName", method = RequestMethod.GET)
@ApiOperation(value = "修改昵稱")
public Result<User> changeName(@RequestParam String nickname){User user = iUserService.getById(securityUtil.getCurrUser().getId());if(user == null) {return ResultUtil.error("用戶不存在");}user.setNickname(nickname);iUserService.saveOrUpdate(user);return new ResultUtil<User>().setData(user);
}

六、免責說明

  • 本項目僅供個人學習使用,商用授權請聯系博主,否則后果自負。
  • 博主擁有本軟件構建后的應用系統全部內容所有權及獨立的知識產權,擁有最終解釋權。
  • 如有問題,歡迎在倉庫 Issue 留言,看到后會第一時間回復,相關意見會酌情考慮,但沒有一定被采納的承諾或保證。

下載本系統代碼或使用本系統的用戶,必須同意以下內容,否則請勿下載!

  1. 出于自愿而使用/開發本軟件,了解使用本軟件的風險,且同意自己承擔使用本軟件的風險。
  2. 利用本軟件構建的網站的任何信息內容以及導致的任何版權糾紛和法律爭議及后果和博主無關,博主對此不承擔任何責任。
  3. 在任何情況下,對于因使用或無法使用本軟件而導致的任何難以合理預估的損失(包括但不僅限于商業利潤損失、業務中斷與業務信息丟失),博主概不承擔任何責任。
  4. 必須了解使用本軟件的風險,博主不承諾提供一對一的技術支持、使用擔保,也不承擔任何因本軟件而產生的難以預料的問題的相關責任。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211892.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211892.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211892.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Maven基礎

目錄 Maven坐標 坐標簡介 主要組成 Maven依賴管理 配置依賴 依賴簡介 配置依賴 依賴傳遞 依賴傳遞簡介 排除依賴 依賴范圍 生命周期 生命周期簡介 執行指定生命周期 Maven坐標 坐標簡介 Maven中的坐標是資源的唯一標識&#xff0c;通過該坐標可以唯一定位資…

Redis交互速度慢,CPU占用100%,集群方案,報錯等問題

后續補充結論 仔細查看前輩們堆的代碼中發現居然調用了大量key*查詢&#xff0c;導致走的遍歷非常慢&#xff01;因為這相當與全部數據量遍歷&#xff0c;即這個原因導致了查詢速度與數據量成正比&#xff0c;推測也是CPU占用高的元兇&#xff1b;即使加上key前綴再匹配*也會走…

Python開發運維:Python調用K8S API實現資源管理

目錄 一、實驗 1.Python操作K8S API獲取資源 2.Python操作K8S API創建deployment資源 3.Python操作K8S API刪除k8s資源 4.Python操作K8S API修改k8s資源 5.Python操作K8S API查看k8s資源 二、問題 1.Windows11安裝kubernetes報錯 2.Python通過調用哪些方法實現Pod和De…

在SpringData JPA 中實現對持久層的操作

1.導入依賴 hibernate 這個依賴自帶實現JPA接口 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><depen…

TCP三次握手、四次揮手及狀態轉換詳解

1.什么是TCP協議&#xff1f; 傳輸控制協議&#xff08;TCP&#xff0c;Transmission Control Protocol&#xff09;是一種面向連接的、可靠的、基于字節流的傳輸層通信協議&#xff0c;位于網絡OSI七層模型的第四層&#xff0c;IP協議一起工作&#xff0c;TCP層是位于IP層之上…

(Spring學習07)Spring之啟動刷新過程源碼解析

概述 通常&#xff0c;我們說的Spring啟動&#xff0c;就是構造ApplicationContext對象以及調用refresh()方法的過程。 首先&#xff0c;Spring啟動過程主要做了這么幾件事情&#xff1a; 構造一個BeanFactory對象解析配置類&#xff0c;得到BeanDefinition&#xff0c;并注冊…

CrystalDiskInfo中文版(硬盤檢測工具) v9.1.1.0 綠色漢化版-供大家學習研究參考

更新內容 重新支持三星SATA SSD壽命報告 增加對ZHITAI SC001的支持 新增SK hynix Gold S31支持 增加了KLEVV NEO N610的支持。 改進的Micron/Crucial SATA SSD支持 已更改 卸載程序將顯示一個確認對話框&#xff0c;用于刪除設置。 強大功能 1.擁有多國語言&#xff0c;…

27 動態規劃解最大子序和

問題描述&#xff1a;給定一個整數數組nums&#xff0c;找到一個具有最大和的連續子數組(子數組最少含有一個元素)&#xff0c;返回其最大和。 動態規劃求解&#xff1a;定義dp[i]表示以i元素為結尾的最大和&#xff0c;如果dp[i-1]小于零的話&#xff0c;dp[i]nums[i],否則dp…

React-hook-form-mui(三):表單驗證

前言 在上一篇文章中&#xff0c;我們介紹了react-hook-form-mui的基礎用法。本文將著重講解表單驗證功能。 react-hook-form-mui提供了豐富的表單驗證功能&#xff0c;可以通過validation屬性來設置表單驗證規則。本文將詳細介紹validation的三種實現方法&#xff0c;以及如何…

ts中type和interface類型聲明的區別

1. 寫法上 type 使用關鍵字 type 進行聲明。 interface 使用關鍵字 interface 進行聲明。 // 使用 type type MyType {param: string; };// 使用 interface interface MyInterface {param: string; }2. 可合并性 interface 具有可合并性&#xff0c;允許在同一作用域內多次…

045:Vue讀取本地上傳JSON文件,導出JSON文件方法

第045個 查看專欄目錄: VUE ------ element UI 專欄目標 在vue和element UI聯合技術棧的操控下&#xff0c;本專欄提供行之有效的源代碼示例和信息點介紹&#xff0c;做到靈活運用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安裝、引用&#xff0c;模板使…

jquery手寫廣告輪播圖,無限循環功能

說明 在很多情況下&#xff0c;我們都需要開發廣告輪播圖&#xff0c;當我們進行頁面的功能開發時&#xff0c;采用輪播圖來實現也行&#xff0c;但是很多情況下&#xff0c;我們只需要簡單的控制輪播循環輪播展示即可&#xff0c;所以用jq開開發廣告輪播波&#xff0c;自定義…

spring更加松散的獲取bean的方式ObjectProvider

概述 ObjectProvider直譯就是對象提供者; 平時從spring中獲取bean都是調用beanFactory.getBean()方法&#xff0c;如果bean不存在則會直接拋異常; 從spring 4.3開始引入了org.springframework.beans.factory.ObjectProvider接口,其提供了若干的方法&#xff0c;可以更松散的…

Idea 插件開發: Swing Designer設計器創建的組件全部為空問題記錄

問題現象 通過Swing 設計器創建的對象, Swing組件全部是空的, 導致ToolWindowFactory工廠的實現類調用時候出現了空指針異常 如下方式創建的 問題分析 問題出現時候, 同時給我生成了一個createUIComponents的私有方法, 由于個人當時理解有誤, 把他當成了初始化方法, 在里面…

Oracle高可用一家老小全在這里

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈嘍&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人稱jeames007&#xff0c;10余年DBA及大數據工作經驗 一位上進心十足的【大數據領域博主】&#xff01;&#x1f61c;&am…

用Java實現一對一聊天

目錄 服務端 客戶端 服務端 package 一對一用戶; import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; imp…

s3-dist-cp 介紹教程示例使用方法

s3-dist-cp 是 AWS EMR 內置的用于 S3 和 HDFS 之間文件拷貝的專用工具,與 Hadoop 的 distcp 類似,也是通過 Map-Reduce 作業的方式實現分布式的文件復制(distcp 就是 distributed copy 分布式拷貝的意思)。 s3-dist-cp 并不是一個簡單的在 S3 和 HDFS 之間拷貝文件的工具…

SpringBoot中MyBatis-Flex的集成和使用

一、MyBatis-Flex 是什么? MyBatis-Flex是一個基于MyBatis的數據訪問框架&#xff0c;專門為Flex應用程序而設計的。它提供了一種靈活而高效的方式來處理Flex應用程序中的數據訪問&#xff0c;可以輕松地連接到各種數據源&#xff0c;并提供了一些方便的工具和功能&#xff0c…

虛擬機和主機間復制粘貼

文章目錄 前言一、版本介紹二、安裝工具1.確認配置2.安裝工具3.重啟 總結 前言 在Windows中使用虛擬機&#xff0c;可以很方便地linux&#xff0c;就像是在本地操作服務器一樣。 一、版本介紹 虛擬機&#xff1a;VMware 15 操作系統&#xff1a;CentOS 7 二、安裝工具 1.確…

delphi android打開外部文件,報錯android.os.FileUriExposedException解決方法

Android 7.0強制啟用了被稱作 StrictMode的策略&#xff0c;帶來的影響就是你的App對外無法暴露file://類型的URI了。 如果你使用Intent攜帶這樣的URI去打開外部App(比如&#xff1a;打開系統相機拍照)&#xff0c;那么會拋出FileUriExposedException異常。 Delphi 為Android…