wangguoqiang 2 месяцев назад
Родитель
Сommit
5ba3ce4635

+ 38 - 44
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/service/impl/TaiShanCrawlerQuoteProcessServiceImpl.java

@@ -117,16 +117,28 @@ public class TaiShanCrawlerQuoteProcessServiceImpl implements TaiShanCrawlerQuot
                 TaiShanExternalSendCodeResponse externalResponse = JSON.parseObject(externalResponseBody, TaiShanExternalSendCodeResponse.class);
                 log.info("externalSendCodeResponse参数的值:{}", JSON.toJSONString(externalResponse));
 
-                // 从外部响应中获取数据并缓存
-                TaiShanExternalSendCodeResponse.DataDTO externalData = externalResponse.getData();
-                Map<String, Object> tokenMap = new HashMap<>();
-                tokenMap.put("token", externalData.getToken());
-                tokenMap.put("secretKey", externalData.getSecretKey());
-                tokenMap.put("pointJson", externalData.getPointJson());
-                log.info("TaiShan-tokenMap参数的值(从外部接口获取):{}", JSON.toJSONString(tokenMap));
-                taiShanCrawlerCacheComponent.cacheToken(username, tokenMap);
-
-                getCaptchaResponse.setIdentifyId(externalData.getToken());
+                if(externalResponse != null){
+                    if (externalResponse.getCode() != null && externalResponse.getCode().equals(200)) {
+                        TaiShanExternalSendCodeResponse.DataDTO externalData = externalResponse.getData();
+                        if (externalData != null && StringUtils.isNotBlank(externalData.getToken())) {
+                            Map<String, Object> tokenMap = new HashMap<>();
+                            tokenMap.put("token", externalData.getToken());
+                            tokenMap.put("secretKey", externalData.getSecretKey());
+                            tokenMap.put("pointJson", externalData.getPointJson());
+                            log.info("TaiShan-tokenMap参数的值(从外部接口获取):{}", JSON.toJSONString(tokenMap));
+                            taiShanCrawlerCacheComponent.cacheToken(username, tokenMap);
+
+                            getCaptchaResponse.setIdentifyId(externalData.getToken());
+                        } else {
+                            log.warn("外部发送验证码接口响应数据为空或token缺失");
+                        }
+                    } else {
+                        log.warn("外部发送验证码接口调用失败,code={}, message={}",
+                                externalResponse.getCode(), externalResponse.getMessage());
+                    }
+                } else {
+                    log.warn("外部发送验证码接口返回空响应");
+                }
             }
         }
 
@@ -152,14 +164,24 @@ public class TaiShanCrawlerQuoteProcessServiceImpl implements TaiShanCrawlerQuot
         TaiShanExternalSendCodeResponse externalResponse = JSON.parseObject(externalResponseBody, TaiShanExternalSendCodeResponse.class);
         log.info("externalSendCodeResponse参数的值:{}", JSON.toJSONString(externalResponse));
 
-//        if (externalResponse == null || externalResponse.getCode() != 200) {
-//            String message = externalResponse != null ? externalResponse.getMessage() : "未知错误";
-//            log.warn("外部发送验证码接口调用失败,错误信息:{}", message);
-//            throw new RuntimeException("外部发送验证码失败:" + message);
-//        }
+        if (externalResponse == null) {
+            log.warn("外部发送验证码接口返回空响应");
+            throw new RuntimeException("外部发送验证码失败:响应为空");
+        }
+
+        if (externalResponse.getCode() == null || !externalResponse.getCode().equals("200")) {
+            String message = externalResponse.getMessage() != null ? externalResponse.getMessage() : "未知错误";
+            log.warn("外部发送验证码接口调用失败,错误信息:{}", message);
+            throw new RuntimeException("外部发送验证码失败:" + message);
+        }
 
-        // 从外部响应中获取数据并缓存
         TaiShanExternalSendCodeResponse.DataDTO externalData = externalResponse.getData();
+        if (externalData == null) {
+            log.warn("外部发送验证码接口响应数据为空");
+            throw new RuntimeException("外部发送验证码失败:响应数据为空");
+        }
+
+        // 从外部响应中获取数据并缓存
         Map<String, Object> tokenMap = new HashMap<>();
         tokenMap.put("token", externalData.getToken());
         tokenMap.put("secretKey", externalData.getSecretKey());
@@ -203,34 +225,6 @@ public class TaiShanCrawlerQuoteProcessServiceImpl implements TaiShanCrawlerQuot
             token = (String) tokenMap.get("token");
         }
         return StringUtils.hasText(token);
-
-
-//        log.info("TaiShan-detectLoginRequest参数的值:{}", JSON.toJSONString(detectLoginRequest));
-//        String username = detectLoginRequest.getUsername();
-//        String password = detectLoginRequest.getPassword();
-//        LoginBase loginBase = new LoginBase();
-//        loginBase.setUsername(username);
-//        loginBase.setPassword(password);
-//        log.info("TaiShan-loginBase参数的值:{}", JSON.toJSONString(loginBase));
-//
-//        HttpHeaders httpHeaders = new HttpHeaders();
-//        getVerifyHeader(httpHeaders);
-//
-//        sendCode(username, password);
-//
-//        Map<String, Object> tokenMap = taiShanCrawlerCacheComponent.getToken(username);
-//        log.info("TaiShan-tokenMap参数的值:{}", JSON.toJSONString(tokenMap));
-
-
-//        TaiShanCrawlerLoginRequest loginRequest = new TaiShanCrawlerLoginRequest(loginBase,tokenMap);
-//        TaiShanCrawlerLoginResponse loginResponse = taiShanCrawlerRequestComponent.login(loginRequest, httpHeaders);
-//        log.info("TaiShan-loginResponse参数的值:{}", JSON.toJSONString(loginResponse));
-//        if(loginResponse.getCode().equals("200")){
-//            String authorization = loginResponse.getResult().getIdToken();
-//            //缓存登录的信息
-//            taiShanCrawlerCacheComponent.cacheAuthorization(loginBase.getUsername(), authorization);
-//        }
-//        return true;
     }