|
|
@@ -25,7 +25,7 @@ import org.springframework.http.HttpHeaders;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
-import java.io.File;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Optional;
|
|
|
@@ -64,15 +64,14 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
|
|
|
final String ordersNo = quoteVo.getOrder().getOrdersNo();
|
|
|
// 请求头信息
|
|
|
HttpHeaders httpHeaders = anShengCrawlerQuoteProcessService.getHttpHeaders(quoteVo.getOrder()
|
|
|
- .getAttributionInformationVo()
|
|
|
- .getUsername(), quoteVo.getOrder().getAttributionInformationVo().getPassword());
|
|
|
+ .getAttributionInformationVo());
|
|
|
// 归属信息
|
|
|
AnShengCrawlerGetUserDetailResponse.DataDTO.AgentDefineDTO userDetailResponse = anShengCrawlerQuoteProcessService.getUserDetailResponse(quoteVo.getOrder()
|
|
|
.getAgreementId(), httpHeaders);
|
|
|
|
|
|
DepartmentPlanCode departmentPlanCode = DepartmentPlanCode.PLAN_109;
|
|
|
// 新能源
|
|
|
- if(quoteVo.getCarInfoVo().isNewEnergyMark()){
|
|
|
+ if (quoteVo.getCarInfoVo().isNewEnergyMark()) {
|
|
|
departmentPlanCode = DepartmentPlanCode.PLAN_113;
|
|
|
}
|
|
|
|
|
|
@@ -89,13 +88,12 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
|
|
|
AnShengCrawlerCalculatePremiumApplyMessage crawlerCalculatePremiumApply = new AnShengCrawlerCalculatePremiumApplyMessage(quoteVo, dataDTO, userDetailResponse, departmentPlanCode, checkVehicleCodeSecretGenerate);
|
|
|
AnShengCrawlerCalculatePremiumApplyResponse calculatePremiumApply = anShengCrawlerRequestComponent.calculatePremiumApply(crawlerCalculatePremiumApply, httpHeaders);
|
|
|
// 缓存报价信息
|
|
|
- AnShengCrawlerCalculatePremiumApplyMessage crawlerCalculatePremiumApplyMessage = new AnShengCrawlerCalculatePremiumApplyMessage();
|
|
|
+ AnShengCrawlerApplyApplicationRequest autoSpecialPromiseRequest = new AnShengCrawlerApplyApplicationRequest();
|
|
|
// 拷贝结果数据
|
|
|
- BeanUtil.copyProperties(calculatePremiumApply, crawlerCalculatePremiumApplyMessage, COPY_OPTIONS);
|
|
|
- // 拷贝报价数据
|
|
|
- BeanUtil.copyProperties(crawlerCalculatePremiumApply, crawlerCalculatePremiumApplyMessage, COPY_OPTIONS);
|
|
|
+ BeanUtil.copyProperties(calculatePremiumApply, autoSpecialPromiseRequest, COPY_OPTIONS);
|
|
|
+
|
|
|
// 缓存数据
|
|
|
- anShengCrawlerCacheComponent.cacheQuoteRequest(ordersNo, crawlerCalculatePremiumApplyMessage);
|
|
|
+ anShengCrawlerCacheComponent.cacheQuoteRequest(ordersNo, autoSpecialPromiseRequest);
|
|
|
// 构造返回参数
|
|
|
return AnShengCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(ordersNo, quoteVo, calculatePremiumApply);
|
|
|
}
|
|
|
@@ -104,25 +102,24 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
|
|
|
public UnderwritingResultsVo underwriting(UnderwritingVo underwritingVo) {
|
|
|
String ordersNo = underwritingVo.getOrder().getOrdersNo();
|
|
|
// 获取报价信息
|
|
|
- AnShengCrawlerCalculatePremiumApplyMessage quoteResponse = anShengCrawlerCacheComponent.getQuoteResponse(ordersNo);
|
|
|
+ AnShengCrawlerApplyApplicationRequest applicationRequest = anShengCrawlerCacheComponent.getQuoteResponse(ordersNo);
|
|
|
+ // 获取图片上传信息
|
|
|
+ List<AnShengCrawlerApplyApplicationRequest.ContractsDTO.PolicyAttachmentsDTO> imagesInfo = anShengCrawlerCacheComponent.getImagesInfo(underwritingVo.getOrder()
|
|
|
+ .getOrdersNo());
|
|
|
|
|
|
- HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
+ HttpHeaders httpHeaders = anShengCrawlerQuoteProcessService.getHttpHeaders(underwritingVo.getOrder()
|
|
|
+ .getAttributionInformationVo());
|
|
|
// 获取特别约定
|
|
|
- AnShengCrawlerAutoSpecialPromiseRequest autoSpecialPromiseRequest = new AnShengCrawlerAutoSpecialPromiseRequest();
|
|
|
- BeanUtil.copyProperties(quoteResponse, autoSpecialPromiseRequest, COPY_OPTIONS);
|
|
|
- AnShengCrawlerAutoSpecialPromiseResponse autoSpecialPromiseResponse = anShengCrawlerRequestComponent.autoSpecialPromise(autoSpecialPromiseRequest, httpHeaders);
|
|
|
-
|
|
|
+ AnShengCrawlerAutoSpecialPromiseResponse autoSpecialPromiseResponse = anShengCrawlerRequestComponent.autoSpecialPromise(applicationRequest, httpHeaders);
|
|
|
Map<String, AnShengCrawlerAutoSpecialPromiseResponse.DataDTO> stringDataDTOMap = autoSpecialPromiseResponse.getData()
|
|
|
.stream()
|
|
|
.collect(Collectors.toMap(AnShengCrawlerAutoSpecialPromiseResponse.DataDTO::getPlanCode, x -> x));
|
|
|
|
|
|
- // 提交核保
|
|
|
- AnShengCrawlerApplyApplicationRequest applicationRequest = new AnShengCrawlerApplyApplicationRequest("");
|
|
|
- BeanUtil.copyProperties(quoteResponse, applicationRequest);
|
|
|
applicationRequest.getContracts().forEach(contract -> {
|
|
|
AnShengCrawlerAutoSpecialPromiseResponse.DataDTO dataDTO = stringDataDTOMap.get(contract.getPolicyBase()
|
|
|
.getPlanCode());
|
|
|
- contract.getPolicyBase().setAlterableSpecialPromise(contract.getPolicyBase().getFixedSpecialPromise());
|
|
|
+ contract.getPolicyBase().setAlterableSpecialPromise(dataDTO.getAlterableSpecialPromise());
|
|
|
+ contract.setPolicyAttachments(imagesInfo);
|
|
|
});
|
|
|
|
|
|
AnShengCrawlerApplyApplicationResponse applyApplicationResponse = anShengCrawlerRequestComponent.applyApplication(applicationRequest, httpHeaders);
|
|
|
@@ -132,7 +129,10 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
|
|
|
|
|
|
@Override
|
|
|
public PaymentLinkResultsVo getPaymentLink(PaymentLinkVo paymentLinkVo) {
|
|
|
- HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
+ HttpHeaders httpHeaders = anShengCrawlerQuoteProcessService.getHttpHeaders(paymentLinkVo.getOrder()
|
|
|
+ .getAttributionInformationVo()
|
|
|
+ );
|
|
|
+
|
|
|
AnShengCrawlerPaymentRequest anShengCrawlerPaymentRequest = new AnShengCrawlerPaymentRequest();
|
|
|
anShengCrawlerRequestComponent.payment(anShengCrawlerPaymentRequest, httpHeaders);
|
|
|
return null;
|
|
|
@@ -140,39 +140,57 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
|
|
|
|
|
|
@Override
|
|
|
public void uploadImage(InsuranceUploadImageVo insuranceUploadImageVo) {
|
|
|
- HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
+ // 请求头信息
|
|
|
+ HttpHeaders httpHeaders = anShengCrawlerQuoteProcessService.getHttpHeaders(insuranceUploadImageVo.getOrder()
|
|
|
+ .getAttributionInformationVo()
|
|
|
+ );
|
|
|
|
|
|
+ List<AnShengCrawlerFileUploadResponse.DataDTO> dataDTOS = new ArrayList<>();
|
|
|
insuranceUploadImageVo.getImageVoList().forEach(image -> {
|
|
|
- AnShengCrawlerFileUploadRequest anShengCrawlerFileUploadRequest = new AnShengCrawlerFileUploadRequest();
|
|
|
- anShengCrawlerRequestComponent.fileUpload(anShengCrawlerFileUploadRequest, new File(""), httpHeaders);
|
|
|
+ AnShengCrawlerFileUploadRequest anShengCrawlerFileUploadRequest = new AnShengCrawlerFileUploadRequest(image.getInsuranceImageType(), image.getInsuranceImageCode());
|
|
|
+ image.getImageBase64List().forEach(imageDTO -> {
|
|
|
+ AnShengCrawlerFileUploadResponse.DataDTO dataDTO = anShengCrawlerRequestComponent.fileUpload(anShengCrawlerFileUploadRequest, imageDTO.getImageByte(), imageDTO.getImageName(), httpHeaders);
|
|
|
+ dataDTOS.add(dataDTO);
|
|
|
+ });
|
|
|
});
|
|
|
+
|
|
|
+ if (dataDTOS.isEmpty()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<AnShengCrawlerApplyApplicationRequest.ContractsDTO.PolicyAttachmentsDTO> policyAttachmentsDTOList = AnShengCrawlerFileUploadResponse.toPolicyAttachmentsDTOList(dataDTOS);
|
|
|
+ anShengCrawlerCacheComponent.cacheImagesInfo(insuranceUploadImageVo.getOrder()
|
|
|
+ .getOrdersNo(), policyAttachmentsDTOList);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo downloadPolicyVo) {
|
|
|
- HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
+ DownloadPolicyResultVo downloadPolicyResultVo = new DownloadPolicyResultVo();
|
|
|
+
|
|
|
+ HttpHeaders httpHeaders = anShengCrawlerQuoteProcessService.getHttpHeaders(downloadPolicyVo.getOrder()
|
|
|
+ .getAttributionInformationVo());
|
|
|
AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(downloadPolicyVo.getOrder()
|
|
|
.getOrdersNo());
|
|
|
|
|
|
Optional.ofNullable(anShengCrawlerOrder.getCiPolicyNo())
|
|
|
.ifPresent(policyNo -> {
|
|
|
- AnShengCrawlerQueryPrintPdfRequest queryPrintPdfCi = new AnShengCrawlerQueryPrintPdfRequest(policyNo, "");
|
|
|
- anShengCrawlerRequestComponent.queryPrintPdf(queryPrintPdfCi, "", httpHeaders);
|
|
|
+ AnShengCrawlerQueryPrintPdfRequest queryPrintPdfCi = new AnShengCrawlerQueryPrintPdfRequest(policyNo, "6");
|
|
|
+ downloadPolicyResultVo.setJqUrl(anShengCrawlerRequestComponent.queryPrintPdf(queryPrintPdfCi, httpHeaders));
|
|
|
|
|
|
- AnShengCrawlerQueryPrintPdfRequest queryPrintPdfCiBz = new AnShengCrawlerQueryPrintPdfRequest(policyNo, "");
|
|
|
- anShengCrawlerRequestComponent.queryPrintPdf(queryPrintPdfCiBz, "", httpHeaders);
|
|
|
+ AnShengCrawlerQueryPrintPdfRequest queryPrintPdfCiBz = new AnShengCrawlerQueryPrintPdfRequest(policyNo, "2");
|
|
|
+ downloadPolicyResultVo.setJqFlagUrl(anShengCrawlerRequestComponent.queryPrintPdf(queryPrintPdfCiBz, httpHeaders));
|
|
|
});
|
|
|
|
|
|
Optional.ofNullable(anShengCrawlerOrder.getBiPolicyNo())
|
|
|
.ifPresent(policyNo -> {
|
|
|
- AnShengCrawlerQueryPrintPdfRequest queryPrintPdfCi = new AnShengCrawlerQueryPrintPdfRequest(policyNo, "");
|
|
|
- anShengCrawlerRequestComponent.queryPrintPdf(queryPrintPdfCi, "", httpHeaders);
|
|
|
+ AnShengCrawlerQueryPrintPdfRequest queryPrintPdfCi = new AnShengCrawlerQueryPrintPdfRequest(policyNo, "6");
|
|
|
+ downloadPolicyResultVo.setSyUrl(anShengCrawlerRequestComponent.queryPrintPdf(queryPrintPdfCi, httpHeaders));
|
|
|
});
|
|
|
|
|
|
anShengCrawlerOrder.getNiInfos().forEach(niInfo -> {
|
|
|
Optional.ofNullable(niInfo.getNiPolicyNumber())
|
|
|
.ifPresent(policyNo -> {
|
|
|
- anShengCrawlerRequestComponent.downloadPdf("", policyNo, httpHeaders);
|
|
|
+ anShengCrawlerRequestComponent.downloadPdf( policyNo, httpHeaders);
|
|
|
});
|
|
|
});
|
|
|
return null;
|
|
|
@@ -180,13 +198,20 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
|
|
|
|
|
|
@Override
|
|
|
public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
|
|
|
-
|
|
|
+ // 获取订单信息
|
|
|
AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(orderStatusVo.getOrder()
|
|
|
.getOrdersNo());
|
|
|
-
|
|
|
- HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
- AnShengCrawlerQueryDocumentsInformationRequest queryDocumentsInformationRequest = new AnShengCrawlerQueryDocumentsInformationRequest("", "", anShengCrawlerOrder.getOrderNo(), anShengCrawlerOrder.getRecordingTime());
|
|
|
- AnShengCrawlerQueryDocumentsInformationResponse queryDocumentsInformationResponse = anShengCrawlerRequestComponent.queryDocumentsInformation(queryDocumentsInformationRequest, httpHeaders);
|
|
|
+ // 获取请求头
|
|
|
+ HttpHeaders httpHeaders = anShengCrawlerQuoteProcessService.getHttpHeaders(orderStatusVo.getOrder()
|
|
|
+ .getAttributionInformationVo());
|
|
|
+ // 归属信息
|
|
|
+ AnShengCrawlerGetUserDetailResponse.DataDTO.AgentDefineDTO userDetailResponse = anShengCrawlerQuoteProcessService.getUserDetailResponse(orderStatusVo.getOrder()
|
|
|
+ .getAgreementId(), httpHeaders);
|
|
|
+ // 查询订单状态
|
|
|
+ AnShengCrawlerComprehensiveQueryInsurenetRequest crawlerComprehensiveQueryInsurenet = new AnShengCrawlerComprehensiveQueryInsurenetRequest(userDetailResponse.getAgentCode(), userDetailResponse.getDepartmentCode(), anShengCrawlerOrder.getOrderNo(), anShengCrawlerOrder.getRecordingTime());
|
|
|
+ AnShengCrawlerComprehensiveQueryInsurenetResponse queryDocumentsInformationResponse = anShengCrawlerRequestComponent.comprehensiveQueryInsurenet(crawlerComprehensiveQueryInsurenet, httpHeaders);
|
|
|
+ List<AnShengCrawlerComprehensiveQueryInsurenetResponse.DataDTO.ListDTO> list = queryDocumentsInformationResponse.getData()
|
|
|
+ .getList();
|
|
|
|
|
|
return null;
|
|
|
}
|