| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | |
| | | |
| | | @Autowired |
| | | private ApplyLogMapper applyLogMapper; |
| | | @Autowired |
| | | private MultifileMapper multifileMapper; |
| | | |
| | | @Autowired |
| | | private ApplyLogJoinMapper applyLogJoinMapper; |
| | |
| | | if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){ |
| | | if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~"); |
| | | } |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_RETURN; |
| | | String info =applyLogType.getInfo(); |
| | | info = info.replace("${param}", update.getCheckInfo()); |
| | | ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),null,null); |
| | | ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); |
| | | applyLogMapper.insert(log); |
| | | return null; |
| | | return 1; |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public Integer uploadBaoxiandan(InsuranceApply insuranceApply) { |
| | | return null; |
| | | if(insuranceApply.getId() == null |
| | | || insuranceApply.getCode() == null |
| | | || insuranceApply.getStartTime() == null |
| | | || insuranceApply.getBaoxiandanFile() == null |
| | | ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getFileurl()) |
| | | ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getName())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | |
| | | InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId()); |
| | | if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.SIGNATURE.getKey())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~"); |
| | | } |
| | | if(insuranceApply.getApplyEndTime()== null || insuranceApply.getStartTime().getTime()>insuranceApply.getApplyEndTime().getTime() ){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请生效周期时间不符合要求,请确认后修改重试~"); |
| | | } |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | InsuranceApply update = new InsuranceApply(); |
| | | update.setEditDate(new Date()); |
| | | update.setEditor(user.getId()); |
| | | update.setStatus(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()); |
| | | update.setCheckDate(update.getEditDate()); |
| | | update.setCheckInfo(insuranceApply.getCheckInfo()); |
| | | update.setCheckUserId(user.getId()); |
| | | update.setId(model.getId()); |
| | | update.setCode(insuranceApply.getCode()); |
| | | update.setEndTime(model.getApplyEndTime()); |
| | | update.setStartTime(insuranceApply.getStartTime()); |
| | | insuranceApplyMapper.updateById(update); |
| | | |
| | | insuranceApply.getBaoxiandanFile().setIsdeleted(Constants.ZERO); |
| | | insuranceApply.getBaoxiandanFile().setCreator(user.getId()); |
| | | insuranceApply.getBaoxiandanFile().setCreateDate(update.getEditDate()); |
| | | insuranceApply.getBaoxiandanFile().setObjType(Constants.MultiFile.BD_DONE_PDF.getKey()); |
| | | insuranceApply.getBaoxiandanFile().setType(Constants.TWO); |
| | | multifileMapper.insert(insuranceApply.getBaoxiandanFile()); |
| | | update.setBaoxiandanFile(insuranceApply.getBaoxiandanFile()); |
| | | |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD_INSURANCE; |
| | | String info = ""; |
| | | if(model.getApplyStartTime()!=null && model.getApplyStartTime().getTime()/1000!= insuranceApply.getStartTime().getTime()/1000){ |
| | | info =applyLogType.getInfo(); |
| | | info = info.replace("${param1}",DateUtil.getPlusTime2(model.getApplyEndTime())); |
| | | info = info.replace("${param2}",DateUtil.getPlusTime2(insuranceApply.getStartTime())); |
| | | } |
| | | ApplyLog log = new ApplyLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); |
| | | applyLogMapper.insert(log); |
| | | return 1; |
| | | |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public Integer refuseBackApply(InsuranceApply insuranceApply) { |
| | | return null; |
| | | public Integer dealBackApply(InsuranceApply insuranceApply) { |
| | | if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId()); |
| | | |
| | | if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | Constants.ApplyLogType applyLogType = null; |
| | | String info = ""; |
| | | if(insuranceApply.getDealBackApply() ==1){ |
| | | //如果是驳回,只能可驳回申请状态进行操作 |
| | | if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN_SELECT.getKey())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~"); |
| | | } |
| | | applyLogType = Constants.ApplyLogType.PLATFORM_UN_AGREE_BACK; |
| | | info = applyLogType.getInfo(); |
| | | info = info.replace("${param}", insuranceApply.getCheckInfo()); |
| | | }else{ |
| | | //如果是同意,两种申请退回状态都可操作 |
| | | if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN_SELECT.getKey()) |
| | | ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN.getKey()))){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~"); |
| | | } |
| | | applyLogType = Constants.ApplyLogType.PLATFORM_AGREE_BACK; |
| | | } |
| | | InsuranceApply update = new InsuranceApply(); |
| | | update.setEditDate(new Date()); |
| | | update.setEditor(user.getId()); |
| | | //同意退回,直接回到最初状态,如果驳回退回申请,则保单状态回到待上传保险单 |
| | | update.setStatus(insuranceApply.getDealBackApply() ==0?Constants.InsuranceApplyStatus.UPLOAD.getKey():Constants.InsuranceApplyStatus.SIGNATURE.getKey()); |
| | | update.setCheckDate(update.getEditDate()); |
| | | update.setCheckInfo(insuranceApply.getCheckInfo()); |
| | | update.setCheckUserId(user.getId()); |
| | | update.setId(model.getId()); |
| | | insuranceApplyMapper.updateById(update); |
| | | |
| | | ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); |
| | | applyLogMapper.insert(log); |
| | | return 1; |
| | | |
| | | |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public Integer uploadToubaodan(InsuranceApply insuranceApply) { |
| | | return null; |
| | | if(insuranceApply.getId() == null |
| | | || insuranceApply.getToubaodanFile() == null |
| | | ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getFileurl()) |
| | | ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getName())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId()); |
| | | if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey()) |
| | | || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()))){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~"); |
| | | } |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | InsuranceApply update = new InsuranceApply(); |
| | | update.setEditDate(new Date()); |
| | | update.setEditor(user.getId()); |
| | | update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()); |
| | | update.setCheckDate(update.getEditDate()); |
| | | update.setCheckInfo(insuranceApply.getCheckInfo()); |
| | | update.setCheckUserId(user.getId()); |
| | | update.setId(model.getId()); |
| | | insuranceApplyMapper.updateById(update); |
| | | |
| | | insuranceApply.getToubaodanFile().setIsdeleted(Constants.ZERO); |
| | | insuranceApply.getToubaodanFile().setCreator(user.getId()); |
| | | insuranceApply.getToubaodanFile().setCreateDate(update.getEditDate()); |
| | | insuranceApply.getToubaodanFile().setObjType(Constants.MultiFile.BD_APPLY_PDF.getKey()); |
| | | insuranceApply.getToubaodanFile().setType(Constants.TWO); |
| | | multifileMapper.insert(insuranceApply.getToubaodanFile()); |
| | | update.setToubaodanFile(insuranceApply.getToubaodanFile()); |
| | | |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WAIT_SIGNATURE; |
| | | String info =applyLogType.getInfo(); |
| | | info = info.replace("${param}", update.getCheckInfo()); |
| | | ApplyLog log = new ApplyLog(update,applyLogType.getName(),StringUtils.isNotBlank(update.getCheckInfo())?info:"",update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); |
| | | applyLogMapper.insert(log); |
| | | return 1; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 审核通过 |
| | | * @param insuranceApply |
| | | * @return |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public Integer check(InsuranceApply insuranceApply) { |
| | | return null; |
| | | if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId()); |
| | | |
| | | if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~"); |
| | | } |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | InsuranceApply update = new InsuranceApply(); |
| | | update.setEditDate(new Date()); |
| | | update.setEditor(user.getId()); |
| | | update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()); |
| | | update.setCheckDate(update.getEditDate()); |
| | | update.setCheckInfo(insuranceApply.getCheckInfo()); |
| | | update.setCheckUserId(user.getId()); |
| | | update.setId(model.getId()); |
| | | insuranceApplyMapper.updateById(update); |
| | | |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS; |
| | | ApplyLog log = new ApplyLog(update,applyLogType.getName(),null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); |
| | | applyLogMapper.insert(log); |
| | | return 1; |
| | | |
| | | } |
| | | |
| | |
| | | if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.CLOSE.getKey())){ |
| | | throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"已关闭,请勿重复操作"); |
| | | } |
| | | if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_AGREE.getKey()) |
| | | ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey()))){ |
| | | if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()) |
| | | ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey()) |
| | | ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()))){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态非可申请退回!"); |
| | | } |
| | | } |