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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 车险自助理赔系统 毕业设计 JAVA+Vue+SpringBoot+MySQL


五、核心代码

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. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
52 13
|
14天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
19天前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
38 5
|
1月前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
54 8
|
1月前
|
SQL 前端开发 关系型数据库
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
60 9
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
80 2
|
1月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
45 0
|
11天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
80 15
|
4天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
11天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
下一篇
DataWorks