文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

车险自助理赔系统 毕业设计 JAVA+Vue+SpringBoot+MySQL

2023-10-20 13:31

关注

作者主页Designer 小郑
作者简介:3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN博客专家,阿里云社区专家博主,蓝桥云课讲师。
项目编号: S 018 ,源码已在 B i l i b i l i 中上架,需要的朋友请自行下载。 \color{red}{项目编号:S018,源码已在 Bilibili 中上架,需要的朋友请自行下载。} 项目编号:S018,源码已在Bilibili中上架,需要的朋友请自行下载。

https://gf.bilibili.com/item/detail/1104012029

为了帮助小白入门 Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。

在这里插入图片描述


目录


一、摘要

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);}

六、免责说明

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述


感谢大家点赞、收藏、关注、评论啦 ,👇🏻如需获取项目源码请联系我👇🏻

来源地址:https://blog.csdn.net/qq_41464123/article/details/133230287

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