|
@@ -33,7 +33,10 @@ import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.http.HttpHeaders;
|
|
import org.springframework.http.HttpHeaders;
|
|
|
|
|
|
|
|
-import java.util.*;
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
+import java.util.Optional;
|
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -221,7 +224,15 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
|
|
|
saveThePolicyNumber(ordersNo, applyApplicationResponse);
|
|
saveThePolicyNumber(ordersNo, applyApplicationResponse);
|
|
|
UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
|
|
UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
|
|
|
AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(ordersNo);
|
|
AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(ordersNo);
|
|
|
- if (!applyApplicationResponse.getCode().equals(200)) {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ PaymentLinkResultsVo paymentLinkResultsVo = new PaymentLinkResultsVo();
|
|
|
|
|
+ if (applyApplicationResponse.getCode().equals(200)) {
|
|
|
|
|
+ PaymentLinkVo paymentLinkVo = new PaymentLinkVo();
|
|
|
|
|
+ paymentLinkVo.setOrder(underwritingVo.getOrder());
|
|
|
|
|
+ paymentLinkResultsVo = loopAcquisitionPaymentLink(paymentLinkVo);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (!applyApplicationResponse.getCode().equals(200) && StringUtils.isEmpty(paymentLinkResultsVo.getPaymentLink())) {
|
|
|
underwritingResultsVo.setUnderwritingResult(applyApplicationResponse.getMessage());
|
|
underwritingResultsVo.setUnderwritingResult(applyApplicationResponse.getMessage());
|
|
|
underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
|
|
underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
|
|
|
return underwritingResultsVo;
|
|
return underwritingResultsVo;
|
|
@@ -231,12 +242,49 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
|
|
|
if (anShengCrawlerOrder.getNiInfos().size() > 0) {
|
|
if (anShengCrawlerOrder.getNiInfos().size() > 0) {
|
|
|
underwritingResultsVo.setJyApplyNo(anShengCrawlerOrder.getNiInfos().get(0).getNiPolicyNumber());
|
|
underwritingResultsVo.setJyApplyNo(anShengCrawlerOrder.getNiInfos().get(0).getNiPolicyNumber());
|
|
|
}
|
|
}
|
|
|
|
|
+ underwritingResultsVo.setPaymentLink(paymentLinkResultsVo.getPaymentLink());
|
|
|
underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
|
|
underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
|
|
|
}
|
|
}
|
|
|
- underwritingResultsVo.setPaymentLink("");
|
|
|
|
|
return underwritingResultsVo;
|
|
return underwritingResultsVo;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 调用接口的业务方法(有返回值)
|
|
|
|
|
+ */
|
|
|
|
|
+ private PaymentLinkResultsVo loopAcquisitionPaymentLink(PaymentLinkVo paymentLinkVo) {
|
|
|
|
|
+ int retryCount = 0;
|
|
|
|
|
+ int maxRetry = 15;
|
|
|
|
|
+ long sleepTime = 3000;
|
|
|
|
|
+ PaymentLinkResultsVo paymentLink = null;
|
|
|
|
|
+ while (retryCount < maxRetry) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ paymentLink = getPaymentLink(paymentLinkVo);
|
|
|
|
|
+ log.info("第{}次获取支付链接信息:{}", retryCount, JSONObject.toJSONString(paymentLink));
|
|
|
|
|
+ if (paymentLink != null && StringUtils.isNotEmpty(paymentLink.getPaymentLink())) {
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ Thread.sleep(sleepTime);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ log.error("安盛支付二维码异常信息:{}",e.getMessage());
|
|
|
|
|
+ try {
|
|
|
|
|
+ Thread.sleep(sleepTime);
|
|
|
|
|
+ } catch (InterruptedException ie) {
|
|
|
|
|
+ Thread.currentThread().interrupt();
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ retryCount++;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return paymentLink;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 保存投保单号
|
|
* 保存投保单号
|
|
|
*
|
|
*
|