helixiao 1 rok temu
rodzic
commit
855f3fe148
13 zmienionych plików z 659 dodań i 17 usunięć
  1. 97 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/cache/RedisCacheUtil.java
  2. 2 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/CarModelinfoQueryResult.java
  3. 19 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000021Param.java
  4. 226 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000021Result.java
  5. 47 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000052Param.java
  6. 58 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000052Result.java
  7. 1 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000086Param.java
  8. 41 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKReceiveParam.java
  9. 20 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKReceiveResult.java
  10. 78 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/TKHttpAPIService.java
  11. 8 1
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/TKSimpleService.java
  12. 40 16
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/impl/TKQuotationBaseServiceImpl.java
  13. 22 0
      tenant/insurance/quotation-taikang/src/test/http/AA.http

+ 97 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/cache/RedisCacheUtil.java

@@ -0,0 +1,97 @@
+package com.jzg.quotation.taikang.crawler.cache;
+
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.jzg.quotation.taikang.crawler.model.TKLoginSession;
+import com.jzg.quotation.taikang.crawler.model.api.PreciseInitResult;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.redisson.api.RBucket;
+import org.redisson.api.RMap;
+import org.redisson.api.RedissonClient;
+import org.springframework.stereotype.Component;
+
+import java.time.Duration;
+import java.util.HashMap;
+import java.util.Map;
+
+@Slf4j
+@Component
+public class RedisCacheUtil {
+
+
+    @Resource
+    private RedissonClient redissonClient;
+    private static final String SESSION = "SESSION";
+
+
+    /**
+     * 泰康session缓存
+     *
+     * @param session
+     * @param userName
+     */
+    public void setSessionCache(TKLoginSession session, String userName) {
+
+        String response = JSONObject.toJSONString(session);
+        RBucket<String> bucket = redissonClient.getBucket(SESSION + userName);
+        bucket.set(response, Duration.ofHours(3L));
+
+    }
+
+    /**
+     * 获取缓存中的session
+     *
+     * @param userName
+     * @return
+     */
+    public TKLoginSession getSessionCache(String userName) {
+
+        RBucket<String> bucket1 = redissonClient.getBucket(SESSION + userName);
+        return JSON.parseObject(bucket1.get(), TKLoginSession.class);
+
+    }
+
+    /**
+     * 缓存泰康报价返回数据
+     *
+     * @param preciseInitResult
+     * @param ordersNo
+     */
+    public void setPreciseInitResult(PreciseInitResult preciseInitResult, String ordersNo) {
+        String response = JSONObject.toJSONString(preciseInitResult);
+        RBucket<String> bucket = redissonClient.getBucket(ordersNo);
+        bucket.set(response, Duration.ofHours(3L));
+    }
+
+    /**
+     * 获取泰康报价返回数据
+     *
+     * @param ordersNo
+     * @return
+     */
+    public PreciseInitResult getPreciseInitResult(String ordersNo) {
+        RBucket<String> bucket1 = redissonClient.getBucket(ordersNo);
+        return JSON.parseObject(bucket1.get(), PreciseInitResult.class);
+    }
+
+    /**
+     * 缓存数据
+     *
+     * @param cacheInfo
+     * @param key
+     * @param sign
+     */
+    public void setCache(String cacheInfo, String key, String sign) {
+        RBucket<String> bucket = redissonClient.getBucket(key + sign);
+        bucket.set(cacheInfo, Duration.ofHours(3L));
+    }
+
+    public String getCache(String key, String sign) {
+        RBucket<String> bucket1 = redissonClient.getBucket(key + sign);
+        return bucket1.get();
+    }
+
+
+}

+ 2 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/CarModelinfoQueryResult.java

@@ -137,6 +137,8 @@ public class CarModelinfoQueryResult extends UnknownFieldEntity {
         private String autoQueryCarFlag;
 
         private String transferDate;
+
+        private String engineModel;
     }
 
     @Setter

+ 19 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000021Param.java

@@ -0,0 +1,19 @@
+package com.jzg.quotation.taikang.crawler.model.api;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TKEntranceFor000021Param {
+
+    @JSONField(name = "orderID")
+    private String orderID;
+    @JSONField(name = "fromId")
+    private String fromId;
+    @JSONField(name = "channelCode")
+    private String channelCode;
+    @JSONField(name = "previousStep")
+    private String previousStep;
+}

