|
@@ -2,11 +2,10 @@ package com.jzg.quotation.renbao.crawler.component;
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.jzg.commons.entity.quote.vo.CarInfoVo;
|
|
import com.jzg.commons.entity.quote.vo.CarInfoVo;
|
|
|
-import com.jzg.commons.entity.quote.vo.QuoteVo;
|
|
|
|
|
|
|
+import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
|
|
|
import com.jzg.commons.exception.SystemException;
|
|
import com.jzg.commons.exception.SystemException;
|
|
|
import com.jzg.quotation.commons.component.RequestComponent;
|
|
import com.jzg.quotation.commons.component.RequestComponent;
|
|
|
import com.jzg.quotation.commons.filter.CarModelsFilterUtils;
|
|
import com.jzg.quotation.commons.filter.CarModelsFilterUtils;
|
|
|
-import com.jzg.quotation.commons.utils.TimeProcessing;
|
|
|
|
|
import com.jzg.quotation.renbao.crawler.constant.enums.RequestUrl;
|
|
import com.jzg.quotation.renbao.crawler.constant.enums.RequestUrl;
|
|
|
import com.jzg.quotation.renbao.crawler.entity.dto.PrpCmainDTO;
|
|
import com.jzg.quotation.renbao.crawler.entity.dto.PrpCmainDTO;
|
|
|
import com.jzg.quotation.renbao.crawler.entity.request.*;
|
|
import com.jzg.quotation.renbao.crawler.entity.request.*;
|
|
@@ -19,6 +18,7 @@ import org.springframework.http.HttpHeaders;
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -41,8 +41,7 @@ public class RenBaoCrawlerRequestComponent {
|
|
|
* @return 响应内容
|
|
* @return 响应内容
|
|
|
*/
|
|
*/
|
|
|
public <Response> Response request(RequestUrl requestUrl, Object body, ParameterizedTypeReference<Response> parameterizedTypeReference, HttpHeaders httpHeaders) {
|
|
public <Response> Response request(RequestUrl requestUrl, Object body, ParameterizedTypeReference<Response> parameterizedTypeReference, HttpHeaders httpHeaders) {
|
|
|
- String url = renBaoCrawlerProperties.getBaseUrl() + requestUrl.getUri();
|
|
|
|
|
- Response response = requestComponent.post(url, body, requestUrl.getRequestDescription(), parameterizedTypeReference, httpHeaders);
|
|
|
|
|
|
|
+ Response response = requestComponent.post(requestUrl.getRequestUrl(renBaoCrawlerProperties.getUrl()), body, requestUrl.getRequestDescription(), parameterizedTypeReference, httpHeaders);
|
|
|
if (response instanceof RenBaoCrawlerBaseResponse) {
|
|
if (response instanceof RenBaoCrawlerBaseResponse) {
|
|
|
if (((RenBaoCrawlerBaseResponse<?>) response).getStatus() != 200) {
|
|
if (((RenBaoCrawlerBaseResponse<?>) response).getStatus() != 200) {
|
|
|
throw new SystemException(((RenBaoCrawlerBaseResponse<?>) response).getMessage());
|
|
throw new SystemException(((RenBaoCrawlerBaseResponse<?>) response).getMessage());
|
|
@@ -51,6 +50,26 @@ public class RenBaoCrawlerRequestComponent {
|
|
|
return response;
|
|
return response;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 请求入口
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param requestUrl 请求拼接枚举
|
|
|
|
|
+ * @param body 请求体
|
|
|
|
|
+ * @param parameterizedTypeReference 响应类型
|
|
|
|
|
+ * @param httpHeaders 请求头
|
|
|
|
|
+ * @param <Response> 响应
|
|
|
|
|
+ * @return 响应内容
|
|
|
|
|
+ */
|
|
|
|
|
+ public <Response> Response request0(RequestUrl requestUrl, Object body, ParameterizedTypeReference<Response> parameterizedTypeReference, HttpHeaders httpHeaders) {
|
|
|
|
|
+ Response response = requestComponent.post(requestUrl.getRequestUrl(renBaoCrawlerProperties.getUrl()), body, requestUrl.getRequestDescription(), parameterizedTypeReference, httpHeaders);
|
|
|
|
|
+ if (response instanceof RenBaoCrawlerBaseResponse) {
|
|
|
|
|
+ if (((RenBaoCrawlerBaseResponse<?>) response).getStatus() != 0) {
|
|
|
|
|
+ throw new SystemException(((RenBaoCrawlerBaseResponse<?>) response).getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return response;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 初始化参数
|
|
* 初始化参数
|
|
|
*
|
|
*
|
|
@@ -58,7 +77,7 @@ public class RenBaoCrawlerRequestComponent {
|
|
|
* @return 初始化参数信息
|
|
* @return 初始化参数信息
|
|
|
*/
|
|
*/
|
|
|
public RenBaoCrawlerInitZNCDData initZNCDData(HttpHeaders httpHeaders) {
|
|
public RenBaoCrawlerInitZNCDData initZNCDData(HttpHeaders httpHeaders) {
|
|
|
- RenBaoCrawlerBaseResponse<RenBaoCrawlerInitZNCDData> response = request(RequestUrl.INIT_ZNCD, null, new ParameterizedTypeReference<>() {
|
|
|
|
|
|
|
+ RenBaoCrawlerBaseResponse<RenBaoCrawlerInitZNCDData> response = request0(RequestUrl.INIT_ZNCD, null, new ParameterizedTypeReference<>() {
|
|
|
}, httpHeaders);
|
|
}, httpHeaders);
|
|
|
return response.getData();
|
|
return response.getData();
|
|
|
}
|
|
}
|
|
@@ -79,7 +98,7 @@ public class RenBaoCrawlerRequestComponent {
|
|
|
return response.getData()
|
|
return response.getData()
|
|
|
.getResult()
|
|
.getResult()
|
|
|
.stream()
|
|
.stream()
|
|
|
- .filter(x -> attributionDepartmentCode.equals(x.get(0)))
|
|
|
|
|
|
|
+ .filter(x -> attributionDepartmentCode.equals(x.get(1)))
|
|
|
.findFirst()
|
|
.findFirst()
|
|
|
.orElseThrow(() -> new SystemException("归属部门信息查询失败,请检查归属配置"));
|
|
.orElseThrow(() -> new SystemException("归属部门信息查询失败,请检查归属配置"));
|
|
|
}
|
|
}
|
|
@@ -95,12 +114,12 @@ public class RenBaoCrawlerRequestComponent {
|
|
|
*/
|
|
*/
|
|
|
public RenBaoCrawlerQueryHandler1CodeData.ResultDTO queryHandler1Code(String userCode, String comCode, String ownershipCode, HttpHeaders httpHeaders) {
|
|
public RenBaoCrawlerQueryHandler1CodeData.ResultDTO queryHandler1Code(String userCode, String comCode, String ownershipCode, HttpHeaders httpHeaders) {
|
|
|
RenBaoCrawlerQueryHandler1CodeRequest renBaoQueryCodeRequest = new RenBaoCrawlerQueryHandler1CodeRequest(userCode, comCode, ownershipCode);
|
|
RenBaoCrawlerQueryHandler1CodeRequest renBaoQueryCodeRequest = new RenBaoCrawlerQueryHandler1CodeRequest(userCode, comCode, ownershipCode);
|
|
|
- RenBaoCrawlerBaseResponse<RenBaoCrawlerQueryHandler1CodeData> response = request(RequestUrl.QUERY_HANDLER1_CODE, renBaoQueryCodeRequest, new ParameterizedTypeReference<>() {
|
|
|
|
|
|
|
+ RenBaoCrawlerBaseResponse<RenBaoCrawlerQueryHandler1CodeData> response = request0(RequestUrl.QUERY_HANDLER1_CODE, renBaoQueryCodeRequest, new ParameterizedTypeReference<>() {
|
|
|
}, httpHeaders);
|
|
}, httpHeaders);
|
|
|
return response.getData()
|
|
return response.getData()
|
|
|
.getResult()
|
|
.getResult()
|
|
|
.stream()
|
|
.stream()
|
|
|
- .filter(x -> ownershipCode.equals(x.getUserCode()))
|
|
|
|
|
|
|
+ .filter(x -> ownershipCode.equals(x.getGroupUserCode()))
|
|
|
.findFirst()
|
|
.findFirst()
|
|
|
.orElseThrow(() -> new SystemException("归属人信息查询失败,请检查归属配置"));
|
|
.orElseThrow(() -> new SystemException("归属人信息查询失败,请检查归属配置"));
|
|
|
}
|
|
}
|
|
@@ -113,15 +132,20 @@ public class RenBaoCrawlerRequestComponent {
|
|
|
* @param httpHeaders 请求头
|
|
* @param httpHeaders 请求头
|
|
|
* @return 经办人信息
|
|
* @return 经办人信息
|
|
|
*/
|
|
*/
|
|
|
- public List<String> queryHandlerCode(String comCode, String managerCode, HttpHeaders httpHeaders) {
|
|
|
|
|
|
|
+ public RenBaoCrawlerQueryHandlerCodeData.ResultDTO queryHandlerCode(String comCode, String managerCode, HttpHeaders httpHeaders) {
|
|
|
RenBaoCrawlerQueryHandlerCodeRequest renBaoQueryCodeRequest = new RenBaoCrawlerQueryHandlerCodeRequest(comCode, managerCode);
|
|
RenBaoCrawlerQueryHandlerCodeRequest renBaoQueryCodeRequest = new RenBaoCrawlerQueryHandlerCodeRequest(comCode, managerCode);
|
|
|
- RenBaoCrawlerBaseResponse<RenBaoCrawlerQueryHandlerCodeData> response = request(RequestUrl.QUERY_HANDLER_CODE, renBaoQueryCodeRequest, new ParameterizedTypeReference<>() {
|
|
|
|
|
|
|
+ RenBaoCrawlerBaseResponse<RenBaoCrawlerQueryHandlerCodeData> response = request0(RequestUrl.QUERY_HANDLER_CODE, renBaoQueryCodeRequest, new ParameterizedTypeReference<>() {
|
|
|
}, httpHeaders);
|
|
}, httpHeaders);
|
|
|
- return response.getData().getResult()
|
|
|
|
|
|
|
+
|
|
|
|
|
+ return Optional.ofNullable(response)
|
|
|
|
|
+ .map(RenBaoCrawlerBaseResponse::getData)
|
|
|
|
|
+ .map(RenBaoCrawlerQueryHandlerCodeData::getResult)
|
|
|
|
|
+ .orElse(List.of())
|
|
|
.stream()
|
|
.stream()
|
|
|
- .filter(x -> managerCode.equals(x.get(0)))
|
|
|
|
|
|
|
+ .filter(x -> managerCode.equals(x.getUserName()))
|
|
|
.findFirst()
|
|
.findFirst()
|
|
|
- .orElseThrow(() -> new SystemException("经办人信息查询失败,请检查归属配置"));
|
|
|
|
|
|
|
+ .orElseThrow(() ->
|
|
|
|
|
+ new SystemException("经办人信息查询失败,请检查归属配置"));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -197,7 +221,7 @@ public class RenBaoCrawlerRequestComponent {
|
|
|
*/
|
|
*/
|
|
|
public RenBaoCrawlerVehicleQueryData.CarInfosDTO.ResultDTO vehicleQuery(String comCode, String userCode, CarInfoVo carInfoVo, HttpHeaders httpHeaders) {
|
|
public RenBaoCrawlerVehicleQueryData.CarInfosDTO.ResultDTO vehicleQuery(String comCode, String userCode, CarInfoVo carInfoVo, HttpHeaders httpHeaders) {
|
|
|
RenBaoCrawlerVehicleQueryRequest renBaoCrawlerVehicleQueryRequest = new RenBaoCrawlerVehicleQueryRequest(comCode, userCode, carInfoVo.getBrandName());
|
|
RenBaoCrawlerVehicleQueryRequest renBaoCrawlerVehicleQueryRequest = new RenBaoCrawlerVehicleQueryRequest(comCode, userCode, carInfoVo.getBrandName());
|
|
|
- RenBaoCrawlerBaseResponse<RenBaoCrawlerVehicleQueryData> response = request(RequestUrl.VEHICLE_QUERY, renBaoCrawlerVehicleQueryRequest, new ParameterizedTypeReference<>() {
|
|
|
|
|
|
|
+ RenBaoCrawlerBaseResponse<RenBaoCrawlerVehicleQueryData> response = request0(RequestUrl.VEHICLE_QUERY, renBaoCrawlerVehicleQueryRequest, new ParameterizedTypeReference<>() {
|
|
|
}, httpHeaders);
|
|
}, httpHeaders);
|
|
|
List<RenBaoCrawlerVehicleQueryData.CarInfosDTO.ResultDTO> result = response.getData()
|
|
List<RenBaoCrawlerVehicleQueryData.CarInfosDTO.ResultDTO> result = response.getData()
|
|
|
.getCarInfos()
|
|
.getCarInfos()
|
|
@@ -210,15 +234,14 @@ public class RenBaoCrawlerRequestComponent {
|
|
|
*
|
|
*
|
|
|
* @param comCode 归属编码
|
|
* @param comCode 归属编码
|
|
|
* @param purchasePrice 新车购置价
|
|
* @param purchasePrice 新车购置价
|
|
|
- * @param startDataCi 商业起保时间
|
|
|
|
|
* @param carInfoVo 车辆信息
|
|
* @param carInfoVo 车辆信息
|
|
|
* @param httpHeaders 请求头
|
|
* @param httpHeaders 请求头
|
|
|
|
|
+ * @param clauseType
|
|
|
* @return 参考实际价值
|
|
* @return 参考实际价值
|
|
|
*/
|
|
*/
|
|
|
- public String calActualValue(String comCode, String purchasePrice, String startDataCi, CarInfoVo carInfoVo, HttpHeaders httpHeaders) {
|
|
|
|
|
- String startData = TimeProcessing.dateTimeToDate(startDataCi);
|
|
|
|
|
- RenBaoCrawlerCalActualValueRequest renBaoCrawlerCalActualValueRequest = new RenBaoCrawlerCalActualValueRequest(comCode, purchasePrice, startData, carInfoVo);
|
|
|
|
|
- RenBaoCrawlerBaseResponse<String> response = request(RequestUrl.CAL_ACTUAL_VALUE, renBaoCrawlerCalActualValueRequest, new ParameterizedTypeReference<>() {
|
|
|
|
|
|
|
+ public String calActualValue(String comCode, String purchasePrice, CarInfoVo carInfoVo, HttpHeaders httpHeaders, String clauseType) {
|
|
|
|
|
+ RenBaoCrawlerCalActualValueRequest renBaoCrawlerCalActualValueRequest = new RenBaoCrawlerCalActualValueRequest(comCode, purchasePrice, carInfoVo,clauseType);
|
|
|
|
|
+ RenBaoCrawlerBaseResponse<String> response = request0(RequestUrl.CAL_ACTUAL_VALUE, renBaoCrawlerCalActualValueRequest, new ParameterizedTypeReference<>() {
|
|
|
}, httpHeaders);
|
|
}, httpHeaders);
|
|
|
return response.getData();
|
|
return response.getData();
|
|
|
}
|
|
}
|
|
@@ -297,5 +320,46 @@ public class RenBaoCrawlerRequestComponent {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 客户信息检索
|
|
|
|
|
+ * @param ownersInfo
|
|
|
|
|
+ * @param prpCmainDTO
|
|
|
|
|
+ * @param httpHeaders
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public RenBaoCrawlerCustomQueryPData queryCustomerInfo(CustomerInfoVo ownersInfo, PrpCmainDTO prpCmainDTO, HttpHeaders httpHeaders) {
|
|
|
|
|
+ RenBaoCrawlerCustomQueryPRequest owerRequest = new RenBaoCrawlerCustomQueryPRequest(ownersInfo,prpCmainDTO);
|
|
|
|
|
+ RenBaoCrawlerBaseResponse<RenBaoCrawlerCustomQueryPData> response = request(RequestUrl.CUSTOM_QUERY_P, owerRequest, new ParameterizedTypeReference<>() {
|
|
|
|
|
+ }, httpHeaders);
|
|
|
|
|
+ return response.getData();
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 客户信息新增
|
|
|
|
|
+ * @param prpCmainDTO
|
|
|
|
|
+ * @param customerInfoVo
|
|
|
|
|
+ * @param httpHeaders
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public RenBaoCrawlerCustomPersonData addCustomerInfo(PrpCmainDTO prpCmainDTO, CustomerInfoVo customerInfoVo, HttpHeaders httpHeaders) {
|
|
|
|
|
+ RenBaoCrawlerCustomPersonAddRequest personAddRequest = new RenBaoCrawlerCustomPersonAddRequest(prpCmainDTO,customerInfoVo);
|
|
|
|
|
+ RenBaoCrawlerBaseResponse<RenBaoCrawlerCustomPersonData> response = request(RequestUrl.CUSTOM_PERSON_ADD, personAddRequest, new ParameterizedTypeReference<>() {
|
|
|
|
|
+ }, httpHeaders);
|
|
|
|
|
+ return response.getData();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 客户信息修改
|
|
|
|
|
+ * @param customQueryPData
|
|
|
|
|
+ * @param prpCmainDTO
|
|
|
|
|
+ * @param customerInfoVo
|
|
|
|
|
+ * @param httpHeaders
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public RenBaoCrawlerCustomPersonData updateCustomerInfo(RenBaoCrawlerCustomQueryPData customQueryPData, PrpCmainDTO prpCmainDTO, CustomerInfoVo customerInfoVo, HttpHeaders httpHeaders) {
|
|
|
|
|
+ RenBaoCrawlerCustomPersonUpdateRequest personupdateRequest = new RenBaoCrawlerCustomPersonUpdateRequest(customQueryPData, prpCmainDTO,customerInfoVo);
|
|
|
|
|
+ RenBaoCrawlerBaseResponse<RenBaoCrawlerCustomPersonData> response = request(RequestUrl.CUSTOM_PERSON_UPDATE, personupdateRequest, new ParameterizedTypeReference<>() {
|
|
|
|
|
+ }, httpHeaders);
|
|
|
|
|
+ return response.getData();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|