项目介绍
车险理赔管理系统源码,分为三个用户,一个管理员,一个工作人员,一个普通人员
管理员功能:登录、发放赔偿金、赔偿金发放列表、申请理赔列表、申请理赔通过、我的资料、用户列表
工作人员功能:勘察员-待调查事故保单、勘察员-调查事故提交结果、勘察员-现场勘查记录、勘察员-现场勘查记录列表、勘察员-已调查记录
普通人员功能:用户-申请理赔、用户-添加保险、用户-我的保险、用户-我的理赔、用户-我的账户
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;
技术栈
1. 后端:Spring springmvc mybatis
2. 前端:JSP+css+javascript+jQuery+echarts;
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置,然后运行;
4. 运行成功后,在浏览器中输入:http://localhost:8081/
账号 管理员 admin/admin
勘探员 kanchayuan2/123455
普通用户 1/1
订单管理控制层:
@Controller
@RequestMapping(value = "/admin/orders")
public class AdminOrdersController extends BaseController {
@Autowired
private OrdersService ordersService;
@Autowired
private InsuranceService insuranceService;
@Autowired
private UserService userService;
@RequestMapping("add")
public String add(HttpServletRequest request, Orders model) {
User user = (User) request.getSession().getAttribute("user");
List<Insurance> insuranceList = insuranceService.getModelList(MapUtil.buildMap("userId", user.getId()));
request.setAttribute("model", model);
request.setAttribute("insuranceList", insuranceList);
return "/admin/orders-add";
}
@RequestMapping("edit")
public String edit(HttpServletRequest request, String id) {
Orders model = ordersService.getModel(id);
request.setAttribute("model", model);
return "/admin/orders-add";
}
@RequestMapping("save")
@ResponseBody
public Result save(HttpServletRequest request, Orders model) {
User user = (User) request.getSession().getAttribute("user");
int i = 0;
if (StringUtils.isBlank(model.getId())) {
model.preInsert();
model.setCreateDate(new Date());
i = ordersService.insertModel(model);
} else {
i = ordersService.updateModel(model);
}
if (i == 0) {
return ResultUtil.error("失败");
} else {
return ResultUtil.success(null);
}
}
@RequestMapping("approved")
@ResponseBody
public Result approved(String id,Integer state){
Orders model = ordersService.getModel(id);
model.setState(state);
if (state == 5){
getMoney(id);
}
int i = ordersService.updateModel(model);
if (i == 0) {
return ResultUtil.error("失败");
} else {
return ResultUtil.success(null);
}
}
/**
* 发放赔偿金
*/
public void getMoney(String orderId){
Orders orders = ordersService.getModel(orderId);//获取保单
User user = userService.getModel(orders.getUserId());//获取用户
BigDecimal price = orders.getPrice();//保单申请金额
user.setMoney(user.getMoney().add(price));//用户账户余额增加保费
userService.updateModel(user);
}
//删除批量删除
@RequestMapping("delete")
@ResponseBody
public Result delete(HttpServletRequest request, String id) {
if (StringUtils.isNotBlank(id)) {
String[] split = id.split(",");
for (int i = 0; i < split.length; i++) {
ordersService.deleteModel(split[i]);
}
return ResultUtil.success();
} else {
return ResultUtil.error("未选中删除项!");
}
}
@RequestMapping("list")
public String list(HttpServletRequest request, Orders model) {
request.setAttribute("model", model);
return "/admin/orders-list";
}
/**
* 用户提交的申请理赔
* @param request
* @param model
* @return
*/
@RequestMapping("approve")
public String approve(HttpServletRequest request, Orders model) {
request.setAttribute("model", model);
return "/admin/orders-approve";
}
/**
* 已经有调查勘察记录的申请单,确认是否发放赔偿金
* @param request
* @param model
* @return
*/
@RequestMapping("money/give")
public String moneyGive(HttpServletRequest request, Orders model) {
request.setAttribute("model", model);
return "/admin/orders-money";
}
/**
* 用户提交的需要调查的
* @param request
* @param model
* @return
*/
@RequestMapping("investigation")
public String investigation(HttpServletRequest request, Orders model) {
request.setAttribute("model", model);
return "/admin/orders-investigation";
}
/**
* 用户提交的需要调查的
* @param request
* @param model
* @return
*/
@RequestMapping("responsibility")
public String responsibility(HttpServletRequest request, Orders model) {
request.setAttribute("model", model);
return "/admin/orders-responsibility";
}
//获取列表数据
@RequestMapping("list/data")
@ResponseBody
public Result list(HttpServletRequest request, Orders model, @RequestParam(defaultValue = "1") Integer page, Integer limit) {
PageHelper.startPage(page, limit);
List<Orders> list = ordersService.getModelList(putEntityInMap(model));
PageInfo<Orders> pageInfo = new PageInfo<>(list);
return ResultUtil.success(list, pageInfo.getTotal());
}
}
用户管理控制层:
@Controller
@RequestMapping(value = "/admin/user")
public class AdminUserController extends BaseController {
@Autowired
private UserService userService;
@RequestMapping("get")
@ResponseBody
public Result get(String id) {
User model = userService.getModel(id);
if (model == null) {
return ResultUtil.error("用户不存在");
} else {
return ResultUtil.success(model);
}
}
@RequestMapping("add")
public String add(HttpServletRequest request, User model) {
request.setAttribute("model", model);
return "/admin/user-add";
}
/**
* 我的个人信息
*
* @param request
* @return
*/
@RequestMapping("info")
public String info(HttpServletRequest request) {
User user = (User) request.getSession().getAttribute("user");
request.setAttribute("model",user);
return "/admin/info";
}
/**
* 我的个人账户
*
* @param request
* @return
*/
@RequestMapping("money")
public String money(HttpServletRequest request) {
User user = (User) request.getSession().getAttribute("user");
request.setAttribute("model",user);
return "/admin/money";
}
@RequestMapping("edit")
public String edit(HttpServletRequest request, String id) {
User model = userService.getModel(id);
request.setAttribute("model", model);
return "/admin/user-add";
}
@RequestMapping("save")
@ResponseBody
public Result save(HttpServletRequest request, User model) {
User user = (User) request.getSession().getAttribute("user");
int i = 0;
if (StringUtils.isBlank(model.getId())) {
model.preInsert();
i = userService.insertModel(model);
} else {
i = userService.updateModel(model);
}
if (i == 0) {
return ResultUtil.error("失败");
} else {
return ResultUtil.success(null);
}
}
@RequestMapping("delete")
@ResponseBody
public Result delete(HttpServletRequest request, String id) {
if (StringUtils.isNotBlank(id)) {
String[] split = id.split(",");
for (int i = 0; i < split.length; i++) {
userService.deleteModel(split[i]);
}
return ResultUtil.success();
} else {
return ResultUtil.error("未选中删除项!");
}
}
@RequestMapping("list/data")
@ResponseBody
public Result list(HttpServletRequest request, User model, @RequestParam(defaultValue = "1") Integer page, Integer limit) {
PageHelper.startPage(page, limit);
List<User> list = userService.getModelList(putEntityInMap(model));
PageInfo<User> pageInfo = new PageInfo<>(list);
return ResultUtil.success(list, pageInfo.getTotal());
}
@RequestMapping("list")
public String list(HttpServletRequest request, User model) {
return "/admin/user-list";
}
}
附件上传管理控制层:
@Controller
public class FileUploadController {
@Autowired
private AttachmentService attachmentService;
private String rootpath = "d://files/";
@ResponseBody
@RequestMapping("files/upload")
public Result upload(MultipartFile file) throws IOException {
// 原始全名称
String originalFileName = file.getOriginalFilename();
// 后缀名
String suffixName = "";
if (originalFileName.lastIndexOf(".") > -1){
suffixName = originalFileName.substring(originalFileName.lastIndexOf(".") +1);
}
//新文件名
String uuid = IdGen.uuid();
//文件路径
String filepath = "/files/" + new SimpleDateFormat("yyyy/MM/dd/").format(new Date()) + uuid + "." + suffixName;
File newFile = new File(rootpath + filepath);
if (!newFile.getParentFile().exists()){
newFile.getParentFile().mkdirs();
}
Attachment attachment = new Attachment();
try {
//保存附件表
file.transferTo(newFile);
attachment.setId(uuid);
attachment.setName(originalFileName);
attachment.setPath(filepath);
attachment.preInsert();
attachment.setFileSize(file.getSize());
attachment.setSuffix(suffixName);
attachmentService.insertModel(attachment);
} catch (IOException e) {
return ResultUtil.error("上传出错!");
}
return ResultUtil.success( MapUtil.buildMap("id", uuid, "name", originalFileName,"date",attachment.getCreateDate(),"suffix",attachment.getSuffix()));
}
}