|
|
@@ -1,5 +1,7 @@
|
|
|
package com.jzg.quotation.huanong.crawler.build;
|
|
|
|
|
|
+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.QuoteVo;
|
|
|
@@ -24,8 +26,6 @@ public final class HuaNongCrawlerQuoteResultsVoBuild {
|
|
|
public static QuoteResultsVo buildQuoteResultsVo(String orderNo, QuoteVo quoteVo, HuaNongCrawlerQuotedPriceResponse huaNongCrawlerQuotedPriceResponse, HuaNongCrawlerSaveResponse saveResponse) {
|
|
|
QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
|
|
|
quoteResultsVo.setOrdersNo(orderNo);
|
|
|
- quoteResultsVo.setCiRiskInfoVo(quoteVo.getCiRiskInfoVo());
|
|
|
- quoteResultsVo.setBiRiskInfoVo(quoteVo.getBiRiskInfoVo());
|
|
|
|
|
|
List<HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.ContractDTO> contract = huaNongCrawlerQuotedPriceResponse.getBusinessData()
|
|
|
.getContract();
|
|
|
@@ -44,9 +44,6 @@ public final class HuaNongCrawlerQuoteResultsVoBuild {
|
|
|
quoteResultsVo.setJyPolicyNumber(jyContract.get(0).getContractMain().getContractNo());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
Map<String, HuaNongCrawlerSaveResponse.BusinessDataDTO.ContractDTO> collect = saveResponse.getBusinessData()
|
|
|
.getContract()
|
|
|
.stream()
|
|
|
@@ -59,24 +56,76 @@ public final class HuaNongCrawlerQuoteResultsVoBuild {
|
|
|
|
|
|
if (Risk.RISK_0507.getRiskCode().equals(contractDTO.getContractMain().getRiskCode())) {
|
|
|
// 交强险
|
|
|
- buildRiskInfoVo(quoteVo.getCiRiskInfoVo(), contractDTO.getContractMain());
|
|
|
+ buildRiskInfoVo(quoteVo.getCiRiskInfoVo(), contractDTO.getContractMain(), contractDTO.getPlatFormMessage(), true);
|
|
|
quoteResultsVo.getCosts().setCiPremium(String.valueOf(contractDTO.getContractMain().getTotalPremium()));
|
|
|
quoteResultsVo.getCosts().setVvTax(String.valueOf(contractDTO.getTax().getSumTax()));
|
|
|
quoteResultsVo.setCiPolicyNumber(contractDTO1.getContractMain().getContractNo());
|
|
|
} else {
|
|
|
// 商业险
|
|
|
buildKindInfo(quoteVo.getKindInfoVo(), contractDTO.getCoverage());
|
|
|
- buildRiskInfoVo(quoteVo.getBiRiskInfoVo(), contractDTO.getContractMain());
|
|
|
+ buildRiskInfoVo(quoteVo.getBiRiskInfoVo(), contractDTO.getContractMain(), contractDTO.getPlatFormMessage(), false);
|
|
|
quoteResultsVo.getCosts().setBiPremium(String.valueOf(contractDTO.getContractMain().getBiTotalpremium()));
|
|
|
quoteResultsVo.setBiPolicyNumber(contractDTO1.getContractMain().getContractNo());
|
|
|
}
|
|
|
});
|
|
|
+ //设置评分
|
|
|
+ quoteResultsVo.setScoreVo(buildScoreVo(huaNongCrawlerQuotedPriceResponse));
|
|
|
quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
|
|
|
+ quoteResultsVo.setCiRiskInfoVo(quoteVo.getCiRiskInfoVo());
|
|
|
+ quoteResultsVo.setBiRiskInfoVo(quoteVo.getBiRiskInfoVo());
|
|
|
return quoteResultsVo;
|
|
|
}
|
|
|
|
|
|
- private static void buildRiskInfoVo(RiskInfoVo riskInfoVo, HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.ContractDTO.ContractMainDTO contractMain) {
|
|
|
- riskInfoVo.setStartDate(contractMain.getValidDate());
|
|
|
+ private static QuoteResultsVo.ScoreVo buildScoreVo(HuaNongCrawlerQuotedPriceResponse huaNongCrawlerQuotedPriceResponse) {
|
|
|
+ QuoteResultsVo.ScoreVo scoreVo = new QuoteResultsVo.ScoreVo();
|
|
|
+ HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO businessData = huaNongCrawlerQuotedPriceResponse.getBusinessData();
|
|
|
+
|
|
|
+ if (businessData == null) {
|
|
|
+ return scoreVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.PolicyInfoDTO policyInfo = businessData.getPolicyInfo();
|
|
|
+ HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.BusinessMainDTO businessMain = businessData.getBusinessMain();
|
|
|
+
|
|
|
+ String ultimateScoreBiCi = policyInfo != null ? policyInfo.getUltimateScoreBiCi() : "";
|
|
|
+ String hnscoreGroup = businessMain != null ? businessMain.getHnscoreGroup() : "";
|
|
|
+
|
|
|
+ scoreVo.setLossRation(ultimateScoreBiCi);
|
|
|
+
|
|
|
+ JSONArray scoreJson = new JSONArray();
|
|
|
+ scoreJson.add(new JSONObject()
|
|
|
+ .fluentPut("scoreName", "总评分")
|
|
|
+ .fluentPut("scoreKey", "mark")
|
|
|
+ .fluentPut("score", ultimateScoreBiCi));
|
|
|
+ scoreJson.add(new JSONObject()
|
|
|
+ .fluentPut("scoreName", "评分分组")
|
|
|
+ .fluentPut("scoreKey", "markgroup")
|
|
|
+ .fluentPut("score", hnscoreGroup));
|
|
|
+ scoreVo.setScoreJson(scoreJson);
|
|
|
+
|
|
|
+ return scoreVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void buildRiskInfoVo(RiskInfoVo riskInfoVo, HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.ContractDTO.ContractMainDTO contractMain, HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.ContractDTO.PlatFormMessageDTO platFormMessage, boolean isCi) {
|
|
|
+ String startDate = contractMain.getValidDate();
|
|
|
+ if (platFormMessage != null) {
|
|
|
+ if (isCi) {
|
|
|
+ String ciReinsureEndDate = platFormMessage.getCiReinsureEndDate();
|
|
|
+ if (org.springframework.util.StringUtils.hasText(ciReinsureEndDate)) {
|
|
|
+ startDate = ciReinsureEndDate;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ String biReinsureEndDate = platFormMessage.getBiReinsureEndDate();
|
|
|
+ if (org.springframework.util.StringUtils.hasText(biReinsureEndDate)) {
|
|
|
+ if (biReinsureEndDate.length() == 10) {
|
|
|
+ startDate = biReinsureEndDate + " 00:00:00";
|
|
|
+ } else {
|
|
|
+ startDate = biReinsureEndDate;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ riskInfoVo.setStartDate(startDate);
|
|
|
riskInfoVo.setEndDate(contractMain.getExpiryDate());
|
|
|
}
|
|
|
|