|
|
@@ -1,6 +1,8 @@
|
|
|
package com.jzg.quotation.hengbang.crawler.build;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.jzg.commons.constants.dict.InsOrderStatusEnum;
|
|
|
import com.jzg.commons.entity.quote.vo.KindInfoVo;
|
|
|
import com.jzg.commons.entity.quote.vo.RiskInfoVo;
|
|
|
@@ -19,13 +21,15 @@ import java.util.stream.Collectors;
|
|
|
* @date: 2025/4/10 11:48
|
|
|
**/
|
|
|
public final class HbCrawlerQuoteResultVoBuild {
|
|
|
- private HbCrawlerQuoteResultVoBuild() {throw new IllegalStateException("Utility class");}
|
|
|
+ private HbCrawlerQuoteResultVoBuild() {
|
|
|
+ throw new IllegalStateException("Utility class");
|
|
|
+ }
|
|
|
|
|
|
public static QuoteResultsVo build(QuoteVo quoteVo, HbCrawlerProposalResponse proposalResponse, String calculationResult) {
|
|
|
QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
|
|
|
quoteResultsVo.setOrdersNo(quoteVo.getOrder().getOrdersNo());
|
|
|
quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
|
|
|
- if(!calculationResult.equals("成功")){
|
|
|
+ if (!calculationResult.equals("成功")) {
|
|
|
quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
|
|
|
quoteResultsVo.setErrorMessage(calculationResult);
|
|
|
return quoteResultsVo;
|
|
|
@@ -35,6 +39,35 @@ public final class HbCrawlerQuoteResultVoBuild {
|
|
|
//商业险
|
|
|
quoteResultsVo.setBiRiskInfoVo(buildbiInfo(proposalResponse));
|
|
|
quoteResultsVo.setKindInfoVo(buildKindInfoList(proposalResponse, quoteVo));
|
|
|
+
|
|
|
+ QuoteResultsVo.ScoreVo scoreVo = new QuoteResultsVo.ScoreVo();
|
|
|
+ // 保司评分
|
|
|
+ JSONArray scoreJson = new JSONArray();
|
|
|
+ if (proposalResponse.getForceLiability() != null && proposalResponse.getCarInsureLiabilityList().size() > 0) {
|
|
|
+ //光博评分
|
|
|
+ scoreJson.add(new JSONObject()
|
|
|
+ .fluentPut("scoreName", "交强光博分")
|
|
|
+ .fluentPut("scoreKey", "score")
|
|
|
+ .fluentPut("score", proposalResponse.getBusiCarInsureRisk().getBillelr2()));
|
|
|
+ } else if (proposalResponse.getForceLiability() != null) {
|
|
|
+ //光博评分
|
|
|
+ scoreJson.add(new JSONObject()
|
|
|
+ .fluentPut("scoreName", "交强光博分")
|
|
|
+ .fluentPut("scoreKey", "score")
|
|
|
+ .fluentPut("score", proposalResponse.getForceCarInsureRisk().getBillelr2()));
|
|
|
+ } else if (proposalResponse.getCarInsureLiabilityList().size() > 0) {
|
|
|
+ //光博评分
|
|
|
+ scoreJson.add(new JSONObject()
|
|
|
+ .fluentPut("scoreName", "交强光博分")
|
|
|
+ .fluentPut("scoreKey", "score")
|
|
|
+ .fluentPut("score", proposalResponse.getBusiCarInsureRisk().getBillelr2()));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ scoreVo.setScoreJson(scoreJson);
|
|
|
+ quoteResultsVo.setScoreVo(scoreVo);
|
|
|
+
|
|
|
+
|
|
|
//设置保费,车船税,投保单号
|
|
|
buildParams(proposalResponse, quoteResultsVo);
|
|
|
return quoteResultsVo;
|
|
|
@@ -43,7 +76,7 @@ public final class HbCrawlerQuoteResultVoBuild {
|
|
|
public static RiskInfoVo buildCiInfo(HbCrawlerProposalResponse proposalResponse) {
|
|
|
RiskInfoVo ciRiskInfoVo = new RiskInfoVo();
|
|
|
HbCrawlerProposalResponse.ForceCarInsureRiskDTO forceCarInsureRisk = proposalResponse.getForceCarInsureRisk();
|
|
|
- if(Objects.nonNull(forceCarInsureRisk)){
|
|
|
+ if (Objects.nonNull(forceCarInsureRisk)) {
|
|
|
ciRiskInfoVo.setRiskCode(forceCarInsureRisk.getRiskcode());
|
|
|
ciRiskInfoVo.setStartDate(forceCarInsureRisk.getBegintime());
|
|
|
ciRiskInfoVo.setEndDate(forceCarInsureRisk.getEndtime());
|
|
|
@@ -55,7 +88,7 @@ public final class HbCrawlerQuoteResultVoBuild {
|
|
|
public static RiskInfoVo buildbiInfo(HbCrawlerProposalResponse proposalResponse) {
|
|
|
RiskInfoVo biRiskInfoVo = new RiskInfoVo();
|
|
|
HbCrawlerProposalResponse.BusiCarInsureRiskDTO busiCarInsureRisk = proposalResponse.getBusiCarInsureRisk();
|
|
|
- if(Objects.nonNull(busiCarInsureRisk)){
|
|
|
+ if (Objects.nonNull(busiCarInsureRisk)) {
|
|
|
biRiskInfoVo.setRiskCode(busiCarInsureRisk.getRiskcode());
|
|
|
biRiskInfoVo.setStartDate(busiCarInsureRisk.getBegintime());
|
|
|
biRiskInfoVo.setEndDate(busiCarInsureRisk.getEndtime());
|
|
|
@@ -65,7 +98,7 @@ public final class HbCrawlerQuoteResultVoBuild {
|
|
|
|
|
|
public static List<KindInfoVo> buildKindInfoList(HbCrawlerProposalResponse proposalResponse, QuoteVo quoteVo) {
|
|
|
List<KindInfoVo> kindInfoVoList = quoteVo.getKindInfoVo();
|
|
|
- if(CollUtil.isNotEmpty(kindInfoVoList)){
|
|
|
+ if (CollUtil.isNotEmpty(kindInfoVoList)) {
|
|
|
List<HbCrawlerProposalResponse.CarInsureLiabilityDTO> carInsureLiabilityList = proposalResponse.getCarInsureLiabilityList();
|
|
|
Map<String, HbCrawlerProposalResponse.CarInsureLiabilityDTO> carInsureLiabilityDTOMap = carInsureLiabilityList.stream().collect(Collectors.toMap(HbCrawlerProposalResponse.CarInsureLiabilityDTO::getKindcode, carInsureLiabilityDTO -> carInsureLiabilityDTO));
|
|
|
kindInfoVoList.forEach(kindInfoVo -> {
|
|
|
@@ -86,13 +119,13 @@ public final class HbCrawlerQuoteResultVoBuild {
|
|
|
//商业险数据
|
|
|
HbCrawlerProposalResponse.BusiCarInsureRiskDTO busiCarInsureRisk = proposalResponse.getBusiCarInsureRisk();
|
|
|
HbCrawlerProposalResponse.CarInsureShiptaxDTO carInsureShiptax = proposalResponse.getCarInsureShiptax();
|
|
|
- if(Objects.nonNull(busiCarInsureRisk)){
|
|
|
+ if (Objects.nonNull(busiCarInsureRisk)) {
|
|
|
quoteResultsVo.getCosts().setBiPremium(busiCarInsureRisk.getSumPremium());
|
|
|
}
|
|
|
- if(Objects.nonNull(forceCarInsureRisk)){
|
|
|
+ if (Objects.nonNull(forceCarInsureRisk)) {
|
|
|
quoteResultsVo.getCosts().setCiPremium(forceCarInsureRisk.getSumPremium());
|
|
|
}
|
|
|
- if(Objects.nonNull(carInsureShiptax)){
|
|
|
+ if (Objects.nonNull(carInsureShiptax)) {
|
|
|
quoteResultsVo.getCosts().setVvTax(carInsureShiptax.getSumtax());
|
|
|
}
|
|
|
//设置非车保费
|