|
|
@@ -4,6 +4,7 @@ package com.jzg.quotation.ansheng.crawler.build;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.jzg.commons.constants.dict.InsOrderStatusEnum;
|
|
|
+import com.jzg.commons.core.page.HttpResult;
|
|
|
import com.jzg.commons.entity.quote.vo.KindInfoVo;
|
|
|
import com.jzg.commons.entity.quote.vo.QuoteVo;
|
|
|
import com.jzg.commons.entity.quote.vo.RiskInfoVo;
|
|
|
@@ -11,7 +12,9 @@ import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
|
|
|
import com.jzg.commons.util.StringUtils;
|
|
|
import com.jzg.quotation.ansheng.crawler.constant.enums.DepartmentPlanCode;
|
|
|
import com.jzg.quotation.ansheng.crawler.entity.response.AnShengCrawlerCalculatePremiumApplyResponse;
|
|
|
+import com.jzg.quotation.ansheng.crawler.entity.response.AnShengCrawlerRenewPolicyResponse;
|
|
|
import com.jzg.quotation.commons.component.ConversionOfQuoteInformation;
|
|
|
+import com.jzg.quotation.commons.constant.enums.quote.RenewalEnum;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
@@ -37,7 +40,8 @@ public final class AnShengCrawlerQuoteResultsVoBuild {
|
|
|
* @param calculatePremiumApply 报价响应信息
|
|
|
* @return 报价返回信息
|
|
|
*/
|
|
|
- public static QuoteResultsVo buildQuoteResultsVo(final String ordersNo, QuoteVo quoteVo, AnShengCrawlerCalculatePremiumApplyResponse calculatePremiumApply,BigDecimal fcxPrice) {
|
|
|
+ public static QuoteResultsVo buildQuoteResultsVo(final String ordersNo, QuoteVo quoteVo, AnShengCrawlerCalculatePremiumApplyResponse calculatePremiumApply,
|
|
|
+ BigDecimal fcxPrice,BigDecimal carActualValue,AnShengCrawlerRenewPolicyResponse policyResponse) {
|
|
|
QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
|
|
|
quoteResultsVo.setOrdersNo(ordersNo);
|
|
|
|
|
|
@@ -78,8 +82,9 @@ public final class AnShengCrawlerQuoteResultsVoBuild {
|
|
|
String totalStr = total.toPlainString();
|
|
|
costs.setNiPremium(BigDecimal.ZERO.compareTo(fcxPrice) == 0 ? "0" : fcxPrice.toPlainString());
|
|
|
costs.setSumPremium(totalStr);
|
|
|
- quoteResultsVo.setScoreVo(buildScoreVo(calculatePremiumApply));
|
|
|
+ quoteResultsVo.setScoreVo(buildScoreVo(calculatePremiumApply,policyResponse));
|
|
|
quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
|
|
|
+ quoteResultsVo.setCarActualValue(carActualValue);
|
|
|
return quoteResultsVo;
|
|
|
}
|
|
|
|
|
|
@@ -104,7 +109,7 @@ public final class AnShengCrawlerQuoteResultsVoBuild {
|
|
|
/**
|
|
|
* 组装打分ScoreVo
|
|
|
*/
|
|
|
- private static QuoteResultsVo.ScoreVo buildScoreVo(AnShengCrawlerCalculatePremiumApplyResponse calculatePremiumApply) {
|
|
|
+ private static QuoteResultsVo.ScoreVo buildScoreVo(AnShengCrawlerCalculatePremiumApplyResponse calculatePremiumApply,AnShengCrawlerRenewPolicyResponse policyResponse) {
|
|
|
QuoteResultsVo.ScoreVo scoreVo = new QuoteResultsVo.ScoreVo();
|
|
|
JSONArray scoreArray = new JSONArray();
|
|
|
AnShengCrawlerCalculatePremiumApplyResponse.DataDTO data = calculatePremiumApply.getData();
|
|
|
@@ -112,6 +117,19 @@ public final class AnShengCrawlerQuoteResultsVoBuild {
|
|
|
scoreVo.setScoreJson(scoreArray);
|
|
|
return scoreVo;
|
|
|
}
|
|
|
+ scoreVo.setJqRenewal(String.valueOf(RenewalEnum.Transfer.getCode()));
|
|
|
+ scoreVo.setSyRenewal(String.valueOf(RenewalEnum.Transfer.getCode()));
|
|
|
+ if (HttpResult.ok().getCode() == policyResponse.getCode()){
|
|
|
+ policyResponse.getData().stream().forEach(v ->{
|
|
|
+ if (DepartmentPlanCode.PLAN_105.getCode().equals(v.getPlanCode())){
|
|
|
+ scoreVo.setJqRenewal(String.valueOf(RenewalEnum.Renewal.getCode()));
|
|
|
+ }
|
|
|
+ if (DepartmentPlanCode.PLAN_109.getCode().equals(v.getPlanCode())){
|
|
|
+ scoreVo.setSyRenewal(String.valueOf(RenewalEnum.Renewal.getCode()));
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
// 1. 统一配置:字段key + 取值函数
|
|
|
record ScoreItem(String scoreKey, Function<AnShengCrawlerCalculatePremiumApplyResponse.DataDTO, String> valueFunc) {}
|
|
|
List<ScoreItem> itemList = new ArrayList<>();
|