基于JAVA的个人保险管理系统 开源项目
目录
一、摘要
1.1 项目介绍
基于JAVA+Vue+SpringBoot+MySQL的个人保险管理系统,包含了保险档案模块、保险订单模块、保险理赔模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,个人保险管理系统基于角色的访问控制,给管理员、普通用户使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
1.2 项目录屏
二、功能模块
2.1 登录注册模块
个人保险管理系统的登录注册模块是系统中非常重要的一部分,它负责用户身份验证和账户管理,登录注册模块是个人保险管理系统中与用户交互最频繁的部分,它的安全性和用户体验直接影响着整个系统的可用性和用户满意度。
2.2 保险档案模块
个人保险管理系统的保险档案模块是用于管理用户的保险信息和相关数据的重要部分。用户可以通过该功能添加新的保险信息。在添加保险档案时,用户通常需要提供保险类型、保险公司、保险单号、生效日期、失效日期、受益人等信息。系统会对输入的数据进行验证和存储,确保保险档案信息的完整性和准确性。用户可以选择删除不再需要的保险档案。在进行删除操作时,系统通常会提示用户确认删除,以避免误操作导致数据丢失。删除操作通常需要用户具有相应的权限,以防止误删或恶意删除。用户可以对已有的保险档案进行修改。用户可以修改保险信息中的某些字段,如保险公司、生效日期、失效日期等。修改操作也需要用户具有相应的权限,以确保数据的安全性和一致性。用户可以通过查询功能查看自己的保险档案信息。系统通常提供多种查询方式,如按保险类型、保险公司、生效日期等进行条件查询,以便用户快速找到所需的保险信息。在设计和实现个人保险管理系统的保险档案模块时,需要考虑用户友好的界面设计、数据输入验证、权限控制、数据存储安全等方面的需求。同时,需要遵循相关的隐私保护法规,确保用户的个人保险信息得到有效的保护。
2.3 保险订单模块
管理员或用户可以创建新的保险订单,包括填写被保险人信息、保险类型、保险金额、保险期限等。管理员可以根据订单号或其他标识删除已存在的保险订单。管理员或用户可以对已存在的保险订单进行修改,如修改被保险人信息、保险类型、保险金额、保险期限等,管理员或用户可以根据订单号、被保险人信息等条件进行查询已存在的保险订单,以获取订单详情。
2.4 保险理赔模块
管理员或用户可以添加新的理赔记录,包括填写被保险人信息、保险订单号、理赔原因、理赔金额等。管理员可以根据理赔记录号或其他标识删除已存在的理赔记录,管理员或用户可以对已存在的理赔记录进行修改,如修改被保险人信息、理赔原因、理赔金额等。管理员或用户可以根据理赔记录号、被保险人信息等条件进行查询已存在的理赔记录,以获取理赔详情。
三、系统展示
四、核心代码
4.1 查询保险产品
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询保险产品")
public Result<IPage<Insurance>> getByPage(@ModelAttribute Insurance insurance ,@ModelAttribute PageVo page){
QueryWrapper<Insurance> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(insurance.getTitle())) {
qw.like("title",insurance.getTitle());
}
if(!ZwzNullUtils.isNull(insurance.getType())) {
qw.eq("type",insurance.getType());
}
IPage<Insurance> data = iInsuranceService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Insurance>>().setData(data);
}
4.2 新增保险预定
@RequestMapping(value = "/addOrder", method = RequestMethod.GET)
@ApiOperation(value = "新增保险预定")
public Result<InsuranceOrder> addOrder(@RequestParam String id){
Insurance insurance = iInsuranceService.getById(id);
if(insurance == null) {
return ResultUtil.error("保险不存在");
}
User currUser = securityUtil.getCurrUser();
InsuranceOrder io = new InsuranceOrder();
io.setInsuranceId(insurance.getId());
io.setInsuranceName(insurance.getTitle());
io.setUserId(currUser.getId());
io.setUserName(currUser.getNickname());
io.setPayFlag(false);
io.setPayTime("");
iInsuranceOrderService.saveOrUpdate(io);
return ResultUtil.success();
}
4.3 订单支付
@RequestMapping(value = "/pay", method = RequestMethod.GET)
@ApiOperation(value = "订单支付")
public Result<InsuranceOrder> pay(@RequestParam String id){
InsuranceOrder order = iInsuranceOrderService.getById(id);
if(order == null) {
return ResultUtil.error("保险单不存在");
}
if(order.isPayFlag()) {
return ResultUtil.error("已支付,请勿重复支付");
}
order.setPayFlag(true);
order.setPayTime(DateUtil.now());
iInsuranceOrderService.saveOrUpdate(order);
return ResultUtil.success();
}
4.4 新增理赔单
@RequestMapping(value = "/addLiPei", method = RequestMethod.GET)
@ApiOperation(value = "新增理赔单")
public Result<InsuranceOrder> addLiPei(@RequestParam String id,@RequestParam float number){
InsuranceOrder order = iInsuranceOrderService.getById(id);
if(order == null) {
return ResultUtil.error("保险单不存在");
}
Insurance ins = iInsuranceService.getById(order.getInsuranceId());
if(ins == null) {
return ResultUtil.error("保险不存在");
}
if(number < ins.getDownNumber().floatValue() || number > ins.getUpNumber().floatValue()) {
return ResultUtil.error("赔付金额必须在保险限额内" + ins.getDownNumber().floatValue() + " - " + ins.getUpNumber().floatValue());
}
User currUser = securityUtil.getCurrUser();
InsurancePay pay = new InsurancePay();
pay.setInsuranceId(order.getInsuranceId());
pay.setInsuranceName(order.getInsuranceName());
pay.setOrderId(order.getId());
pay.setUserId(currUser.getId());
pay.setUserName(currUser.getNickname());
pay.setStatus(0);
pay.setMoney(BigDecimal.valueOf(number));
iInsurancePayService.saveOrUpdate(pay);
return ResultUtil.success();
}
4.5 查询保险理赔
@RequestMapping(value = "/getByMyPage", method = RequestMethod.GET)
@ApiOperation(value = "查询保险理赔")
public Result<IPage<InsurancePay>> getByMyPage(@ModelAttribute InsurancePay insurancePay ,@ModelAttribute PageVo page){
QueryWrapper<InsurancePay> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(insurancePay.getInsuranceName())) {
qw.like("insurance_name",insurancePay.getInsuranceName());
}
qw.eq("user_id",securityUtil.getCurrUser().getId());
IPage<InsurancePay> data = iInsurancePayService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<InsurancePay>>().setData(data);
}
五、免责说明
- 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
- 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
- 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!
- 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
- 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
- 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
- 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
原文地址:https://blog.csdn.net/yangyin1998/article/details/136388740
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!