|
@@ -11,18 +11,15 @@ import com.jzg.quotation.commons.entity.vo.base.OrderBase;
|
|
|
import com.jzg.quotation.commons.entity.vo.quote.AttributionInformationVo;
|
|
import com.jzg.quotation.commons.entity.vo.quote.AttributionInformationVo;
|
|
|
import com.jzg.quotation.commons.filter.CarModelsFilterUtils;
|
|
import com.jzg.quotation.commons.filter.CarModelsFilterUtils;
|
|
|
import com.jzg.quotation.commons.standard.conversion.ConfigureParametersConversion;
|
|
import com.jzg.quotation.commons.standard.conversion.ConfigureParametersConversion;
|
|
|
|
|
+import com.jzg.quotation.dajia.crawler.build.DaJiaCrawlerQuoteResultsVoBuild;
|
|
|
import com.jzg.quotation.dajia.crawler.component.BuildingAttributionInformation;
|
|
import com.jzg.quotation.dajia.crawler.component.BuildingAttributionInformation;
|
|
|
|
|
+import com.jzg.quotation.dajia.crawler.component.DaJiaCacheComponent;
|
|
|
import com.jzg.quotation.dajia.crawler.component.DaJiaCrawlerRequestComponent;
|
|
import com.jzg.quotation.dajia.crawler.component.DaJiaCrawlerRequestComponent;
|
|
|
import com.jzg.quotation.dajia.crawler.entity.DaJiaCrawlerConfigureParameters;
|
|
import com.jzg.quotation.dajia.crawler.entity.DaJiaCrawlerConfigureParameters;
|
|
|
-import com.jzg.quotation.dajia.crawler.entity.request.DaJiaCrawlerActualValueRequest;
|
|
|
|
|
-import com.jzg.quotation.dajia.crawler.entity.request.DaJiaCrawlerCarRequest;
|
|
|
|
|
-import com.jzg.quotation.dajia.crawler.entity.request.DaJiaCrawlerPriceRequest;
|
|
|
|
|
-import com.jzg.quotation.dajia.crawler.entity.request.DaJiaCrawlerSaveRequest;
|
|
|
|
|
|
|
+import com.jzg.quotation.dajia.crawler.entity.request.*;
|
|
|
import com.jzg.quotation.dajia.crawler.entity.request.quote.ProposalInfoDTO;
|
|
import com.jzg.quotation.dajia.crawler.entity.request.quote.ProposalInfoDTO;
|
|
|
-import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerActualValueResponse;
|
|
|
|
|
-import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerCarResponse;
|
|
|
|
|
-import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerPriceResponse;
|
|
|
|
|
-import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerSaveResponse;
|
|
|
|
|
|
|
+import com.jzg.quotation.dajia.crawler.entity.response.*;
|
|
|
|
|
+import com.jzg.quotation.dajia.crawler.service.DaJiaCrawlerOrderService;
|
|
|
import com.jzg.quotation.dajia.crawler.service.DaJiaCrawlerRequest;
|
|
import com.jzg.quotation.dajia.crawler.service.DaJiaCrawlerRequest;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.http.HttpHeaders;
|
|
import org.springframework.http.HttpHeaders;
|
|
@@ -38,6 +35,10 @@ public class DaJiaCrawlerRequestImpl implements DaJiaCrawlerRequest {
|
|
|
|
|
|
|
|
private final BuildingAttributionInformation buildingAttributionInformation;
|
|
private final BuildingAttributionInformation buildingAttributionInformation;
|
|
|
|
|
|
|
|
|
|
+ private final DaJiaCacheComponent daJiaCacheComponent;
|
|
|
|
|
+
|
|
|
|
|
+ private final DaJiaCrawlerOrderService daJiaCrawlerOrderService;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void login(LoginBase loginBase) {
|
|
public void login(LoginBase loginBase) {
|
|
|
daJiaCrawlerRequestComponent.authenticate(loginBase.getUsername(), loginBase.getPassword(), DaJiaCrawlerRequestComponent.LOGINS_NUMBER);
|
|
daJiaCrawlerRequestComponent.authenticate(loginBase.getUsername(), loginBase.getPassword(), DaJiaCrawlerRequestComponent.LOGINS_NUMBER);
|
|
@@ -45,46 +46,56 @@ public class DaJiaCrawlerRequestImpl implements DaJiaCrawlerRequest {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public QuoteResultsVo quote(QuoteVo quoteVo) {
|
|
public QuoteResultsVo quote(QuoteVo quoteVo) {
|
|
|
- // 获取token的请求头
|
|
|
|
|
|
|
+ // 1.0获取token的请求头
|
|
|
AttributionInformationVo attributionInformationVo = quoteVo
|
|
AttributionInformationVo attributionInformationVo = quoteVo
|
|
|
.getOrder()
|
|
.getOrder()
|
|
|
.getAttributionInformationVo();
|
|
.getAttributionInformationVo();
|
|
|
HttpHeaders headers = daJiaCrawlerRequestComponent.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
|
|
HttpHeaders headers = daJiaCrawlerRequestComponent.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
|
|
|
String userCode = daJiaCrawlerRequestComponent.getUserCode(attributionInformationVo.getUsername());
|
|
String userCode = daJiaCrawlerRequestComponent.getUserCode(attributionInformationVo.getUsername());
|
|
|
- // 配置信息
|
|
|
|
|
|
|
+ // 1.1 配置信息
|
|
|
DaJiaCrawlerConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(DaJiaCrawlerConfigureParameters.class, attributionInformationVo.getConfigInfo());
|
|
DaJiaCrawlerConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(DaJiaCrawlerConfigureParameters.class, attributionInformationVo.getConfigInfo());
|
|
|
-
|
|
|
|
|
- // 车型查询
|
|
|
|
|
|
|
+ // 2.0 车型查询
|
|
|
DaJiaCrawlerCarRequest daJiaCrawlerCarRequest = new DaJiaCrawlerCarRequest(quoteVo.getCarInfoVo(), "", "", userCode);
|
|
DaJiaCrawlerCarRequest daJiaCrawlerCarRequest = new DaJiaCrawlerCarRequest(quoteVo.getCarInfoVo(), "", "", userCode);
|
|
|
List<DaJiaCrawlerCarResponse.ListDTO> car = daJiaCrawlerRequestComponent.car(daJiaCrawlerCarRequest, headers);
|
|
List<DaJiaCrawlerCarResponse.ListDTO> car = daJiaCrawlerRequestComponent.car(daJiaCrawlerCarRequest, headers);
|
|
|
- // 获取相同的车型
|
|
|
|
|
|
|
+ // 2.1 获取相同的车型
|
|
|
DaJiaCrawlerCarResponse.ListDTO listDTO = CarModelsFilterUtils.to(car, quoteVo.getCarInfoVo());
|
|
DaJiaCrawlerCarResponse.ListDTO listDTO = CarModelsFilterUtils.to(car, quoteVo.getCarInfoVo());
|
|
|
-
|
|
|
|
|
- // 计算折旧价格
|
|
|
|
|
|
|
+ // 2.2 计算折旧价格
|
|
|
DaJiaCrawlerActualValueRequest daJiaCrawlerActualValueRequest = new DaJiaCrawlerActualValueRequest(listDTO, quoteVo.getCarInfoVo(), userCode);
|
|
DaJiaCrawlerActualValueRequest daJiaCrawlerActualValueRequest = new DaJiaCrawlerActualValueRequest(listDTO, quoteVo.getCarInfoVo(), userCode);
|
|
|
DaJiaCrawlerActualValueResponse daJiaCrawlerActualValueResponse = daJiaCrawlerRequestComponent.actualValue(daJiaCrawlerActualValueRequest, headers);
|
|
DaJiaCrawlerActualValueResponse daJiaCrawlerActualValueResponse = daJiaCrawlerRequestComponent.actualValue(daJiaCrawlerActualValueRequest, headers);
|
|
|
-
|
|
|
|
|
- // 获取归属信息
|
|
|
|
|
|
|
+ // 3.0 获取归属信息
|
|
|
ProposalInfoDTO proposalInfoDTO = buildingAttributionInformation.build(parameters, userCode, headers);
|
|
ProposalInfoDTO proposalInfoDTO = buildingAttributionInformation.build(parameters, userCode, headers);
|
|
|
- // 保费计算
|
|
|
|
|
|
|
+ // 3.1 保费计算
|
|
|
DaJiaCrawlerPriceRequest daJiaCrawlerPriceRequest = new DaJiaCrawlerPriceRequest(quoteVo, listDTO, daJiaCrawlerActualValueResponse, proposalInfoDTO, userCode);
|
|
DaJiaCrawlerPriceRequest daJiaCrawlerPriceRequest = new DaJiaCrawlerPriceRequest(quoteVo, listDTO, daJiaCrawlerActualValueResponse, proposalInfoDTO, userCode);
|
|
|
DaJiaCrawlerPriceResponse crawlerPriceResponse = daJiaCrawlerRequestComponent.price(daJiaCrawlerPriceRequest, headers);
|
|
DaJiaCrawlerPriceResponse crawlerPriceResponse = daJiaCrawlerRequestComponent.price(daJiaCrawlerPriceRequest, headers);
|
|
|
-
|
|
|
|
|
- // 订单保存
|
|
|
|
|
|
|
+ // 3.2 订单保存
|
|
|
DaJiaCrawlerSaveRequest daJiaCrawlerSaveRequest = new DaJiaCrawlerSaveRequest(crawlerPriceResponse, userCode);
|
|
DaJiaCrawlerSaveRequest daJiaCrawlerSaveRequest = new DaJiaCrawlerSaveRequest(crawlerPriceResponse, userCode);
|
|
|
DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse = daJiaCrawlerRequestComponent.save(daJiaCrawlerSaveRequest, headers);
|
|
DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse = daJiaCrawlerRequestComponent.save(daJiaCrawlerSaveRequest, headers);
|
|
|
-
|
|
|
|
|
|
|
+ // 3.3 缓存数据
|
|
|
|
|
+ daJiaCacheComponent.cacheDaJiaCrawlerSaveResponse(daJiaCrawlerSaveResponse, quoteVo.getOrder().getOrdersNo());
|
|
|
|
|
+ // 4.0 保存数据
|
|
|
|
|
+ daJiaCrawlerOrderService.saveOrderInfo(quoteVo, daJiaCrawlerSaveResponse);
|
|
|
// 返回报价信息
|
|
// 返回报价信息
|
|
|
- return null;
|
|
|
|
|
|
|
+ return DaJiaCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo.getOrder()
|
|
|
|
|
+ .getOrdersNo(), quoteVo, daJiaCrawlerSaveResponse);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void underwriting(UnderwritingVo underwritingVo) {
|
|
public void underwriting(UnderwritingVo underwritingVo) {
|
|
|
|
|
+ AttributionInformationVo attributionInformationVo = underwritingVo
|
|
|
|
|
+ .getOrder()
|
|
|
|
|
+ .getAttributionInformationVo();
|
|
|
|
|
+ HttpHeaders headers = daJiaCrawlerRequestComponent.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
|
|
|
|
|
+
|
|
|
|
|
+ DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse = daJiaCacheComponent.getDaJiaCrawlerSaveResponse(underwritingVo.getOrder()
|
|
|
|
|
+ .getOrdersNo());
|
|
|
|
|
+ DaJiaCrawlerGenerateResponse response = daJiaCrawlerRequestComponent.generate(daJiaCrawlerSaveResponse, headers);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public String getPaymentLink(OrderBase orderBase) {
|
|
public String getPaymentLink(OrderBase orderBase) {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
return "";
|
|
return "";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -95,7 +106,19 @@ public class DaJiaCrawlerRequestImpl implements DaJiaCrawlerRequest {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void downloadPolicy(OrderBase orderBase) {
|
|
public void downloadPolicy(OrderBase orderBase) {
|
|
|
|
|
+ AttributionInformationVo attributionInformationVo = orderBase.getAttributionInformationVo();
|
|
|
|
|
+ HttpHeaders headers = daJiaCrawlerRequestComponent.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
|
|
|
|
|
+ DaJiaCrawlerDownloadRequest daJiaCrawlerDownloadRequest = new DaJiaCrawlerDownloadRequest();
|
|
|
|
|
+ DaJiaCrawlerDownloadResponse response = daJiaCrawlerRequestComponent.electronPolicyIODownload(daJiaCrawlerDownloadRequest, headers);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void queryOrderState(OrderBase orderBase) {
|
|
|
|
|
+ AttributionInformationVo attributionInformationVo = orderBase.getAttributionInformationVo();
|
|
|
|
|
+ HttpHeaders headers = daJiaCrawlerRequestComponent.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
|
|
|
|
|
+ String userCode = daJiaCrawlerRequestComponent.getUserCode(attributionInformationVo.getUsername());
|
|
|
|
|
+ DaJiaCrawlerOrderListRevisedRequest daJiaCrawlerOrderListRevisedRequest = new DaJiaCrawlerOrderListRevisedRequest();
|
|
|
|
|
+ DaJiaCrawlerOrderListRevisedResponse.ListDTO listDTO = daJiaCrawlerRequestComponent.orderListRevised(daJiaCrawlerOrderListRevisedRequest, headers);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|