|
@@ -1,8 +1,8 @@
|
|
|
package com.jzg.quotation.dajia.api.service.impl;
|
|
package com.jzg.quotation.dajia.api.service.impl;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.jzg.commons.constants.InsuranceRisk;
|
|
import com.jzg.commons.constants.InsuranceRisk;
|
|
|
import com.jzg.commons.constants.dict.InsOrderStatusEnum;
|
|
import com.jzg.commons.constants.dict.InsOrderStatusEnum;
|
|
@@ -33,7 +33,8 @@ import com.jzg.quotation.dajia.api.entity.vo.PersonAreaVo;
|
|
|
import com.jzg.quotation.dajia.api.service.DaJiaApiOrderService;
|
|
import com.jzg.quotation.dajia.api.service.DaJiaApiOrderService;
|
|
|
import com.jzg.quotation.dajia.api.service.DaJiaApiRequest;
|
|
import com.jzg.quotation.dajia.api.service.DaJiaApiRequest;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
+import org.slf4j.Logger;
|
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
@@ -49,6 +50,8 @@ import java.util.stream.Collectors;
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public class DaJiaApiRequestImpl implements DaJiaApiRequest {
|
|
public class DaJiaApiRequestImpl implements DaJiaApiRequest {
|
|
|
|
|
|
|
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(DaJiaApiRequestImpl.class);
|
|
|
|
|
+
|
|
|
private final DaJiaApiRequestComponent daJiaApiRequestComponent;
|
|
private final DaJiaApiRequestComponent daJiaApiRequestComponent;
|
|
|
|
|
|
|
|
private final DaJiaApiOrderService daJiaCrawlerOrderService;
|
|
private final DaJiaApiOrderService daJiaCrawlerOrderService;
|
|
@@ -67,10 +70,13 @@ public class DaJiaApiRequestImpl implements DaJiaApiRequest {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public QuoteResultsVo quote(QuoteVo quoteVo) throws JsonProcessingException {
|
|
public QuoteResultsVo quote(QuoteVo quoteVo) throws JsonProcessingException {
|
|
|
|
|
+ log.info("大家保险车险API报价:quoteVo=[{}]", JSONUtil.toJsonStr(quoteVo));
|
|
|
OrderBase order = quoteVo.getOrder();
|
|
OrderBase order = quoteVo.getOrder();
|
|
|
AttributionInformationVo attributionInformationVo = order.getAttributionInformationVo();
|
|
AttributionInformationVo attributionInformationVo = order.getAttributionInformationVo();
|
|
|
// 配置信息
|
|
// 配置信息
|
|
|
String url = getApiUrl(order.getInsuranceCompanyCode());
|
|
String url = getApiUrl(order.getInsuranceCompanyCode());
|
|
|
|
|
+ // 临时验证
|
|
|
|
|
+ //url = "https://open-ics.djbx.com/dip-agent/agent/invokeForVchicle/api/";
|
|
|
DaJiaApiConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(DaJiaApiConfigureParameters.class,
|
|
DaJiaApiConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(DaJiaApiConfigureParameters.class,
|
|
|
attributionInformationVo.getConfigInfo());
|
|
attributionInformationVo.getConfigInfo());
|
|
|
// 获取业务订单号
|
|
// 获取业务订单号
|
|
@@ -102,15 +108,18 @@ public class DaJiaApiRequestImpl implements DaJiaApiRequest {
|
|
|
// 报价
|
|
// 报价
|
|
|
ODR1009Response odr1009Response = quotation(orderNo, quoteVo, odr1016Response, parameters,url);
|
|
ODR1009Response odr1009Response = quotation(orderNo, quoteVo, odr1016Response, parameters,url);
|
|
|
if(!odr1009Response.getStatus().equals("0000")){
|
|
if(!odr1009Response.getStatus().equals("0000")){
|
|
|
|
|
+ log.info("大家保险报价失败,失败原因:{}]",odr1009Response.getMessage());
|
|
|
throw new SystemException(odr1009Response.getMessage());
|
|
throw new SystemException(odr1009Response.getMessage());
|
|
|
}
|
|
}
|
|
|
List<AccidentalDrivingVo> accidentalDrivings = quoteVo.getAccidentalDrivings();
|
|
List<AccidentalDrivingVo> accidentalDrivings = quoteVo.getAccidentalDrivings();
|
|
|
NVHLODR1001Response nvhlodr1001Response = null;
|
|
NVHLODR1001Response nvhlodr1001Response = null;
|
|
|
if (CollUtil.isNotEmpty(accidentalDrivings)) {
|
|
if (CollUtil.isNotEmpty(accidentalDrivings)) {
|
|
|
|
|
+ log.debug("大家保险进行非车险报价. accidentalDrivings=[{}]", JSONUtil.toJsonStr(accidentalDrivings));
|
|
|
//6.驾意险报价
|
|
//6.驾意险报价
|
|
|
NVHLODR1001Request nvhlodr1001Request = new NVHLODR1001Request(parameters, odr1009Response, order.getOrdersNo(), accidentalDrivings, quoteVo);
|
|
NVHLODR1001Request nvhlodr1001Request = new NVHLODR1001Request(parameters, odr1009Response, order.getOrdersNo(), accidentalDrivings, quoteVo);
|
|
|
nvhlodr1001Response = daJiaApiRequestComponent.accidentPremiumCalculation(nvhlodr1001Request,url);
|
|
nvhlodr1001Response = daJiaApiRequestComponent.accidentPremiumCalculation(nvhlodr1001Request,url);
|
|
|
if (!"2000".equals(nvhlodr1001Response.getStatus())) {
|
|
if (!"2000".equals(nvhlodr1001Response.getStatus())) {
|
|
|
|
|
+ log.info("大家保险进行非车险报价失败。nvhlodr1001Response=[{}]", JSONUtil.toJsonStr(nvhlodr1001Response));
|
|
|
throw new SystemException("驾意险报价失败");
|
|
throw new SystemException("驾意险报价失败");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -146,8 +155,13 @@ public class DaJiaApiRequestImpl implements DaJiaApiRequest {
|
|
|
private void repeatCoverhandler(ODR1009Response odr1009Response, QuoteVo quoteVo, String orderNo, ODR1016Response odr1016Response, DaJiaApiConfigureParameters parameters,String url) {
|
|
private void repeatCoverhandler(ODR1009Response odr1009Response, QuoteVo quoteVo, String orderNo, ODR1016Response odr1016Response, DaJiaApiConfigureParameters parameters,String url) {
|
|
|
if (odr1009Response.getStatus().equals(Message.M0002.getCode())) {
|
|
if (odr1009Response.getStatus().equals(Message.M0002.getCode())) {
|
|
|
//获取重复投保信息
|
|
//获取重复投保信息
|
|
|
- String jqAppStatusMessage = odr1009Response.getResult().getJqAppStatusMessage() == null ? "" : odr1009Response.getResult().getJqAppStatusMessage().toString();
|
|
|
|
|
- String syAppStatusMessage = odr1009Response.getResult().getReInsuredInfo() == null ? "" : odr1009Response.getResult().getReInsuredInfo();
|
|
|
|
|
|
|
+ ODR1009Response.ResultDTO res = odr1009Response.getResult();
|
|
|
|
|
+ String jqAppStatusMessage="";
|
|
|
|
|
+ String syAppStatusMessage="";
|
|
|
|
|
+ if(res != null){
|
|
|
|
|
+ jqAppStatusMessage = odr1009Response.getResult().getJqAppStatusMessage() == null ? "" : odr1009Response.getResult().getJqAppStatusMessage().toString();
|
|
|
|
|
+ syAppStatusMessage = odr1009Response.getResult().getReInsuredInfo() == null ? "" : odr1009Response.getResult().getReInsuredInfo();
|
|
|
|
|
+ }
|
|
|
if (jqAppStatusMessage.contains("重复投保") || syAppStatusMessage.contains("重复投保")) {
|
|
if (jqAppStatusMessage.contains("重复投保") || syAppStatusMessage.contains("重复投保")) {
|
|
|
//交强重复投保
|
|
//交强重复投保
|
|
|
RiskInfoVo ciRiskInfoVo = quoteVo.getCiRiskInfoVo();
|
|
RiskInfoVo ciRiskInfoVo = quoteVo.getCiRiskInfoVo();
|
|
@@ -217,6 +231,9 @@ public class DaJiaApiRequestImpl implements DaJiaApiRequest {
|
|
|
LocalDateTime timePlusOneSecond = time.plusSeconds(1);
|
|
LocalDateTime timePlusOneSecond = time.plusSeconds(1);
|
|
|
newStDate = timePlusOneSecond.format(formatter);
|
|
newStDate = timePlusOneSecond.format(formatter);
|
|
|
}
|
|
}
|
|
|
|
|
+ if(newStDate == null || newStDate.endsWith("")){
|
|
|
|
|
+ newStDate = "2026-04-17 12:00:34";
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
LocalDateTime start = DateTimeUtil.parseLocalDateTime(newStDate, DateTimeUtil.DATETIME_PATTERN);
|
|
LocalDateTime start = DateTimeUtil.parseLocalDateTime(newStDate, DateTimeUtil.DATETIME_PATTERN);
|
|
|
List<String> result = new ArrayList<>();
|
|
List<String> result = new ArrayList<>();
|