|
|
@@ -15,6 +15,7 @@ import com.jzg.quotation.huanong.crawler.build.HuaNongCrawlerQuoteResultsVoBuild
|
|
|
import com.jzg.quotation.huanong.crawler.component.HuaNongCrawlerCacheComponent;
|
|
|
import com.jzg.quotation.huanong.crawler.component.HuaNongCrawlerRequestComponent;
|
|
|
import com.jzg.quotation.huanong.crawler.entity.HuaNongCrawlerConfigureParameters;
|
|
|
+import com.jzg.quotation.huanong.crawler.entity.bo.LoginInfoBO;
|
|
|
import com.jzg.quotation.huanong.crawler.entity.po.HuaNongCrawlerOrder;
|
|
|
import com.jzg.quotation.huanong.crawler.entity.request.*;
|
|
|
import com.jzg.quotation.huanong.crawler.entity.response.*;
|
|
|
@@ -23,8 +24,6 @@ import com.jzg.quotation.huanong.crawler.service.HuaNongCrawlerOrderService;
|
|
|
import com.jzg.quotation.huanong.crawler.service.HuaNongCrawlerQuoteProcessService;
|
|
|
import com.jzg.quotation.huanong.crawler.service.HuaNongCrawlerRequest;
|
|
|
import com.jzg.quotation.huanong.enums.dictionary.Risk;
|
|
|
-import lombok.AllArgsConstructor;
|
|
|
-import lombok.Data;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
import org.redisson.api.RMap;
|
|
|
@@ -55,18 +54,18 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
|
|
|
public QuoteResultsVo quote(QuoteVo quoteVo) {
|
|
|
HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
AttributionInformationVo attributionInformationVo = quoteVo.getOrder().getAttributionInformationVo();
|
|
|
- LoginInfoDto loginInfoDto = getLoginInfoDto(attributionInformationVo);
|
|
|
+ LoginInfoBO loginInfoDto = getLoginInfoDto(attributionInformationVo);
|
|
|
|
|
|
// 1 归属信息
|
|
|
- HuaNongCrawlerQuotedPriceRequestRequest.BusinessDataDTO.SaleInfoDTO saleInfoDTO =
|
|
|
- huaNongCrawlerQuoteProcessService.attributionInformation(quoteVo.getOrder()
|
|
|
- .getAgreementId(), loginInfoDto.getParameters(), attributionInformationVo.getUsername(), loginInfoDto.getToken(), loginInfoDto.getLoginComCode());
|
|
|
+ HuaNongCrawlerQuotedPriceRequestRequest.BusinessDataDTO.SaleInfoDTO saleInfoDTO = huaNongCrawlerQuoteProcessService.attributionInformation(quoteVo.getOrder()
|
|
|
+ .getAgreementId(), loginInfoDto.getParameters(), attributionInformationVo.getUsername(), loginInfoDto.getToken(), loginInfoDto.getLoginComCode());
|
|
|
|
|
|
// 2 车型查询
|
|
|
CarInfoVo carInfoVo = quoteVo.getCarInfoVo();
|
|
|
HuaNongCrawlerModelsQueryRequestRequest huaNongCrawlerModelsQueryRequest = new HuaNongCrawlerModelsQueryRequestRequest(loginInfoDto.getToken(), loginInfoDto.getLoginComCode(), carInfoVo);
|
|
|
HuaNongCrawlerModelsQueryResponse huaNongCrawlerModelsQueryResponse = huaNongCrawlerRequestComponent.modelsQuery(huaNongCrawlerModelsQueryRequest, httpHeaders);
|
|
|
HuaNongCrawlerModelsQueryResponse.CarModelDTO carModelDTO = CarModelsFilterUtils.to(huaNongCrawlerModelsQueryResponse.getCarModel(), carInfoVo);
|
|
|
+
|
|
|
// 3 精确查询
|
|
|
HuaNongCrawlerPrecisionServiceSearchRequest precisionServiceSearchRequest = new HuaNongCrawlerPrecisionServiceSearchRequest(loginInfoDto.getToken(), loginInfoDto.getLoginComCode(), carInfoVo, carModelDTO);
|
|
|
HuaNongCrawlerPrecisionServiceSearchResponse precisionServiceSearchResponse = huaNongCrawlerRequestComponent.precisionServiceSearch(precisionServiceSearchRequest, httpHeaders);
|
|
|
@@ -77,8 +76,7 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
|
|
|
String actualValue = huaNongCrawlerRequestComponent.actualValue(huaNongCrawlerActualValueRequest, httpHeaders);
|
|
|
|
|
|
// 5 保费计算
|
|
|
- HuaNongCrawlerQuotedPriceRequestRequest huaNongCrawlerQuotedPriceRequest
|
|
|
- = new HuaNongCrawlerQuotedPriceRequestRequest(loginInfoDto.getToken(), attributionInformationVo.getUsername(), quoteVo, loginInfoDto.getLoginComCode(), actualValue, loginInfoDto.getParameters(), carModel, saleInfoDTO);
|
|
|
+ HuaNongCrawlerQuotedPriceRequestRequest huaNongCrawlerQuotedPriceRequest = new HuaNongCrawlerQuotedPriceRequestRequest(loginInfoDto.getToken(), attributionInformationVo.getUsername(), quoteVo, loginInfoDto.getLoginComCode(), actualValue, loginInfoDto.getParameters(), carModel, saleInfoDTO);
|
|
|
|
|
|
HuaNongCrawlerQuotedPriceResponse huaNongCrawlerQuotedPriceResponse = huaNongCrawlerRequestComponent.quotedPrice(huaNongCrawlerQuotedPriceRequest, httpHeaders);
|
|
|
|
|
|
@@ -98,9 +96,8 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
|
|
|
private static HuaNongCrawlerSaveRequestRequest getHuaNongCrawlerSaveRequestRequest(HuaNongCrawlerQuotedPriceResponse huaNongCrawlerQuotedPriceResponse, String token, String loginComCode) {
|
|
|
List<HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.ContractDTO> contract = huaNongCrawlerQuotedPriceResponse.getBusinessData()
|
|
|
.getContract();
|
|
|
- List<HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.ContractAccidentDTO> contractAccident =
|
|
|
- Optional.ofNullable(huaNongCrawlerQuotedPriceResponse.getBusinessData().getContractAccident())
|
|
|
- .orElse(new ArrayList<>());
|
|
|
+ List<HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.ContractAccidentDTO> contractAccident = Optional.ofNullable(huaNongCrawlerQuotedPriceResponse.getBusinessData()
|
|
|
+ .getContractAccident()).orElse(new ArrayList<>());
|
|
|
|
|
|
return new HuaNongCrawlerSaveRequestRequest(contract, contractAccident, token, loginComCode);
|
|
|
}
|
|
|
@@ -144,20 +141,19 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
|
|
|
HuaNongCrawlerOrder huaNongCrawlerOrder = huaNongCrawlerOrderService.getById(insuranceUploadImageVo.getOrder()
|
|
|
.getOrdersNo());
|
|
|
String contractNo = huaNongCrawlerOrder.getOrdersNo();
|
|
|
-
|
|
|
AttributionInformationVo attributionInformationVo = insuranceUploadImageVo.getOrder()
|
|
|
.getAttributionInformationVo();
|
|
|
- HuaNongCrawlerConfigureParameters huaNongCrawlerConfigureParameters = ConfigureParametersConversion.conversionEntity(HuaNongCrawlerConfigureParameters.class, attributionInformationVo.getConfigInfo());
|
|
|
-
|
|
|
- huaNongCrawlerQuoteProcessService.uploadImage(attributionInformationVo.getUsername(), insuranceUploadImageVo.getOrder()
|
|
|
- .getAgreementId(), contractNo, insuranceUploadImageVo.getImageVoList(), huaNongCrawlerConfigureParameters.getLoginCom());
|
|
|
+ LoginInfoBO loginInfoDto = getLoginInfoDto(attributionInformationVo);
|
|
|
+ // 上传影像 封装
|
|
|
+ huaNongCrawlerQuoteProcessService.uploadImage(loginInfoDto, insuranceUploadImageVo.getOrder()
|
|
|
+ .getAgreementId(), contractNo, insuranceUploadImageVo.getImageVoList());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo downloadPolicyVo) {
|
|
|
DownloadPolicyResultVo downloadPolicyResultVo = new DownloadPolicyResultVo();
|
|
|
AttributionInformationVo attributionInformationVo = downloadPolicyVo.getOrder().getAttributionInformationVo();
|
|
|
- LoginInfoDto loginInfoDto = getLoginInfoDto(attributionInformationVo);
|
|
|
+ LoginInfoBO loginInfoDto = getLoginInfoDto(attributionInformationVo);
|
|
|
// 获取订单信息
|
|
|
HuaNongCrawlerOrder order = huaNongCrawlerOrderService.getById(downloadPolicyVo.getOrder().getOrdersNo());
|
|
|
HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
@@ -165,37 +161,39 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
|
|
|
HuaNongCrawlerFtpDownloadRequestRequest.FtpDowloadListDTO ftpDowloadListDTO = new HuaNongCrawlerFtpDownloadRequestRequest.FtpDowloadListDTO();
|
|
|
huaNongCrawlerFtpDownloadRequest.setFtpDowloadList(List.of(ftpDowloadListDTO));
|
|
|
// 交强保单 标志
|
|
|
- Optional.ofNullable(order.getCiPolicyNo()).ifPresent(ciPolicyNo -> {
|
|
|
- // 交强保单
|
|
|
- ftpDowloadListDTO.setBiztype("4");
|
|
|
- ftpDowloadListDTO.setBusinessNo(ciPolicyNo);
|
|
|
- ftpDowloadListDTO.setRiskCode(Risk.RISK_0507.getRiskCode());
|
|
|
- String ciPolicyUrl = huaNongCrawlerRequestComponent.ftpDownload(huaNongCrawlerFtpDownloadRequest, httpHeaders);
|
|
|
- downloadPolicyResultVo.setJqUrl(ciPolicyUrl);
|
|
|
- ftpDowloadListDTO.setIsBZDown("1");
|
|
|
- // 商业标志
|
|
|
- String ciSignUrl = huaNongCrawlerRequestComponent.ftpDownload(huaNongCrawlerFtpDownloadRequest, httpHeaders);
|
|
|
- downloadPolicyResultVo.setJqFlagUrl(ciSignUrl);
|
|
|
-
|
|
|
- });
|
|
|
+ Optional.ofNullable(order.getCiPolicyNo())
|
|
|
+ .filter(s -> !s.isEmpty())
|
|
|
+ .ifPresent(ciPolicyNo -> {
|
|
|
+ // 交强保单
|
|
|
+ ftpDowloadListDTO.setBiztype("4");
|
|
|
+ ftpDowloadListDTO.setBusinessNo(ciPolicyNo);
|
|
|
+ ftpDowloadListDTO.setRiskCode(Risk.RISK_0507.getRiskCode());
|
|
|
+ String ciPolicyUrl = huaNongCrawlerRequestComponent.ftpDownload(huaNongCrawlerFtpDownloadRequest, httpHeaders);
|
|
|
+ downloadPolicyResultVo.setJqUrl(ciPolicyUrl);
|
|
|
+ ftpDowloadListDTO.setIsBZDown("1");
|
|
|
+ // 商业标志
|
|
|
+ String ciSignUrl = huaNongCrawlerRequestComponent.ftpDownload(huaNongCrawlerFtpDownloadRequest, httpHeaders);
|
|
|
+ downloadPolicyResultVo.setJqFlagUrl(ciSignUrl);
|
|
|
+
|
|
|
+ });
|
|
|
// 商业保单
|
|
|
- Optional.ofNullable(order.getBiPolicyNo()).ifPresent(biPolicyNo -> {
|
|
|
- // 商业保单
|
|
|
- ftpDowloadListDTO.setIsBZDown("0");
|
|
|
- ftpDowloadListDTO.setBusinessNo(biPolicyNo);
|
|
|
- String biPolicyUrl = huaNongCrawlerRequestComponent.ftpDownload(huaNongCrawlerFtpDownloadRequest, httpHeaders);
|
|
|
- downloadPolicyResultVo.setSyUrl(biPolicyUrl);
|
|
|
- });
|
|
|
+ Optional.ofNullable(order.getBiPolicyNo())
|
|
|
+ .filter(s -> !s.isEmpty())
|
|
|
+ .ifPresent(biPolicyNo -> {
|
|
|
+ // 商业保单
|
|
|
+ ftpDowloadListDTO.setIsBZDown("0");
|
|
|
+ ftpDowloadListDTO.setBusinessNo(biPolicyNo);
|
|
|
+ String biPolicyUrl = huaNongCrawlerRequestComponent.ftpDownload(huaNongCrawlerFtpDownloadRequest, httpHeaders);
|
|
|
+ downloadPolicyResultVo.setSyUrl(biPolicyUrl);
|
|
|
+ });
|
|
|
|
|
|
// 非车险
|
|
|
order.getNiInfos().forEach(niInfo -> {
|
|
|
- Optional.ofNullable(niInfo.getNiPolicyNo())
|
|
|
- .ifPresent(niPolicyNo -> {
|
|
|
- HuaNongCrawlerDocumentsPrintRequestRequest huaNongCrawlerDocumentsPrintRequest = new HuaNongCrawlerDocumentsPrintRequestRequest(loginInfoDto.getToken(), niPolicyNo, attributionInformationVo.getUsername(), loginInfoDto.getLoginComCode());
|
|
|
- String niPolicyUrl = huaNongCrawlerRequestComponent.documentsPrint(huaNongCrawlerDocumentsPrintRequest, httpHeaders);
|
|
|
- downloadPolicyResultVo.setJyUrl(niPolicyUrl);
|
|
|
- }
|
|
|
- );
|
|
|
+ Optional.ofNullable(niInfo.getNiPolicyNo()).ifPresent(niPolicyNo -> {
|
|
|
+ HuaNongCrawlerDocumentsPrintRequestRequest huaNongCrawlerDocumentsPrintRequest = new HuaNongCrawlerDocumentsPrintRequestRequest(loginInfoDto.getToken(), niPolicyNo, attributionInformationVo.getUsername(), loginInfoDto.getLoginComCode());
|
|
|
+ String niPolicyUrl = huaNongCrawlerRequestComponent.documentsPrint(huaNongCrawlerDocumentsPrintRequest, httpHeaders);
|
|
|
+ downloadPolicyResultVo.setJyUrl(niPolicyUrl);
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
return downloadPolicyResultVo;
|
|
|
@@ -203,35 +201,32 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
|
|
|
|
|
|
@Override
|
|
|
public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
|
|
|
- LoginInfoDto loginInfoDto = getLoginInfoDto(orderStatusVo.getOrder().getAttributionInformationVo());
|
|
|
+ LoginInfoBO loginInfoDto = getLoginInfoDto(orderStatusVo.getOrder().getAttributionInformationVo());
|
|
|
HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
HuaNongCrawlerOrder order = huaNongCrawlerOrderService.getById(orderStatusVo.getOrder().getOrdersNo());
|
|
|
String policyNo = StringUtils.hasText(order.getBiPolicyNumber()) ? order.getBiPolicyNumber() : order.getCiPolicyNumber();
|
|
|
- HuaNongCrawlerFindBusinessesRequestRequest huaNongCrawlerFindBusinessesRequest = new HuaNongCrawlerFindBusinessesRequestRequest(loginInfoDto.getToken(), loginInfoDto.getLoginComCode(), policyNo, order.getRecordingTime());
|
|
|
+ HuaNongCrawlerFindBusinessesRequestRequest huaNongCrawlerFindBusinessesRequest
|
|
|
+ = new HuaNongCrawlerFindBusinessesRequestRequest(loginInfoDto.getToken(), loginInfoDto.getLoginComCode(), policyNo, order.getRecordingTime());
|
|
|
HuaNongCrawlerFindBusinessesResponse businesses = huaNongCrawlerRequestComponent.findBusinesses(huaNongCrawlerFindBusinessesRequest, httpHeaders);
|
|
|
return new OrderStatusResultVo();
|
|
|
}
|
|
|
|
|
|
- @Data
|
|
|
- @AllArgsConstructor
|
|
|
- private static class LoginInfoDto {
|
|
|
-
|
|
|
- private String token;
|
|
|
-
|
|
|
- private String loginCom;
|
|
|
-
|
|
|
- private String loginComCode;
|
|
|
-
|
|
|
- private HuaNongCrawlerConfigureParameters parameters;
|
|
|
- }
|
|
|
-
|
|
|
- private LoginInfoDto getLoginInfoDto(AttributionInformationVo attributionInformationVo) {
|
|
|
+ /**
|
|
|
+ * 抽取公共配置
|
|
|
+ *
|
|
|
+ * @param attributionInformationVo 归属信息
|
|
|
+ * @return 登录信息
|
|
|
+ */
|
|
|
+ private LoginInfoBO getLoginInfoDto(AttributionInformationVo attributionInformationVo) {
|
|
|
HuaNongCrawlerConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(HuaNongCrawlerConfigureParameters.class, attributionInformationVo.getConfigInfo());
|
|
|
RMap<String, Object> authorization = huaNongCrawlerGetToken.getAuthorization(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
|
|
|
String token = (String) authorization.get(HuaNongCrawlerCacheComponent.TOKEN);
|
|
|
+ String userCode = (String) authorization.get(HuaNongCrawlerCacheComponent.USER_CODE);
|
|
|
+ String userName = (String) authorization.get(HuaNongCrawlerCacheComponent.USER_NAME);
|
|
|
String loginCom = parameters.getLoginCom();
|
|
|
String loginComCode = (String) authorization.get(loginCom);
|
|
|
- return new LoginInfoDto(token, loginCom, loginComCode, parameters);
|
|
|
+ return new LoginInfoBO(token, loginCom, loginComCode, userCode, userName, parameters);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|