Browse Source

紫金 爬虫 报价次数限制 bug处理

785834757 1 năm trước cách đây
mục cha
commit
fad66a7c24

+ 6 - 1
src/main/java/com/ydtech/modules/order/components/zijin/ZijinRequestApiComponents.java

@@ -83,7 +83,7 @@ public class ZijinRequestApiComponents {
                                                           HttpHeaders httpHeaders) {
         String url = zijinApiConfigurationProperties.getUrl() + requestUrl.getUri();
         B b = insCrawlerOrderComponents.request(url, InsuranceEnum.ZKIC, requestUrl.getDesc(), requestBody, responseType, httpHeaders);
-        ResultEnum.verifyQuotation(b.getRtnCode(), b.getRtnMsg());
+//        ResultEnum.verifyQuotation(b.getRtnCode(), b.getRtnMsg());
         return b;
     }
 
@@ -137,6 +137,11 @@ public class ZijinRequestApiComponents {
         if (!ObjectUtils.isEmpty(entries)) {
             String authorization = (String) entries.get(AUTHORIZATION);
             String zKIApiAuthorization = (String) entries.get(ZKI_API_AUTHORIZATION);
+
+            System.out.printf("---------------\n--------------\n---------------\n--------------\n---------------\n--------------\n---------------\n--------------\n---------------\n--------------\n");
+            System.out.printf("authorization:" + authorization);
+            System.out.printf("zKIApiAuthorization:" + zKIApiAuthorization);
+            System.out.printf("---------------\n--------------\n---------------\n--------------\n---------------\n--------------\n---------------\n--------------\n---------------\n--------------\n");
             httpHeaders.set(AUTHORIZATION, authorization);
             httpHeaders.set(ZKI_API_AUTHORIZATION, zKIApiAuthorization);
             return httpHeaders;

+ 5 - 3
src/main/java/com/ydtech/modules/order/service/impl/InsCrawlerOrderServiceImpl.java

@@ -168,9 +168,11 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
                 sysQuoteRecords.forEach(item -> {
                     item.setSubOrderNo(subOrderNo);
                 });
-                sysQuoteRecordMapper.insertBatch(sysQuoteRecords);
-                //刷新redis中的报价次数
-                sysQuoteRedisService.refreshQuoteNum(t.getCompanyId(), quoteInfoVo.getUserid(), sysQuoteRecords);
+                if(sysQuoteRecords.size() > 0) {
+                    sysQuoteRecordMapper.insertBatch(sysQuoteRecords);
+                    //刷新redis中的报价次数
+                    sysQuoteRedisService.refreshQuoteNum(t.getCompanyId(), quoteInfoVo.getUserid(), sysQuoteRecords);
+                }
             }
             throw new SystemException(response.getMessage());
         }

+ 30 - 2
src/main/java/com/ydtech/modules/order/service/impl/ZijinOrderApiServiceImpl.java

@@ -15,7 +15,9 @@ import com.ydtech.modules.order.components.ConfigureParametersComponents;
 import com.ydtech.modules.order.components.InsImagesUploadCacheComponents;
 import com.ydtech.modules.order.components.zijin.ZijinRequestApiComponents;
 import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
+import com.ydtech.modules.order.constants.QuoteNumberConstant;
 import com.ydtech.modules.order.constants.UnderwritingStatus;
+import com.ydtech.modules.order.dao.SysQuoteRecordMapper;
 import com.ydtech.modules.order.entity.*;
 import com.ydtech.modules.order.entity.api.zijin.constants.enums.*;
 import com.ydtech.modules.order.entity.api.zijin.request.*;
@@ -25,6 +27,7 @@ import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
 import com.ydtech.modules.order.entity.dto.ReadPdfUrlListDto;
 import com.ydtech.modules.order.entity.filter.CarModelsFilterUtils;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
+import com.ydtech.modules.order.entity.po.SysQuoteRecord;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
@@ -71,6 +74,10 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
 
     private final InsImagesUploadCacheComponents insImagesUploadCacheComponents;
 
+    private final SysQuoteRecordMapper sysQuoteRecordMapper;
+
+    private final SysQuoteRedisService sysQuoteRedisService;
+
     // 重复投保次数
     private static final int REPEAT_NUMBER = 3;
 
@@ -107,6 +114,9 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
 
     @Override
     public HttpResult<QuoteRespVo> quote(BaseQuoteInfoVo quoteInfoVo, BaseQuoteVo<List<ZjQuoteAccidentVo>> quoteVo) {
+        Integer maxQuoteNum = quoteVo.getMaxQuoteNum();
+        List<SysQuoteRecord> sysQuoteRecords = new ArrayList<>();
+
         // 1. 协议id获取配置实体
         String agreementId = quoteVo.getAgreementId();
         // 1.1 账号信息
@@ -160,7 +170,15 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
                 insOrderStatusEnum = InsOrderStatusEnum.REPEAT_INSURE;
             }
             String subOrderNo = insOrdersService.responseFailedOrder(quoteVo, ptlAgreementAttribution, order, calculatePremiumResponse.getRtnMsg(), insOrderStatusEnum);
-
+            SysQuoteRecord deplSysQuoteRecord = new SysQuoteRecord(quoteInfoVo.getUserid(),quoteVo.getCompanyId(),quoteInfoVo.getCarInfo().getLicenseNo(),
+                    QuoteNumberConstant.QuoteAction.QUOTE_SUCCESS.getCode().toString(),QuoteNumberConstant.QuoteResult.SUCCESS.getCode().toString());
+            sysQuoteRecords.add(deplSysQuoteRecord);
+            sysQuoteRecords.forEach(item->{
+                item.setSubOrderNo(subOrderNo);
+            });
+            sysQuoteRecordMapper.insertBatch(sysQuoteRecords);
+            //刷新redis中的报价次数
+            sysQuoteRedisService.refreshQuoteNum(quoteVo.getCompanyId(), quoteInfoVo.getUserid(), sysQuoteRecords);
             throw new SystemException(calculatePremiumResponse.getRtnMsg());
         }
 
@@ -174,8 +192,18 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
 
         // 设置核心报价车型
         quoteRespVo.setCoreModels(vehicleModelInfosDTO.toCoreModelsVo());
-        return responseOrder(calculatePremiumResponse, quoteRespVo, ptlAgreementAttribution, calculatePremiumRequest.getOrderId(),
+        HttpResult<QuoteRespVo> quoteRespVoHttpResult = responseOrder(calculatePremiumResponse, quoteRespVo, ptlAgreementAttribution, calculatePremiumRequest.getOrderId(),
                 calculatePremiumRequest.getOrderNo(), quoteVo.getAccidentalDrivingVo());
+        SysQuoteRecord deplSysQuoteRecord = new SysQuoteRecord(quoteInfoVo.getUserid(),quoteVo.getCompanyId(),quoteInfoVo.getCarInfo().getLicenseNo(),
+                QuoteNumberConstant.QuoteAction.QUOTE_SUCCESS.getCode().toString(),QuoteNumberConstant.QuoteResult.SUCCESS.getCode().toString());
+        sysQuoteRecords.add(deplSysQuoteRecord);
+        sysQuoteRecords.forEach(item->{
+            item.setSubOrderNo(quoteRespVoHttpResult.getData().getCompanyId());
+        });
+        sysQuoteRecordMapper.insertBatch(sysQuoteRecords);
+        //刷新redis中的报价次数
+        sysQuoteRedisService.refreshQuoteNum(quoteVo.getCompanyId(), quoteInfoVo.getUserid(), sysQuoteRecords);
+        return quoteRespVoHttpResult;
     }
 
     @Override