+ 226 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000021Result.java

@@ -0,0 +1,226 @@
+package com.jzg.quotation.taikang.crawler.model.api;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.quotation.taikang.crawler.client.BaseResponse;
+import com.jzg.quotation.taikang.crawler.client.UnknownFieldEntity;
+import lombok.Data;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import org.apache.poi.ss.formula.functions.T;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class TKEntranceFor000021Result extends UnknownFieldEntity {
+
+    @Setter
+    @Getter
+    public static class Response extends BaseResponse<TKEntranceFor000021Result> {
+
+    }
+
+
+    @JsonProperty("proxyFlag")
+    private String proxyFlag;
+    @JsonProperty("licenseNo")
+    private String licenseNo;
+    @JsonProperty("brandName")
+    private String brandName;
+    @JsonProperty("underWriteFlag")
+    private String underWriteFlag;
+    @JsonProperty("appliName")
+    private String appliName;
+    @JsonProperty("ruleMessage")
+    private List<String> ruleMessage;
+    @JsonProperty("appliNature")
+    private String appliNature;
+    @JsonProperty("lifeAgentPhone")
+    private String lifeAgentPhone;
+    @JsonProperty("fromID")
+    private String fromID;
+    @JsonProperty("fromId")
+    private String fromId;
+    @JsonProperty("proposalNo")
+    private String proposalNo;
+    @JsonProperty("lifeAgentName")
+    private String lifeAgentName;
+    @JsonProperty("proposalNoEnc")
+    private String proposalNoEnc;
+    @JsonProperty("appliIdentifyType")
+    private String appliIdentifyType;
+    @JsonProperty("underwriteReason")
+    private List<?> underwriteReason;
+    @JsonProperty("messageCode")
+    private String messageCode;
+    @JsonProperty("insurerInfoVo")
+    private InsurerInfoVoDTO insurerInfoVo;
+    @JsonProperty("carAccident")
+    private CarAccidentDTO carAccident;
+    @JsonProperty("comCode")
+    private String comCode;
+    @JsonProperty("proposalNoCI")
+    private String proposalNoCI;
+    @JsonProperty("carCheckStatus")
+    private String carCheckStatus;
+    @JsonProperty("channelCode")
+    private String channelCode;
+
+    @NoArgsConstructor
+    @Data
+    public static class InsurerInfoVoDTO {
+        @JsonProperty("channelEngages")
+        private List<?> channelEngages;
+        @JsonProperty("messageSendFlag")
+        private String messageSendFlag;
+        @JsonProperty("policyType")
+        private String policyType;
+        @JsonProperty("comCode")
+        private String comCode;
+        @JsonProperty("appliInfo")
+        private AppliInfoDTO appliInfo;
+        @JsonProperty("carOwnerVo")
+        private CarOwnerVoDTO carOwnerVo;
+        @JsonProperty("contacts")
+        private ContactsDTO contacts;
+        @JsonProperty("insuredInfo")
+        private InsuredInfoDTO insuredInfo;
+
+        @NoArgsConstructor
+        @Data
+        public static class AppliInfoDTO {
+            @JsonProperty("birthday")
+            private String birthday;
+            @JsonProperty("invoiceFlag")
+            private String invoiceFlag;
+            @JsonProperty("sex")
+            private String sex;
+            @JsonProperty("taxNumber")
+            private String taxNumber;
+            @JsonProperty("taxRegistAddress")
+            private String taxRegistAddress;
+            @JsonProperty("appliName")
+            private String appliName;
+            @JsonProperty("withOwner")
+            private String withOwner;
+            @JsonProperty("identifyType")
+            private String identifyType;
+            @JsonProperty("serialno")
+            private String serialno;
+            @JsonProperty("bank")
+            private String bank;
+            @JsonProperty("phoneNumber")
+            private String phoneNumber;
+            @JsonProperty("identifyNumber")
+            private String identifyNumber;
+            @JsonProperty("taxpayerType")
+            private String taxpayerType;
+            @JsonProperty("taxPayer")
+            private String taxPayer;
+            @JsonProperty("insuredNature")
+            private String insuredNature;
+            @JsonProperty("authResult")
+            private String authResult;
+            @JsonProperty("taxesPhone")
+            private String taxesPhone;
+            @JsonProperty("invoiceType")
+            private String invoiceType;
+            @JsonProperty("insuredAddress")
+            private String insuredAddress;
+            @JsonProperty("account")
+            private String account;
+            @JsonProperty("email")
+            private String email;
+            @JsonProperty("isSelf")
+            private String isSelf;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class CarOwnerVoDTO {
+            @JsonProperty("insuredProvinceCname")
+            private String insuredProvinceCname;
+            @JsonProperty("insuredCityCname")
+            private String insuredCityCname;
+            @JsonProperty("sex")
+            private String sex;
+            @JsonProperty("birthDate")
+            private String birthDate;
+            @JsonProperty("phoneNo")
+            private String phoneNo;
+            @JsonProperty("carOwnerNature")
+            private String carOwnerNature;
+            @JsonProperty("insuredProvinceCode")
+            private String insuredProvinceCode;
+            @JsonProperty("authResult")
+            private String authResult;
+            @JsonProperty("name")
+            private String name;
+            @JsonProperty("id")
+            private String id;
+            @JsonProperty("insuredAddress")
+            private String insuredAddress;
+            @JsonProperty("insuredCityCode")
+            private String insuredCityCode;
+            @JsonProperty("certificateType")
+            private String certificateType;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class ContactsDTO {
+            @JsonProperty("phoneNumber")
+            private String phoneNumber;
+            @JsonProperty("identifyNumber")
+            private String identifyNumber;
+            @JsonProperty("name")
+            private String name;
+            @JsonProperty("identifyType")
+            private String identifyType;
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class InsuredInfoDTO {
+            @JsonProperty("birthday")
+            private String birthday;
+            @JsonProperty("sex")
+            private String sex;
+            @JsonProperty("withApplyer")
+            private String withApplyer;
+            @JsonProperty("withOwner")
+            private String withOwner;
+            @JsonProperty("identifyType")
+            private String identifyType;
+            @JsonProperty("serialno")
+            private String serialno;
+            @JsonProperty("phoneNumber")
+            private String phoneNumber;
+            @JsonProperty("identifyNumber")
+            private String identifyNumber;
+            @JsonProperty("insuredNature")
+            private String insuredNature;
+            @JsonProperty("authResult")
+            private String authResult;
+            @JsonProperty("insuredAddress")
+            private String insuredAddress;
+            @JsonProperty("insuredName")
+            private String insuredName;
+            @JsonProperty("email")
+            private String email;
+            @JsonProperty("isSelf")
+            private String isSelf;
+        }
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class CarAccidentDTO {
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("insureCounts")
+        private Integer insureCounts;
+    }
+}

+ 47 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000052Param.java

@@ -0,0 +1,47 @@
+package com.jzg.quotation.taikang.crawler.model.api;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TKEntranceFor000052Param {
+    @JsonProperty("channelCode")
+    private String channelCode;
+    @JsonProperty("proposalNo")
+    private String proposalNo;
+    @JsonProperty("payFee")
+    private String payFee;
+    @JsonProperty("businessType")
+    private String businessType;
+    @JsonProperty("isGetIssueCode")
+    private String isGetIssueCode;
+    @JsonProperty("isElectronInsure")
+    private String isElectronInsure;
+    @JsonProperty("applicantNature")
+    private String applicantNature;
+    @JsonProperty("identifyType")
+    private Object identifyType;
+    @JsonProperty("insuredNature")
+    private String insuredNature;
+    @JsonProperty("userNatureCode")
+    private String userNatureCode;
+    @JsonProperty("seatCount")
+    private String seatCount;
+    @JsonProperty("fromId")
+    private String fromId;
+    @JsonProperty("acceptDate")
+    private Object acceptDate;
+    @JsonProperty("licenseNo")
+    private String licenseNo;
+    @JsonProperty("nonCarProposalNo")
+    private String nonCarProposalNo;
+    @JsonProperty("contactidentifytype")
+    private String contactidentifytype;
+    @JsonProperty("proposalNoCI")
+    private String proposalNoCI;
+    @JsonProperty("companyCode")
+    private String companyCode;
+}

+ 58 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000052Result.java

@@ -0,0 +1,58 @@
+package com.jzg.quotation.taikang.crawler.model.api;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.quotation.taikang.crawler.client.BaseResponse;
+import com.jzg.quotation.taikang.crawler.client.UnknownFieldEntity;
+import lombok.Data;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@NoArgsConstructor
+@Data
+public class TKEntranceFor000052Result extends UnknownFieldEntity {
+
+    @Setter
+    @Getter
+    public static class Response extends BaseResponse<TKEntranceFor000052Result> {
+
+    }
+
+
+    @JsonProperty("familyUserFlag")
+    private String familyUserFlag;
+    @JsonProperty("signProposalFlag")
+    private String signProposalFlag;
+    @JsonProperty("proposalButtonFlag")
+    private String proposalButtonFlag;
+    @JsonProperty("licenseNo")
+    private String licenseNo;
+    @JsonProperty("licenseNoMask")
+    private String licenseNoMask;
+    @JsonProperty("isElectronInsure")
+    private String isElectronInsure;
+    @JsonProperty("verificationCodeFlag")
+    private String verificationCodeFlag;
+    @JsonProperty("seatCount")
+    private String seatCount;
+    @JsonProperty("fromId")
+    private String fromId;
+    @JsonProperty("proposalNo")
+    private String proposalNo;
+    @JsonProperty("userNatureCode")
+    private String userNatureCode;
+    @JsonProperty("realName")
+    private String realName;
+    @JsonProperty("isGetIssueCode")
+    private String isGetIssueCode;
+    @JsonProperty("insuredNature")
+    private String insuredNature;
+    @JsonProperty("businessType")
+    private String businessType;
+    @JsonProperty("AppliNature")
+    private String appliNature;
+    @JsonProperty("proposalNoCI")
+    private String proposalNoCI;
+    @JsonProperty("issueCode")
+    private String issueCode;
+}

+ 1 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKEntranceFor000086Param.java

@@ -13,4 +13,5 @@ public class TKEntranceFor000086Param extends OrderRequest {
     private String initFlag;
     private String isAgentFlag;
     private String proposalNo;
+    private String userType;
 }

+ 41 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKReceiveParam.java

@@ -0,0 +1,41 @@
+package com.jzg.quotation.taikang.crawler.model.api;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TKReceiveParam {
+    @JsonProperty("businessId")
+    private String businessId;
+    @JsonProperty("orderNo")
+    private String orderNo;
+    @JsonProperty("policyNo")
+    private String policyNo;
+    @JsonProperty("tradeNo")
+    private String tradeNo;
+    @JsonProperty("productCode")
+    private String productCode;
+    @JsonProperty("productName")
+    private String productName;
+    @JsonProperty("applyCode")
+    private String applyCode;
+    @JsonProperty("applyName")
+    private String applyName;
+    @JsonProperty("certifyType")
+    private String certifyType;
+    @JsonProperty("certifyCode")
+    private String certifyCode;
+    @JsonProperty("source")
+    private String source;
+    @JsonProperty("status")
+    private String status;
+    @JsonProperty("fromId")
+    private String fromId;
+    @JsonProperty("reservation1")
+    private String reservation1;
+    @JsonProperty("reservation2")
+    private String reservation2;
+}

+ 20 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/api/TKReceiveResult.java

@@ -0,0 +1,20 @@
+package com.jzg.quotation.taikang.crawler.model.api;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class TKReceiveResult {
+
+    @JsonProperty("status")
+    private Integer status;
+    @JsonProperty("statusText")
+    private String statusText;
+    @JsonProperty("data")
+    private Object data;
+    @JsonProperty("extra")
+    private Object extra;
+}

+ 78 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/TKHttpAPIService.java

@@ -1046,6 +1046,7 @@ public class TKHttpAPIService {
         param.setFullProposalNo(fullProposalNo);
         param.setInitFlag("3");
         param.setIsAgentFlag("1");
+        param.setUserType("渠道");
 
         TKEntranceFor000086Result.Response response = entranceForDecrypt(token, param, "000086", TKEntranceFor000086Result.Response.class);
 
@@ -1248,4 +1249,81 @@ public class TKHttpAPIService {
 
         client.uploadFileWithParams(HttpURL.carCheckUploadFile, formData, file);
     }
+
+    public TKEntranceFor000021Result entranceFor000021(String token, String fromId, String mainOrderId) {
+        TKEntranceFor000021Param param = new TKEntranceFor000021Param();
+        param.setChannelCode("OffWeb");
+        param.setFromId(fromId);
+        param.setOrderID(mainOrderId);
+        param.setPreviousStep("080000");
+
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.add("tkCarRequestToken", token);
+        httpHeaders.add("Actiontype", "000021");
+
+        StringResponse response = client.request(HttpURL.entrance, param, httpHeaders, StringResponse.class);
+        TKEntranceFor000021Result.Response decrypt = decrypt(response, TKEntranceFor000021Result.Response.class);
+
+
+        return decrypt.getData();
+    }
+
+    public TKEntranceFor000052Result entranceFor000052(String token, TKEntranceFor000038Result tkEntranceFor000038Result) {
+
+        TKEntranceFor000052Param param = new TKEntranceFor000052Param();
+        param.setApplicantNature(tkEntranceFor000038Result.getApplicantNature());
+        param.setAcceptDate(null);
+        param.setBusinessType(tkEntranceFor000038Result.getBusinessType());
+        param.setCompanyCode(tkEntranceFor000038Result.getComCode());
+        param.setIdentifyType(null);
+        param.setChannelCode("OffWeb");
+        param.setContactidentifytype("01");
+        param.setFromId(tkEntranceFor000038Result.getFromId());
+        param.setInsuredNature(tkEntranceFor000038Result.getInsuredNature());
+        param.setIsElectronInsure(tkEntranceFor000038Result.getIsElectronInsure());
+        param.setIsGetIssueCode(tkEntranceFor000038Result.getIsGetIssueCode());
+        param.setLicenseNo(tkEntranceFor000038Result.getLicenseNoEn());
+        param.setNonCarProposalNo(tkEntranceFor000038Result.getNonCarProposalNo());
+        param.setPayFee(tkEntranceFor000038Result.getPayFee());
+        param.setProposalNo(tkEntranceFor000038Result.getProposalNo());
+        param.setProposalNoCI(tkEntranceFor000038Result.getProposalNoCI());
+        param.setSeatCount(tkEntranceFor000038Result.getSeatCount());
+        param.setUserNatureCode(tkEntranceFor000038Result.getUserNatureCode());
+
+
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.add("tkCarRequestToken", token);
+        httpHeaders.add("Actiontype", "000052");
+
+        StringResponse response = client.request(HttpURL.entrance, param, httpHeaders, StringResponse.class);
+        TKEntranceFor000052Result.Response decrypt = decrypt(response, TKEntranceFor000052Result.Response.class);
+
+        return decrypt.getData();
+    }
+
+    public TKReceiveResult receiveInfo(String token, String mainOrderId, String fromId, TKEntranceFor000038Result tkEntranceFor000038Result) {
+        TKReceiveParam tkReceiveParam = new TKReceiveParam();
+        tkReceiveParam.setBusinessId(UUID.randomUUID().toString());
+        tkReceiveParam.setOrderNo("TK000013_"+ mainOrderId);
+        tkReceiveParam.setPolicyNo(tkEntranceFor000038Result.getProposalNo());
+        tkReceiveParam.setTradeNo("");
+        tkReceiveParam.setProductCode("");
+        tkReceiveParam.setProductName("");
+        tkReceiveParam.setApplyCode("");
+        tkReceiveParam.setApplyName("");
+        tkReceiveParam.setCertifyCode("");
+        tkReceiveParam.setCertifyType("");
+        tkReceiveParam.setSource("PC出单");
+        tkReceiveParam.setStatus("0");
+        tkReceiveParam.setFromId(fromId);
+        tkReceiveParam.setReservation1("");
+        tkReceiveParam.setReservation2("");
+
+        HttpHeaders httpHeaders = new HttpHeaders();
+//        httpHeaders.add("token", token);
+
+        StringResponse response = client.request(HttpURL.receive, tkReceiveParam, httpHeaders, StringResponse.class);
+
+        return null;
+    }
 }

+ 8 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/TKSimpleService.java

@@ -1148,8 +1148,15 @@ public class TKSimpleService {
         if (preciseQuoteResult == null) {
             throw new RuntimeException("HttpService#preciseInitToQuote (核保)失败!");
         }
+        TKEntranceFor000038Result tkEntranceFor000038Result = httpService.entranceFor000038(token, tplatformId, fromId, mainOrderId);
+        //为获取支付链接预处理 TODO
+        TKEntranceFor000021Result tkEntranceFor000021Result = httpService.entranceFor000021(token, fromId, mainOrderId);
 
-        return httpService.entranceFor000038(token, tplatformId, fromId, mainOrderId);
+        TKEntranceFor000052Result tkEntranceFor000052Result = httpService.entranceFor000052(token, tkEntranceFor000038Result);
+
+        TKReceiveResult tkReceiveResult = httpService.receiveInfo(token,mainOrderId,fromId,tkEntranceFor000038Result);
+
+        return tkEntranceFor000038Result;
     }
 
     public InitProposalResult queryCarOwner(TKLoginSession session, String mainOrderId) {

Plik diff jest za duży
+ 40 - 16
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/impl/TKQuotationBaseServiceImpl.java


+ 22 - 0
tenant/insurance/quotation-taikang/src/test/http/AA.http

@@ -61,7 +61,29 @@ tkCarRequestToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXFNYXAiOiJ7XCJjYXJS
 
 {"tplatformId":"feda77e829d4dedbbd8b4e236bacfac5","agencyKeyword":"","lifeAgencyCode":"J","property":"2","orderID":"WBPC202503041644465390000","fromId":"64827","agentCode":"R35016546"}
 
+###
+
+POST https://tbonline.tk.cn/backtrack/call/uatuadmin/retrospect/receive
+token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJUSzIwMjAmTGlmZXRrIiwiYXBwaWQiOiJUSzIwMjAmTGlmZXRrIiwiZXhwIjoxNzU0NDc0NTY2LCJpYXQiOjE3NTQzODgxNjZ9.G6jy9Qt1et484haUb90Tv85FgUHROpeoQjaw6IxSx2U
+Content-Type: application/json
+
+{"businessId":"ca82783b-f2e7-4a95-92e5-e85b142413c3","orderNo":"TK000013_WBPC202508051802463000000","policyNo":"00671070807142500000030792","tradeNo":"","productCode":"","productName":"","applyCode":"","applyName":"","certifyType":"","certifyCode":"","source":"PC出单","status":"0","fromId":"67107","reservation1":"2021-10-28","reservation2":""}
 
 
+### 支付链接
 
+POST https://car.tk.cn/carSelfService/rest/pay/forward
+Content-Type: application/json
+tkCarRequestToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXFNYXAiOiJ7XCJjYXJSZXF1ZXN0SWRcIjpcIlRPS0UyMDI1MDgwNTE2MDU1ODQzODAwMDBcIn0iLCJpc3MiOiJ0ay5jbiIsImV4cCI6MTc1NDQ2NzU1OH0.OXno2Verg9G980AE9GfIEognXBQ3iG1qAWPbcujfuso
+carInsurOrderId: WBPC202508060853224450000
+
+{"channelCode":"OffWeb","tplatformId":"feda77e829d4dedbbd8b4e236bacfac5","proposalNo":"00671070807142500000030813"}
+### {"channelCode":"OffWeb","tplatformId":"feda77e829d4dedbbd8b4e236bacfac5","proposalNo":"00671070807142500000030622"}
+### 订单状态
+
+POST https://car.tk.cn/carSelfService/rest/controller/entrance
+Content-Type: application/json
+tkCarRequestToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXFNYXAiOiJ7XCJjYXJSZXF1ZXN0SWRcIjpcIlRPS0UyMDI1MDgwNDEwMjkzMDY5ODAwMDBcIn0iLCJpc3MiOiJ0ay5jbiIsImV4cCI6MTc1NDM2MDk3MH0.t1KbbKHDugELWQkEJSQC39I-SAaRuSfeVXOrJj4PFXw
+actionType: 000086
 
+{"channelCode":"OffWeb","orderID":"WBPC202508051731113340000","initFlag":3,"userType":"渠道 ","tplatformId":"feda77e829d4dedbbd8b4e236bacfac5","isAgentFlag":"1","fromId":"67107","proposalNo":"","fullProposalNo":""}

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików