Explorar el Código

Merge remote-tracking branch 'origin/master'

lixiaolong hace 3 semanas
padre
commit
c7721d3fc0

+ 24 - 7
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/service/impl/HuaNongCrawlerQuoteProcessServiceImpl.java

@@ -1,6 +1,7 @@
 package com.jzg.quotation.huanong.crawler.service.impl;
 
 import com.alibaba.nacos.common.utils.CollectionUtils;
+import com.alibaba.nacos.shaded.com.google.common.collect.ImmutableMap;
 import com.jzg.commons.entity.quote.vo.image.InsuranceImageVo;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.quotation.commons.component.DistributedLockComponent;
@@ -41,6 +42,17 @@ public class HuaNongCrawlerQuoteProcessServiceImpl implements HuaNongCrawlerQuot
 
     // 登录循环次数
     private final static int LOGIN_RETRY_COUNT = 5;
+    // 登录机构类型map
+    private static final Map<String, String> BUSINESS_TYPE_MAP;
+    static {
+        Map<String, String> m = new HashMap<>();
+        m.put("传统直销", "11");
+        m.put("个人代理", "51");
+        m.put("专业代理", "53");
+        m.put("经纪业务", "54");
+        m.put("车商业务", "521");
+        BUSINESS_TYPE_MAP = Collections.unmodifiableMap(m);
+    }
 
 
     @Override
@@ -168,14 +180,14 @@ public class HuaNongCrawlerQuoteProcessServiceImpl implements HuaNongCrawlerQuot
         return redissonComponent.cacheJson(HuaNongCrawlerCacheComponent.SALE_INFO + agreementId, () -> {
             HttpHeaders httpHeaders = new HttpHeaders();
             // 归属机构
-            HuaNongCrawlerComInfoQueryRequestRequest huaNongCrawlerComInfoQueryRequest = new HuaNongCrawlerComInfoQueryRequestRequest(loginComCode, token);
+            HuaNongCrawlerComInfoQueryRequestRequest huaNongCrawlerComInfoQueryRequest = new HuaNongCrawlerComInfoQueryRequestRequest(parameters.getComCode(), token);
             HuaNongCrawlerComInfoQueryResponse huaNongCrawlerComInfoQueryResponse = huaNongCrawlerRequestComponent.comInfoQuery(huaNongCrawlerComInfoQueryRequest, httpHeaders);
             List<HuaNongCrawlerComInfoQueryResponse.ComListDTO> comList = huaNongCrawlerComInfoQueryResponse.getComList();
             Map<String, HuaNongCrawlerComInfoQueryResponse.ComListDTO> com = comList.stream()
                     .collect(Collectors.toMap(HuaNongCrawlerComInfoQueryResponse.ComListDTO::getComCode, x -> x));
 
             // 代理人信息
-            HuaNongCrawlerUserTypeAndProxyInfoQueryRequestRequest userTypeAndProxyInfoQueryRequest = new HuaNongCrawlerUserTypeAndProxyInfoQueryRequestRequest(username, token, loginComCode, parameters.getComCode(),parameters.getProducerCode());
+            HuaNongCrawlerUserTypeAndProxyInfoQueryRequestRequest userTypeAndProxyInfoQueryRequest = new HuaNongCrawlerUserTypeAndProxyInfoQueryRequestRequest(username, token, loginComCode, parameters.getComCode(),BUSINESS_TYPE_MAP.get(parameters.getProducer()));
             HuaNongCrawlerUserTypeAndProxyInfoQueryResponse userTypeAndProxyInfoQueryResponse = huaNongCrawlerRequestComponent.userTypeAndProxyInfoQuery(userTypeAndProxyInfoQueryRequest, httpHeaders);
 
             //代理人
@@ -191,10 +203,10 @@ public class HuaNongCrawlerQuoteProcessServiceImpl implements HuaNongCrawlerQuot
                             x -> x
                     ));
             // 协议号
-            List<HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgreementListDTO> agreementList = userTypeAndProxyInfoQueryResponse.getAgreementList();
-            /*Map<String, String> map = agreementList.stream()
+            /*List<HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgreementListDTO> agreementList = userTypeAndProxyInfoQueryResponse.getAgreementList();
+            *//*Map<String, String> map = agreementList.stream()
                     .collect(Collectors.toMap(HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgreementListDTO::getAgreementNo, HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgreementListDTO::getAgentCode));
-*/
+*//*
             Map<String, String> map = Optional.ofNullable(agreementList)
                     .orElseGet(Collections::emptyList)
                     .stream()
@@ -203,7 +215,7 @@ public class HuaNongCrawlerQuoteProcessServiceImpl implements HuaNongCrawlerQuot
                             HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgreementListDTO::getAgreementNo,
                             HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgreementListDTO::getAgentCode,
                             (existing, replacement) -> existing  // 重复键保留第一个
-                    ));
+                    ));*/
             // 业务员
             List<HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.HandlerListDTO> handlerList = userTypeAndProxyInfoQueryResponse.getHandlerList();
             Map<String, HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.HandlerListDTO> handler = handlerList.stream()
@@ -225,7 +237,12 @@ public class HuaNongCrawlerQuoteProcessServiceImpl implements HuaNongCrawlerQuot
 
             HuaNongCrawlerComInfoQueryResponse.ComListDTO comListDTO = com.get(parameters.getComCode());
             HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.HandlerListDTO handlerListDTO = Optional.ofNullable(handlerList).filter(CollectionUtils::isNotEmpty).map(list -> list.get(0)).orElse(null);
-            HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgentInfoListDTO agentInfoListDTO = agentInfoListDTOMap.get(map.get(parameters.getAgreementNo())) == null?new HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgentInfoListDTO() : agentInfoListDTOMap.get(map.get(parameters.getAgreementNo()));
+            HuaNongCrawlerUserTypeAndProxyInfoQueryResponse.AgentInfoListDTO agentInfoListDTO = agentInfoListDTOMap.values().stream()
+                    .filter(dto -> dto.getAgentName() != null && dto.getAgentName().equals(parameters.getHandlerCode()))
+                    .findFirst()
+                    .orElse(null);
+
+
             return new HuaNongCrawlerQuotedPriceRequestRequest.BusinessDataDTO.SaleInfoDTO(comListDTO, handlerListDTO, agentInfoListDTO, producerListDTO, baseInfoDTO, parameters.getCallerName());
         }, HuaNongCrawlerQuotedPriceRequestRequest.BusinessDataDTO.SaleInfoDTO.class, Duration.ofHours(HuaNongCrawlerCacheComponent.SALE_INFO_TIME));
     }

+ 5 - 5
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/service/impl/HuaNongCrawlerRequestImpl.java

@@ -89,16 +89,16 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
 
         // 1 归属信息
         HuaNongCrawlerQuotedPriceRequestRequest.BusinessDataDTO.SaleInfoDTO saleInfoDTO = huaNongCrawlerQuoteProcessService.attributionInformation(quoteVo.getOrder()
-                .getAgreementId(), loginInfoDto.getParameters(), attributionInformationVo.getUsername(), loginInfoDto.getToken(), loginInfoDto.getLoginComCode());
+                .getAgreementId(), loginInfoDto.getParameters(), attributionInformationVo.getUsername(), loginInfoDto.getToken(),loginInfoDto.getParameters().getComCode());
 
         // 2 车型查询
         CarInfoVo carInfoVo = quoteVo.getCarInfoVo();
-        HuaNongCrawlerModelsQueryRequestRequest huaNongCrawlerModelsQueryRequest = new HuaNongCrawlerModelsQueryRequestRequest(loginInfoDto.getToken(), loginInfoDto.getLoginComCode(), carInfoVo);
+        HuaNongCrawlerModelsQueryRequestRequest huaNongCrawlerModelsQueryRequest = new HuaNongCrawlerModelsQueryRequestRequest(loginInfoDto.getToken(), loginInfoDto.getParameters().getComCode(), carInfoVo);
         HuaNongCrawlerModelsQueryResponse huaNongCrawlerModelsQueryResponse = huaNongCrawlerRequestComponent.modelsQuery(huaNongCrawlerModelsQueryRequest, httpHeaders);
         HuaNongCrawlerModelsQueryResponse.CarModelDTO carModelDTO = CarModelsFilterUtils.to(huaNongCrawlerModelsQueryResponse.getCarModel(), carInfoVo);
 
         // 3 精确查询
-        HuaNongCrawlerPrecisionServiceSearchRequest precisionServiceSearchRequest = new HuaNongCrawlerPrecisionServiceSearchRequest(loginInfoDto.getToken(), loginInfoDto.getLoginComCode(), carInfoVo, carModelDTO);
+        HuaNongCrawlerPrecisionServiceSearchRequest precisionServiceSearchRequest = new HuaNongCrawlerPrecisionServiceSearchRequest(loginInfoDto.getToken(), loginInfoDto.getParameters().getComCode(), carInfoVo, carModelDTO);
         HuaNongCrawlerPrecisionServiceSearchResponse.CarModelDTO carModel = new HuaNongCrawlerPrecisionServiceSearchResponse.CarModelDTO();
         try{
             HuaNongCrawlerPrecisionServiceSearchResponse precisionServiceSearchResponse = huaNongCrawlerRequestComponent.precisionServiceSearch(precisionServiceSearchRequest, httpHeaders);
@@ -1287,8 +1287,8 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
         String token = (String) authorization.get(HuaNongCrawlerCacheComponent.TOKEN);
         String userCode = (String) authorization.get(HuaNongCrawlerCacheComponent.USER_CODE);
         String userName = (String) authorization.get(HuaNongCrawlerCacheComponent.USER_NAME);
-        String loginCom = parameters.getLoginCom();
-        String loginComCode = parameters.getLoginCom();
+        String loginCom = parameters.getComCode();
+        String loginComCode = parameters.getComCode();
         return new LoginInfoBO(token, loginCom, loginComCode, userCode, userName, parameters);
     }
 

+ 3 - 3
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -2165,9 +2165,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
         // 7.1 保存各比例到 feeOrders
 
-        feeOrders.setJqCommissionRatio(div100(jqRatio));
-        feeOrders.setSyCommissionRatio(div100(syRatio));
-        feeOrders.setJyCommissionRatio(div100(jyRatio));
+        feeOrders.setJqCommissionRatio(jqRatio);
+        feeOrders.setSyCommissionRatio(syRatio);
+        feeOrders.setJyCommissionRatio(jyRatio);
         feeOrders.setJqInletRatio(div100(jqInlet));
         feeOrders.setSyInletRatio(div100(syInlet));
         feeOrders.setJyInletRatio(div100(jyInlet));