|
|
@@ -739,7 +739,15 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public SchemeResultVo getSchemeResult(String companyId, String productId, String seatCount,String energyType,String vehicleType,String carnature) {
|
|
|
+ public SchemeResultVo getSchemeResult(SchemeRuleFilterVo schemeRuleFilterVo) {
|
|
|
+
|
|
|
+ String companyId = schemeRuleFilterVo.getCompanyId();
|
|
|
+ String productId = schemeRuleFilterVo.getProductId();
|
|
|
+ String seatCount = schemeRuleFilterVo.getCarInfo().getSeatCount();
|
|
|
+ String vehicleType = schemeRuleFilterVo.getCarInfo().getCarKindCode();
|
|
|
+ String energyType = schemeRuleFilterVo.getCarInfo().getEnergyTypeCode();
|
|
|
+ String carnature = schemeRuleFilterVo.getCarInfo().getCarNatureCode();
|
|
|
+
|
|
|
log.info("根据保司Id和产品id查询协议信息。 companyId=[{}],productId=[{}]", companyId, productId);
|
|
|
List<SchemeResultVo.SchemeVo> schemeInsuranceInfo = ptlSchemeMapper.getSchemeInsuranceInfo(companyId, productId);
|
|
|
List<SchemeResultVo.SchemeVo> schemeDrivingInfo = ptlSchemeMapper.getSchemeDrivingInfo(companyId, productId);
|
|
|
@@ -776,6 +784,15 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
|
|
|
&& scheme.getCarnature().contains(carnature))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
+ // 再次过滤方案 根据方案的规则条件
|
|
|
+ List<String> schemeIds = newSchemeList.stream().map(SchemeResultVo.SchemeVo::getId).collect(Collectors.toList());
|
|
|
+ List<PtlSchemeRulesAttrLink> ptlSchemeRulesAttrLinks = ptlSchemeRulesAttrLinkMapper.selectList(new LambdaQueryWrapper<PtlSchemeRulesAttrLink>().in(PtlSchemeRulesAttrLink::getSchemeId, schemeIds));
|
|
|
+ ValidateSchemeRuleVo validateSchemeRuleVo = new ValidateSchemeRuleVo();
|
|
|
+ validateSchemeRuleVo.builderQuoteVo(schemeRuleFilterVo, redissonClient);
|
|
|
+ validateSchemeRuleVo.setAttrLinks(ptlSchemeRulesAttrLinks);
|
|
|
+ HttpResult<List<String>> esmInsCompanyHttpResult = costsRuleClient.validateSchemeRule(validateSchemeRuleVo);
|
|
|
+ List<String> insSchemeIds = esmInsCompanyHttpResult.getData();
|
|
|
+ newSchemeList.removeIf(x -> !insSchemeIds.contains(x.getId()));
|
|
|
schemeInsuranceInfo = newSchemeList;
|
|
|
|
|
|
// 创建一个 Map,Key: info.id, Value: List<Driving>
|