|
|
@@ -102,7 +102,7 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
private AuthorityDataXml authorityDataXml = null;
|
|
|
|
|
|
|
|
|
- private ObjectMapper xmlMapper = null;
|
|
|
+// private ObjectMapper xmlMapper = null;
|
|
|
|
|
|
//请求信息列表
|
|
|
List<String> requestInfoList = new ArrayList<>();
|
|
|
@@ -186,15 +186,14 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
// }
|
|
|
|
|
|
private ObjectMapper gainXmlMapper() {
|
|
|
- if (null == xmlMapper) {
|
|
|
- xmlMapper = new XmlMapper();
|
|
|
- xmlMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
|
- xmlMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
|
|
|
- xmlMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
|
|
- xmlMapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);
|
|
|
- xmlMapper.enable(MapperFeature.USE_STD_BEAN_NAMING);
|
|
|
- xmlMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
|
|
|
- }
|
|
|
+ ObjectMapper xmlMapper = new XmlMapper();
|
|
|
+
|
|
|
+ xmlMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
|
+ xmlMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
|
|
|
+ xmlMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
|
|
+ xmlMapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);
|
|
|
+ xmlMapper.enable(MapperFeature.USE_STD_BEAN_NAMING);
|
|
|
+ xmlMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
|
|
|
return xmlMapper;
|
|
|
}
|
|
|
|
|
|
@@ -294,7 +293,7 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
|
|
|
|
|
|
HttpResult httpResult = new HttpResult();
|
|
|
- ObjectMapper xmlMapper = this.gainXmlMapper();
|
|
|
+// ObjectMapper xmlMapper = this.gainXmlMapper();
|
|
|
|
|
|
InsAreaCompany iac = null;
|
|
|
|
|
|
@@ -317,7 +316,8 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
String textHead = "==========永诚API方式 - 车架号:" + carInfo.getVinNo() + " - 报价 ";
|
|
|
while (!boo) {
|
|
|
rr = requestApi(m, new RuoteResponse(), iac, YcBuildData.API_QUOTE, InsQuoteFlow.Q_S_0, textHead);
|
|
|
- if (rr.getHead().getErrorCode().equals("009999") && (rr.getHead().getErrorMessage().contains("车主" ) || rr.getHead().getErrorMessage().contains("投保人" ) || rr.getHead().getErrorMessage().contains("被保人" ))) return HttpResult.error(rr.getHead().getErrorMessage());
|
|
|
+ if (rr.getHead().getErrorCode().equals("009999") && (rr.getHead().getErrorMessage().contains("车主") || rr.getHead().getErrorMessage().contains("投保人") || rr.getHead().getErrorMessage().contains("被保人")))
|
|
|
+ return HttpResult.error(rr.getHead().getErrorMessage());
|
|
|
//处理返回信息
|
|
|
//1、交强险重复投保处理
|
|
|
boo = ciRepetitionInsure(rr, m);
|
|
|
@@ -1338,8 +1338,16 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
String xmlString = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tns=\"http://newWS.front.app.echannel.ebiz.alltrust.com/\">";
|
|
|
xmlString += "<soapenv:Body>";
|
|
|
try {
|
|
|
- mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
|
|
- xmlString += mapper.writeValueAsString(requestData);
|
|
|
+
|
|
|
+ ObjectMapper xmlMapper = new XmlMapper();
|
|
|
+ xmlMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
|
+ xmlMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
|
|
|
+ xmlMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
|
|
+ xmlMapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);
|
|
|
+ xmlMapper.enable(MapperFeature.USE_STD_BEAN_NAMING);
|
|
|
+ xmlMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
|
|
|
+
|
|
|
+ xmlString += xmlMapper.writeValueAsString(requestData);
|
|
|
|
|
|
xmlString += "</soapenv:Body>\n" +
|
|
|
"</soapenv:Envelope>";
|
|
|
@@ -1908,22 +1916,26 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
List<String> applicantProvinceData = applicant.getProvinceData();
|
|
|
|
|
|
if (CollUtil.isNotEmpty(ownerProvinceData) && CollUtil.isNotEmpty(insuredProvinceData) && CollUtil.isNotEmpty(applicantProvinceData)) {
|
|
|
- yaQuoteInfoVo.getOwnerInfo().setProvinceData(ownerProvinceData);
|
|
|
- m.getRequestLabel().getCondition().getVhlowner().setCProvince(ownerProvinceData.get(0));
|
|
|
- m.getRequestLabel().getCondition().getVhlowner().setCCity(ownerProvinceData.get(1));
|
|
|
- m.getRequestLabel().getCondition().getVhlowner().setCCounty(ownerProvinceData.get(2));
|
|
|
-
|
|
|
|
|
|
- yaQuoteInfoVo.getInsuredPersonInfo().setProvinceData(insuredProvinceData);
|
|
|
- m.getRequestLabel().getCondition().getInsured().setCProvince(insuredProvinceData.get(0));
|
|
|
- m.getRequestLabel().getCondition().getInsured().setCCity(insuredProvinceData.get(1));
|
|
|
- m.getRequestLabel().getCondition().getInsured().setCCounty(insuredProvinceData.get(2));
|
|
|
+ //构造参数
|
|
|
+ buildRegionParam(m, yaQuoteInfoVo, ownerProvinceData, insuredProvinceData, applicantProvinceData);
|
|
|
|
|
|
-
|
|
|
- yaQuoteInfoVo.getPolicyHolderInfo().setProvinceData(applicantProvinceData);
|
|
|
- m.getRequestLabel().getCondition().getApplicant().setCProvince(applicantProvinceData.get(0));
|
|
|
- m.getRequestLabel().getCondition().getApplicant().setCCity(applicantProvinceData.get(1));
|
|
|
- m.getRequestLabel().getCondition().getApplicant().setCCounty(applicantProvinceData.get(2));
|
|
|
+// yaQuoteInfoVo.getOwnerInfo().setProvinceData(ownerProvinceData);
|
|
|
+// m.getRequestLabel().getCondition().getVhlowner().setCProvince(ownerProvinceData.get(0));
|
|
|
+// m.getRequestLabel().getCondition().getVhlowner().setCCity(ownerProvinceData.get(1));
|
|
|
+// m.getRequestLabel().getCondition().getVhlowner().setCCounty(ownerProvinceData.get(2));
|
|
|
+//
|
|
|
+//
|
|
|
+// yaQuoteInfoVo.getInsuredPersonInfo().setProvinceData(insuredProvinceData);
|
|
|
+// m.getRequestLabel().getCondition().getInsured().setCProvince(insuredProvinceData.get(0));
|
|
|
+// m.getRequestLabel().getCondition().getInsured().setCCity(insuredProvinceData.get(1));
|
|
|
+// m.getRequestLabel().getCondition().getInsured().setCCounty(insuredProvinceData.get(2));
|
|
|
+//
|
|
|
+//
|
|
|
+// yaQuoteInfoVo.getPolicyHolderInfo().setProvinceData(applicantProvinceData);
|
|
|
+// m.getRequestLabel().getCondition().getApplicant().setCProvince(applicantProvinceData.get(0));
|
|
|
+// m.getRequestLabel().getCondition().getApplicant().setCCity(applicantProvinceData.get(1));
|
|
|
+// m.getRequestLabel().getCondition().getApplicant().setCCounty(applicantProvinceData.get(2));
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -1983,9 +1995,6 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
if (StringUtils.isNotEmpty(sb)) throw new SystemException(sb.toString());
|
|
|
|
|
|
if (CollUtil.isNotEmpty(ownerMap)) {
|
|
|
- m.getRequestLabel().getCondition().getVhlowner().setCProvince(ownerMap.get("provinceCode"));
|
|
|
- m.getRequestLabel().getCondition().getVhlowner().setCCity(ownerMap.get("cityCode"));
|
|
|
- m.getRequestLabel().getCondition().getVhlowner().setCCounty(ownerMap.get("areaCode"));
|
|
|
ownerProvinceData.add(ownerMap.get("provinceCode"));
|
|
|
ownerProvinceData.add(ownerMap.get("cityCode"));
|
|
|
ownerProvinceData.add(ownerMap.get("areaCode"));
|
|
|
@@ -1993,29 +2002,21 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
}
|
|
|
|
|
|
if (CollUtil.isNotEmpty(insureMap)) {
|
|
|
- m.getRequestLabel().getCondition().getInsured().setCProvince(insureMap.get("provinceCode"));
|
|
|
- m.getRequestLabel().getCondition().getInsured().setCCity(insureMap.get("cityCode"));
|
|
|
- m.getRequestLabel().getCondition().getInsured().setCCounty(insureMap.get("areaCode"));
|
|
|
insuredProvinceData.add(insureMap.get("provinceCode"));
|
|
|
insuredProvinceData.add(insureMap.get("cityCode"));
|
|
|
insuredProvinceData.add(insureMap.get("areaCode"));
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if (CollUtil.isNotEmpty(applicantMap)) {
|
|
|
- m.getRequestLabel().getCondition().getApplicant().setCProvince(applicantMap.get("provinceCode"));
|
|
|
- m.getRequestLabel().getCondition().getApplicant().setCCity(applicantMap.get("cityCode"));
|
|
|
- m.getRequestLabel().getCondition().getApplicant().setCCounty(applicantMap.get("areaCode"));
|
|
|
applicantProvinceData.add(applicantMap.get("provinceCode"));
|
|
|
applicantProvinceData.add(applicantMap.get("cityCode"));
|
|
|
applicantProvinceData.add(applicantMap.get("areaCode"));
|
|
|
}
|
|
|
|
|
|
|
|
|
- yaQuoteInfoVo.getOwnerInfo().setProvinceData(ownerProvinceData);
|
|
|
- yaQuoteInfoVo.getInsuredPersonInfo().setProvinceData(insuredProvinceData);
|
|
|
- yaQuoteInfoVo.getPolicyHolderInfo().setProvinceData(applicantProvinceData);
|
|
|
+ //构造参数
|
|
|
+ buildRegionParam(m, yaQuoteInfoVo, ownerProvinceData, insuredProvinceData, applicantProvinceData);
|
|
|
|
|
|
|
|
|
}
|
|
|
@@ -2189,7 +2190,8 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
|
|
|
String cleanStr = YcBuildData.cleanResponseStr(responseData);
|
|
|
try {
|
|
|
- response = (T) xmlMapper.readValue(cleanStr, response.getClass());
|
|
|
+
|
|
|
+ response = (T) gainXmlMapper().readValue(cleanStr, response.getClass());
|
|
|
return response;
|
|
|
} catch (JsonProcessingException e) {
|
|
|
log.debug("=========永诚API方式 - xml请求 - {}解析报错:{}", iqf.getDesc(), e.getMessage());
|
|
|
@@ -2299,4 +2301,25 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private void buildRegionParam(Ruote m,BaseQuoteInfoVo yaQuoteInfoVo,List<String> ownerProvinceData,List<String> insuredProvinceData,List<String> applicantProvinceData) {
|
|
|
+ yaQuoteInfoVo.getOwnerInfo().setProvinceData(ownerProvinceData);
|
|
|
+ m.getRequestLabel().getCondition().getVhlowner().setCProvince(ownerProvinceData.get(0));
|
|
|
+ m.getRequestLabel().getCondition().getVhlowner().setCCity(ownerProvinceData.get(1));
|
|
|
+ m.getRequestLabel().getCondition().getVhlowner().setCCounty(ownerProvinceData.get(2));
|
|
|
+
|
|
|
+
|
|
|
+ yaQuoteInfoVo.getInsuredPersonInfo().setProvinceData(insuredProvinceData);
|
|
|
+ m.getRequestLabel().getCondition().getInsured().setCProvince(insuredProvinceData.get(0));
|
|
|
+ m.getRequestLabel().getCondition().getInsured().setCCity(insuredProvinceData.get(1));
|
|
|
+ m.getRequestLabel().getCondition().getInsured().setCCounty(insuredProvinceData.get(2));
|
|
|
+
|
|
|
+
|
|
|
+ yaQuoteInfoVo.getPolicyHolderInfo().setProvinceData(applicantProvinceData);
|
|
|
+ m.getRequestLabel().getCondition().getApplicant().setCProvince(applicantProvinceData.get(0));
|
|
|
+ m.getRequestLabel().getCondition().getApplicant().setCCity(applicantProvinceData.get(1));
|
|
|
+ m.getRequestLabel().getCondition().getApplicant().setCCounty(applicantProvinceData.get(2));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|