Просмотр исходного кода

编写了生成支付二维码接口

jinshihui 9 месяцев назад
Родитель
Сommit
2ca5f78193
13 измененных файлов с 1569 добавлено и 7 удалено
  1. 31 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/component/TaiShanCrawlerRequestComponent.java
  2. 8 6
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/constant/enums/RequestUrl.java
  3. 15 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerDownLoadPolicyRequest.java
  4. 84 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerGenerateQRCodeRequest.java
  5. 212 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerOrderQueryRequest.java
  6. 48 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerPaymentCardRequest.java
  7. 173 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerPolicyQueryRequest.java
  8. 36 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerDownLoadPolicyResponse.java
  9. 34 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerGenerateQRCodeResponse.java
  10. 348 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerOrderQueryResponse.java
  11. 89 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerPaymentCardResponse.java
  12. 428 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerPolicyQueryResponse.java
  13. 63 1
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/service/impl/TaiShanCrawlerRequestImpl.java

+ 31 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/component/TaiShanCrawlerRequestComponent.java

@@ -191,4 +191,35 @@ public class TaiShanCrawlerRequestComponent {
         return responseEntity.getBody();
     }
 
+
+    /**
+     * 获取支付卡
+     *
+     * @param taiShanCrawlerPaymentCardRequest
+     * @param headers
+     * @return TaiShanCrawlerPaymentCardResponse
+     */
+    public TaiShanCrawlerPaymentCardResponse getPaymentCard(TaiShanCrawlerPaymentCardRequest taiShanCrawlerPaymentCardRequest, HttpHeaders headers) {
+        String jsonString = JSON.toJSONString(taiShanCrawlerPaymentCardRequest);
+        log.info("taiShanCrawlerPaymentCardRequest请求参数的值:{}", jsonString);
+
+        ResponseEntity<TaiShanCrawlerPaymentCardResponse> responseEntity = requestComponent.postWithMono(RequestUrl.PAYMENT_CARD.getRequestUrl(taiShanCrawlerProperties.getBaseUrl()), jsonString, TaiShanCrawlerPaymentCardResponse.class, headers);
+        return responseEntity.getBody();
+    }
+
+
+    /**
+     * 生成支付二维码
+     *
+     * @param taiShanCrawlerGenerateQRCodeRequest
+     * @param headers
+     * @return TaiShanCrawlerGenerateQRCodeResponse
+     */
+    public TaiShanCrawlerGenerateQRCodeResponse generateQRCode(TaiShanCrawlerGenerateQRCodeRequest taiShanCrawlerGenerateQRCodeRequest, HttpHeaders headers) {
+        String jsonString = JSON.toJSONString(taiShanCrawlerGenerateQRCodeRequest);
+        log.info("taiShanCrawlerGenerateQRCodeRequest请求参数的值:{}", jsonString);
+
+        ResponseEntity<TaiShanCrawlerGenerateQRCodeResponse> responseEntity = requestComponent.postWithMono(RequestUrl.QRCODE.getRequestUrl(taiShanCrawlerProperties.getBaseUrl()), jsonString, TaiShanCrawlerGenerateQRCodeResponse.class, headers);
+        return responseEntity.getBody();
+    }
 }

+ 8 - 6
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/constant/enums/RequestUrl.java

@@ -19,13 +19,15 @@ public enum RequestUrl {
     UPLOAD_IMAGE("/api_prod/ins/api/upload", "上传影像文件"),
 
     // 支付相关
-    PAYMENTCERTINOQUERY("/payment/certiNoQuery", "支付凭证号查询"),
-    PAYMENTNOTICENO_GENERATION("/payment/noticeNoGeneration", "支付通知单号生成"),
-    QRCODE("/payment/qrcode", "生成支付链接"),
+    PAYMENT_CARD("/api_prod/insurance/api/pay/payment_card", "获取支付卡"),
+    QRCODE("/api_prod/sys/api/qr_code/generate", "生成支付二维码"),
 
-    // 订单和保单相关
-    QUERY_ORDER_STATUS("/order/status", "查询订单状态"),
-    ELECTRON_POLICY_IO_DOWNLOAD("/policy/download", "下载电子保单");
+    // 查询订单
+    QUERY_ORDER_STATUS("/api_prod/insurance/api/order/list", "查询订单状态"),
+
+    //下载电子保单
+    QUERY_POLICY_LIST("/api_prod/ins/api/policy/policy_list", "查询保单"),
+    ELECTRON_POLICY_IO_DOWNLOAD("/api_prod/ins/api/policy/warranty_down", "下载电子保单");
 
     private final String url;
     private final String description;

+ 15 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerDownLoadPolicyRequest.java

@@ -0,0 +1,15 @@
+package com.jzg.quotation.taishan.crawler.entity.request;
+import lombok.Data;
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 泰山财险爬虫下载保单请求实体类
+ */
+@Data
+public class TaiShanCrawlerDownLoadPolicyRequest implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1635826155366387549L;
+
+    private String ids;
+}

+ 84 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerGenerateQRCodeRequest.java

@@ -0,0 +1,84 @@
+package com.jzg.quotation.taishan.crawler.entity.request;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @description: 泰山财险爬虫生成二维码请求实体
+ * 用于生成支付二维码的相关请求参数
+ * @author:
+ * @date:
+ **/
+@Data
+public class TaiShanCrawlerGenerateQRCodeRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 制造标识/渠道标识
+     */
+    private String manuFlg;
+
+    /**
+     * 支付编号/缴费编号
+     */
+    private String paymentNo;
+
+    /**
+     * 是否电子保单标识
+     */
+    private String ifElec;
+
+    /**
+     * 是否短信通知标识
+     */
+    private String ifSms;
+
+    /**
+     * 是否手机支付标识
+     */
+    private String ifPhonePay;
+
+    /**
+     * 承保部门代码
+     */
+    private String cDptCde;
+
+    /**
+     * 交强险投保单号
+     */
+    private String jqAppNo;
+
+    /**
+     * 商业险投保单号
+     */
+    private String syAppNo;
+
+    /**
+     * 渠出部门代码
+     */
+    private String cegDptCde;
+
+    /**
+     * 认证标识
+     */
+    private String rzflag;
+
+    /**
+     * 证件类型
+     */
+    private String id_type;
+
+    /**
+     * 是否跳转到汇付支付标识
+     */
+    private String ifJumpHDZF;
+
+    /**
+     * 是否授权标识
+     */
+    private String ifAuth;
+}

+ 212 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerOrderQueryRequest.java

@@ -0,0 +1,212 @@
+package com.jzg.quotation.taishan.crawler.entity.request;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @description: 泰山财险爬虫订单查询请求实体
+ * 用于查询保险订单信息,包含投保人、被保险人、车辆等查询条件
+ * @author:
+ * @date:
+ **/
+@Data
+public class TaiShanCrawlerOrderQueryRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 投保人姓名
+     * 用于按投保人姓名筛选订单
+     */
+    @JsonProperty("applicantName")
+    @JSONField(ordinal = 1)
+    private String applicantName;
+
+    /**
+     * 是否包含下级标识
+     * "1"表示包含下级机构的订单
+     */
+    @JsonProperty("containSubFlag")
+    @JSONField(ordinal = 2)
+    private String containSubFlag;
+
+    /**
+     * 承保公司代码
+     * 承保机构的唯一标识代码
+     */
+    @JsonProperty("underWriteCompany")
+    @JSONField(ordinal = 3)
+    private String underWriteCompany;
+
+    /**
+     * 登录公司代码
+     * 当前登录操作员所属公司的代码
+     */
+    @JsonProperty("loginCompany")
+    @JSONField(ordinal = 4)
+    private String loginCompany;
+
+    /**
+     * 被保险人姓名
+     * 用于按被保险人姓名筛选订单
+     */
+    @JsonProperty("insuredName")
+    @JSONField(ordinal = 5)
+    private String insuredName;
+
+    /**
+     * 订单号
+     * 用于按订单号精确查询
+     */
+    @JsonProperty("orderNo")
+    @JSONField(ordinal = 6)
+    private String orderNo;
+
+    /**
+     * 投保单号
+     * 用于按投保单号精确查询
+     */
+    @JsonProperty("proposalNo")
+    @JSONField(ordinal = 7)
+    private String proposalNo;
+
+    /**
+     * 保单号
+     * 用于按保单号精确查询
+     */
+    @JsonProperty("policyNo")
+    @JSONField(ordinal = 8)
+    private String policyNo;
+
+    /**
+     * 车主姓名
+     * 用于按车主姓名筛选订单
+     */
+    @JsonProperty("ownerName")
+    @JSONField(ordinal = 9)
+    private String ownerName;
+
+    /**
+     * 页码
+     * 分页查询的页码,从1开始
+     */
+    @JsonProperty("pageNum")
+    @JSONField(ordinal = 10)
+    private Integer pageNum;
+
+    /**
+     * 每页大小
+     * 每页显示的记录数量
+     */
+    @JsonProperty("pageSize")
+    @JSONField(ordinal = 11)
+    private Integer pageSize;
+
+    /**
+     * 车牌号
+     * 用于按车牌号筛选订单
+     */
+    @JsonProperty("plateNo")
+    @JSONField(ordinal = 12)
+    private String plateNo;
+
+    /**
+     * 订单状态
+     * 用于按订单状态筛选订单
+     */
+    @JsonProperty("status")
+    @JSONField(ordinal = 13)
+    private String status;
+
+    /**
+     * 部门关系代码
+     * 机构层级关系,用分号分隔的部门代码
+     */
+    @JsonProperty("dptRelCde")
+    @JSONField(ordinal = 14)
+    private String dptRelCde;
+
+    /**
+     * 发动机号
+     * 用于按发动机号筛选订单
+     */
+    @JsonProperty("engineNo")
+    @JSONField(ordinal = 15)
+    private String engineNo;
+
+    /**
+     * 商业险积分/佣金点数
+     */
+    @JsonProperty("comPoints")
+    @JSONField(ordinal = 16)
+    private String comPoints;
+
+    /**
+     * 续保类别
+     * 用于按续保类别筛选订单
+     */
+    @JsonProperty("renewalClass")
+    @JSONField(ordinal = 17)
+    private String renewalClass;
+
+    /**
+     * 车架号(VIN)
+     * 用于按车架号筛选订单
+     */
+    @JsonProperty("vin")
+    @JSONField(ordinal = 18)
+    private String vin;
+
+    /**
+     * 操作员代码
+     * 用于按操作员筛选订单
+     */
+    @JsonProperty("operatorCode")
+    @JSONField(ordinal = 19)
+    private String operatorCode;
+
+    /**
+     * 销售人员编号
+     * 用于按销售人员筛选订单
+     */
+    @JsonProperty("saleNo")
+    @JSONField(ordinal = 20)
+    private String saleNo;
+
+    /**
+     * 操作结束日期
+     * 操作时间范围的结束日期,格式:YYYY-MM-DD
+     */
+    @JsonProperty("endOperateDate")
+    @JSONField(ordinal = 21)
+    private String endOperateDate;
+
+    /**
+     * 操作开始日期
+     * 操作时间范围的开始日期,格式:YYYY-MM-DD
+     */
+    @JsonProperty("startOperateDate")
+    @JSONField(ordinal = 22)
+    private String startOperateDate;
+
+    /**
+     * 投保结束时间
+     * 投保时间范围的结束日期,格式:YYYY-MM-DD
+     */
+    @JsonProperty("endProposalTime")
+    @JSONField(ordinal = 23)
+    private String endProposalTime;
+
+    /**
+     * 投保开始时间
+     * 投保时间范围的开始日期,格式:YYYY-MM-DD
+     */
+    @JsonProperty("startProposalTime")
+    @JSONField(ordinal = 24)
+    private String startProposalTime;
+}

+ 48 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerPaymentCardRequest.java

@@ -0,0 +1,48 @@
+package com.jzg.quotation.taishan.crawler.entity.request;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @description: 泰山财险爬虫支付卡请求实体
+ * @author:
+ * @date:
+ **/
+@Data
+public class TaiShanCrawlerPaymentCardRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 订单号
+     */
+    private String orderNo;
+
+    /**
+     * 渠道标识/业务来源标识
+     */
+    private String manuFlag;
+
+    /**
+     * 交强险投保单号
+     */
+    private String jqAppNo;
+
+    /**
+     * 商业险投保单号
+     */
+    private String syAppNo;
+
+    /**
+     * 交强险唯一号
+     */
+    private String jqUniqueNo;
+
+    /**
+     * 商业险唯一号
+     */
+    private String syUniqueNo;
+}

+ 173 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/request/TaiShanCrawlerPolicyQueryRequest.java

@@ -0,0 +1,173 @@
+package com.jzg.quotation.taishan.crawler.entity.request;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @description: 泰山财险爬虫保单查询请求实体
+ * 用于查询保单信息,包含部门、险种、产品、车辆、人员等多种查询条件
+ * @author:
+ * @date:
+ **/
+@Data
+public class TaiShanCrawlerPolicyQueryRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 部门代码
+     * 查询所属部门的机构代码
+     */
+    @JsonProperty("dptCde")
+    @JSONField(ordinal = 1)
+    private String dptCde;
+
+    /**
+     * 是否加载下级
+     * "1"表示加载下级部门的保单,"0"表示不加载下级
+     */
+    @JsonProperty("loadSub")
+    @JSONField(ordinal = 2)
+    private String loadSub;
+
+    /**
+     * 险种号
+     * 保险种类的编号,"03"可能表示车险类
+     */
+    @JsonProperty("kindNo")
+    @JSONField(ordinal = 3)
+    private String kindNo;
+
+    /**
+     * 产品号
+     * 具体保险产品的编号
+     */
+    @JsonProperty("prodNo")
+    @JSONField(ordinal = 4)
+    private String prodNo;
+
+    /**
+     * 车牌号
+     * 用于按车牌号查询保单
+     */
+    @JsonProperty("plateNo")
+    @JSONField(ordinal = 5)
+    private String plateNo;
+
+    /**
+     * 发动机号
+     * 用于按发动机号查询保单
+     */
+    @JsonProperty("engNo")
+    @JSONField(ordinal = 6)
+    private String engNo;
+
+    /**
+     * 登记车主
+     * 车辆登记的车主姓名
+     */
+    @JsonProperty("regOwner")
+    @JSONField(ordinal = 7)
+    private String regOwner;
+
+    /**
+     * 投保人姓名
+     * 投保申请人的姓名
+     */
+    @JsonProperty("appNme")
+    @JSONField(ordinal = 8)
+    private String appNme;
+
+    /**
+     * 车架号
+     * 车辆的唯一识别码(VIN码)
+     */
+    @JsonProperty("frmNo")
+    @JSONField(ordinal = 9)
+    private String frmNo;
+
+    /**
+     * 被保险人姓名
+     * 保险受益人的姓名
+     */
+    @JsonProperty("insuredNme")
+    @JSONField(ordinal = 10)
+    private String insuredNme;
+
+    /**
+     * 投保单号
+     * 投保申请单的编号
+     */
+    @JsonProperty("appNo")
+    @JSONField(ordinal = 11)
+    private String appNo;
+
+    /**
+     * 保单号
+     * 保险单的唯一编号
+     */
+    @JsonProperty("plyNo")
+    @JSONField(ordinal = 12)
+    private String plyNo;
+
+    /**
+     * 投保时间开始日期
+     * 投保时间查询范围的开始日期,格式:YYYY-MM-DD
+     */
+    @JsonProperty("appTmStart")
+    @JSONField(ordinal = 13)
+    private String appTmStart;
+
+    /**
+     * 投保时间结束日期
+     * 投保时间查询范围的结束日期,格式:YYYY-MM-DD
+     */
+    @JsonProperty("appTmEnd")
+    @JSONField(ordinal = 14)
+    private String appTmEnd;
+
+    /**
+     * 创建时间开始日期
+     * 保单创建时间查询范围的开始日期,格式:YYYY-MM-DD
+     */
+    @JsonProperty("crtTmStart")
+    @JSONField(ordinal = 15)
+    private String crtTmStart;
+
+    /**
+     * 创建时间结束日期
+     * 保单创建时间查询范围的结束日期,格式:YYYY-MM-DD
+     */
+    @JsonProperty("crtTmEnd")
+    @JSONField(ordinal = 16)
+    private String crtTmEnd;
+
+    /**
+     * 查询状态
+     * 保单状态查询条件,"1"可能表示查询所有状态或特定状态
+     */
+    @JsonProperty("queryState")
+    @JSONField(ordinal = 17)
+    private String queryState;
+
+    /**
+     * 每页显示条数
+     * 分页查询时每页显示的记录数量
+     */
+    @JsonProperty("pageSize")
+    @JSONField(ordinal = 18)
+    private Integer pageSize;
+
+    /**
+     * 当前页码位置
+     * 分页查询的当前页码,从1开始
+     */
+    @JsonProperty("pagePos")
+    @JSONField(ordinal = 19)
+    private Integer pagePos;
+}

+ 36 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerDownLoadPolicyResponse.java

@@ -0,0 +1,36 @@
+package com.jzg.quotation.taishan.crawler.entity.response;
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 泰山财险爬虫下载保单响应实体类
+ */
+@Data
+public class TaiShanCrawlerDownLoadPolicyResponse implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 状态码
+     */
+     @JsonProperty("code")
+    @JSONField(ordinal = 1)
+    private String code;
+
+    /**
+     * 状态描述
+     */
+     @JsonProperty("message")
+    @JSONField(ordinal = 2)
+    private String message;
+
+    /**
+     * 下载的保单内容
+     */
+     @JsonProperty("result")
+    @JSONField(ordinal = 3)
+    private String result;
+}

+ 34 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerGenerateQRCodeResponse.java

@@ -0,0 +1,34 @@
+package com.jzg.quotation.taishan.crawler.entity.response;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+@Data
+public class TaiShanCrawlerGenerateQRCodeResponse implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 2039396963780095187L;
+
+    /**
+     * 状态码
+     */
+    @JsonProperty
+    @JSONField(ordinal = 1)
+    private String code;
+
+    /**
+     * 状态描述
+     */
+    @JsonProperty
+    @JSONField(ordinal = 2)
+    private String message;
+
+     /**
+      * 二维码内容
+      */
+    @JsonProperty
+    @JSONField(ordinal = 3)
+    private String result;
+}

+ 348 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerOrderQueryResponse.java

@@ -0,0 +1,348 @@
+package com.jzg.quotation.taishan.crawler.entity.response;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @description: 泰山财险爬虫订单查询响应实体
+ * 用于接收订单查询接口的响应数据,包含分页信息和订单详细信息
+ * @author:
+ * @date:
+ **/
+@Data
+public class TaiShanCrawlerOrderQueryResponse implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 响应状态码
+     * "200"表示成功,其他值表示失败
+     */
+    @JsonProperty("code")
+    @JSONField(ordinal = 1)
+    private String code;
+
+    /**
+     * 响应消息
+     * 包含响应状态的具体描述信息
+     */
+    @JsonProperty("message")
+    @JSONField(ordinal = 2)
+    private String message;
+
+    /**
+     * 响应结果数据
+     * 包含分页信息和订单列表数据
+     */
+    @JsonProperty("result")
+    @JSONField(ordinal = 3)
+    private Result result;
+
+    /**
+     * 响应结果内部类
+     * 包含分页信息和订单列表数据
+     */
+    @Data
+    public static class Result implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 当前页码
+         * 分页查询的当前页码,从1开始
+         */
+        @JsonProperty("pageNum")
+        @JSONField(ordinal = 1)
+        private Integer pageNum;
+
+        /**
+         * 每页显示条数
+         * 每页显示的记录数量
+         */
+        @JsonProperty("pageSize")
+        @JSONField(ordinal = 2)
+        private Integer pageSize;
+
+        /**
+         * 订单数据列表
+         * 包含查询到的订单详细信息
+         */
+        @JsonProperty("list")
+        @JSONField(ordinal = 3)
+        private List<OrderInfo> list;
+
+        /**
+         * 总记录数
+         * 符合查询条件的订单总数量
+         */
+        @JsonProperty("total")
+        @JSONField(ordinal = 4)
+        private Integer total;
+    }
+
+    /**
+     * 订单信息内部类
+     * 包含订单的详细信息
+     */
+    @Data
+    public static class OrderInfo implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 订单号
+         * 系统生成的订单唯一标识
+         */
+        @JsonProperty("orderNo")
+        @JSONField(ordinal = 1)
+        private String orderNo;
+
+        /**
+         * 标记
+         * 业务标识或分类标记
+         */
+        @JsonProperty("mark")
+        @JSONField(ordinal = 2)
+        private String mark;
+
+        /**
+         * 交强险投保单号
+         * 交强险的投保单编号
+         */
+        @JsonProperty("jqProposalNo")
+        @JSONField(ordinal = 3)
+        private String jqProposalNo;
+
+        /**
+         * 交强险支付主键ID
+         * 交强险支付记录的唯一标识
+         */
+        @JsonProperty("jqPayPkId")
+        @JSONField(ordinal = 4)
+        private String jqPayPkId;
+
+        /**
+         * 商业险投保单号
+         * 商业险的投保单编号
+         */
+        @JsonProperty("syProposalNo")
+        @JSONField(ordinal = 5)
+        private String syProposalNo;
+
+        /**
+         * 商业险支付主键ID
+         * 商业险支付记录的唯一标识
+         */
+        @JsonProperty("syPayPkId")
+        @JSONField(ordinal = 6)
+        private String syPayPkId;
+
+        /**
+         * 交强险保单号
+         * 交强险的保单编号
+         */
+        @JsonProperty("jqPolicyNo")
+        @JSONField(ordinal = 7)
+        private String jqPolicyNo;
+
+        /**
+         * 商业险保单号
+         * 商业险的保单编号
+         */
+        @JsonProperty("syPolicyNo")
+        @JSONField(ordinal = 8)
+        private String syPolicyNo;
+
+        /**
+         * 非车险投保单号
+         * 非车险产品的投保单编号
+         */
+        @JsonProperty("uncarProposalNo")
+        @JSONField(ordinal = 9)
+        private String uncarProposalNo;
+
+        /**
+         * 非车险保单号
+         * 非车险产品的保单编号
+         */
+        @JsonProperty("uncarPolicyNo")
+        @JSONField(ordinal = 10)
+        private String uncarPolicyNo;
+
+        /**
+         * 订单状态
+         * 订单的当前状态码
+         */
+        @JsonProperty("status")
+        @JSONField(ordinal = 11)
+        private String status;
+
+        /**
+         * 交强险状态
+         * 交强险的投保状态
+         */
+        @JsonProperty("jqStatus")
+        @JSONField(ordinal = 12)
+        private String jqStatus;
+
+        /**
+         * 商业险状态
+         * 商业险的投保状态
+         */
+        @JsonProperty("syStatus")
+        @JSONField(ordinal = 13)
+        private String syStatus;
+
+        /**
+         * 车牌号
+         * 投保车辆的车牌号码
+         */
+        @JsonProperty("plateNo")
+        @JSONField(ordinal = 14)
+        private String plateNo;
+
+        /**
+         * 投保人姓名
+         * 订单的投保人姓名
+         */
+        @JsonProperty("applicantName")
+        @JSONField(ordinal = 15)
+        private String applicantName;
+
+        /**
+         * 被保险人姓名
+         * 订单的被保险人姓名
+         */
+        @JsonProperty("insuredName")
+        @JSONField(ordinal = 16)
+        private String insuredName;
+
+        /**
+         * 车主姓名
+         * 车辆的车主姓名
+         */
+        @JsonProperty("ownerName")
+        @JSONField(ordinal = 17)
+        private String ownerName;
+
+        /**
+         * 销售员姓名
+         * 负责该订单的销售员姓名
+         */
+        @JsonProperty("saleName")
+        @JSONField(ordinal = 18)
+        private String saleName;
+
+        /**
+         * 渠道名称/代码
+         * 订单来源渠道的标识
+         */
+        @JsonProperty("channelName")
+        @JSONField(ordinal = 19)
+        private String channelName;
+
+        /**
+         * 承保公司代码
+         * 承保机构的唯一标识代码
+         */
+        @JsonProperty("underWriteCompany")
+        @JSONField(ordinal = 20)
+        private String underWriteCompany;
+
+        /**
+         * 总保费
+         * 订单的总保费金额(单位:元)
+         */
+        @JsonProperty("totalPremium")
+        @JSONField(ordinal = 21)
+        private String totalPremium;
+
+        /**
+         * 操作日期
+         * 订单操作或创建的日期
+         */
+        @JsonProperty("operateDate")
+        @JSONField(ordinal = 22)
+        private String operateDate;
+
+        /**
+         * 组合产品代码
+         * 投保产品的组合编码
+         */
+        @JsonProperty("combinedProductCode")
+        @JSONField(ordinal = 23)
+        private String combinedProductCode;
+
+        /**
+         * 发动机号
+         * 车辆的发动机号码
+         */
+        @JsonProperty("engineNo")
+        @JSONField(ordinal = 24)
+        private String engineNo;
+
+        /**
+         * 来源
+         * 订单来源标识(0可能表示系统内部)
+         */
+        @JsonProperty("source")
+        @JSONField(ordinal = 25)
+        private Integer source;
+
+        /**
+         * 手机号码
+         * 联系人手机号码
+         */
+        @JsonProperty("mobile")
+        @JSONField(ordinal = 26)
+        private String mobile;
+
+        /**
+         * 商业险积分/佣金点数
+         * 商业险的积分或佣金信息
+         */
+        @JsonProperty("comPoints")
+        @JSONField(ordinal = 27)
+        private String comPoints;
+
+        /**
+         * 客户类型
+         * 客户分类标识(1可能表示个人客户)
+         */
+        @JsonProperty("clientType")
+        @JSONField(ordinal = 28)
+        private String clientType;
+
+        /**
+         * 投保时间
+         * 投保操作的具体时间
+         */
+        @JsonProperty("proposalTime")
+        @JSONField(ordinal = 29)
+        private String proposalTime;
+
+        /**
+         * 操作员代码
+         * 订单操作员的代码
+         */
+        @JsonProperty("operatorCode")
+        @JSONField(ordinal = 30)
+        private String operatorCode;
+
+        /**
+         * 操作员姓名
+         * 订单操作员的姓名
+         */
+        @JsonProperty("operatorName")
+        @JSONField(ordinal = 31)
+        private String operatorName;
+    }
+}

+ 89 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerPaymentCardResponse.java

@@ -0,0 +1,89 @@
+package com.jzg.quotation.taishan.crawler.entity.response;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @description: 泰山财险爬虫支付卡响应实体
+ * 用于接收支付卡接口的响应数据,包含订单号、批次号、支付链接等信息
+ * @author:
+ * @date:
+ **/
+@Data
+public class TaiShanCrawlerPaymentCardResponse implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 响应状态码
+     * "200"表示成功,其他值表示失败
+     */
+    @JsonProperty("code")
+    @JSONField(ordinal = 1)
+    private String code;
+
+    /**
+     * 响应消息
+     * 包含响应状态的具体描述信息
+     */
+    @JsonProperty("message")
+    @JSONField(ordinal = 2)
+    private String message;
+
+    /**
+     * 响应结果数据
+     * 包含支付相关的详细信息
+     */
+    @JsonProperty("result")
+    @JSONField(ordinal = 3)
+    private Result result;
+
+    /**
+     * 响应结果内部类
+     * 包含支付卡业务的具体数据
+     */
+    @Data
+    public static class Result implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 投保单号
+         * 系统生成的投保单唯一标识
+         */
+        @JsonProperty("proposalNo")
+        @JSONField(ordinal = 1)
+        private String proposalNo;
+
+        /**
+         * 渠道标识/业务来源标识
+         * 标识业务来源或渠道类型,如"PHONEYL"表示电话营销
+         */
+        @JsonProperty("manuFlag")
+        @JSONField(ordinal = 2)
+        private String manuFlag;
+
+        /**
+         * 批次号
+         * 支付批次或交易批次的唯一标识
+         */
+        @JsonProperty("batchNo")
+        @JSONField(ordinal = 3)
+        private String batchNo;
+
+        /**
+         * 手机支付链接
+         * 用于跳转到手机支付页面的完整URL地址
+         */
+        @JsonProperty("phonePayUrl")
+        @JSONField(ordinal = 4)
+        private String phonePayUrl;
+    }
+
+}

+ 428 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/entity/response/TaiShanCrawlerPolicyQueryResponse.java

@@ -0,0 +1,428 @@
+package com.jzg.quotation.taishan.crawler.entity.response;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @description: 泰山财险爬虫保单查询响应实体
+ * 用于接收保单查询接口的响应数据,包含分页信息和保单详细信息
+ * @author:
+ * @date:
+ **/
+@Data
+public class TaiShanCrawlerPolicyQueryResponse implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 响应状态码
+     * "200"表示成功,其他值表示失败
+     */
+    @JsonProperty("code")
+    @JSONField(ordinal = 1)
+    private String code;
+
+    /**
+     * 响应消息
+     * 包含响应状态的具体描述信息
+     */
+    @JsonProperty("message")
+    @JSONField(ordinal = 2)
+    private String message;
+
+    /**
+     * 响应结果数据
+     * 包含分页信息和保单列表数据
+     */
+    @JsonProperty("result")
+    @JSONField(ordinal = 3)
+    private Result result;
+
+    /**
+     * 响应结果内部类
+     * 包含分页信息和保单列表数据
+     */
+    @Data
+    public static class Result implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 当前页码
+         * 分页查询的当前页码,从1开始
+         */
+        @JsonProperty("pageNum")
+        @JSONField(ordinal = 1)
+        private Integer pageNum;
+
+        /**
+         * 每页显示条数
+         * 每页显示的记录数量
+         */
+        @JsonProperty("pageSize")
+        @JSONField(ordinal = 2)
+        private Integer pageSize;
+
+        /**
+         * 保单数据列表
+         * 包含查询到的保单详细信息
+         */
+        @JsonProperty("list")
+        @JSONField(ordinal = 3)
+        private List<PolicyInfo> list;
+
+        /**
+         * 总记录数
+         * 符合查询条件的保单总数量
+         */
+        @JsonProperty("total")
+        @JSONField(ordinal = 4)
+        private Integer total;
+    }
+
+    /**
+     * 保单信息内部类
+     * 包含保单的详细信息
+     */
+    @Data
+    public static class PolicyInfo implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 投保单号
+         * 投保申请单的唯一编号
+         */
+        @JsonProperty("appNo")
+        @JSONField(ordinal = 1)
+        private String appNo;
+
+        /**
+         * 保单号
+         * 保险单的唯一编号
+         */
+        @JsonProperty("plyNo")
+        @JSONField(ordinal = 2)
+        private String plyNo;
+
+        /**
+         * 产品号
+         * 具体保险产品的编号
+         */
+        @JsonProperty("prodNo")
+        @JSONField(ordinal = 3)
+        private String prodNo;
+
+        /**
+         * 投保时间
+         * 投保申请的日期
+         */
+        @JsonProperty("appTm")
+        @JSONField(ordinal = 4)
+        private String appTm;
+
+        /**
+         * 快速出单标识
+         * "1"表示快速出单,"0"表示普通流程
+         */
+        @JsonProperty("quickFlag")
+        @JSONField(ordinal = 5)
+        private String quickFlag;
+
+        /**
+         * 销售员姓名
+         * 负责该保单的销售员姓名
+         */
+        @JsonProperty("slsNme")
+        @JSONField(ordinal = 6)
+        private String slsNme;
+
+        /**
+         * 保险金额
+         * 保单的保险金额(单位:元)
+         */
+        @JsonProperty("amt")
+        @JSONField(ordinal = 7)
+        private String amt;
+
+        /**
+         * 销售组代码
+         * 销售员所属小组的代码
+         */
+        @JsonProperty("salegrpCde")
+        @JSONField(ordinal = 8)
+        private String salegrpCde;
+
+        /**
+         * 销售员代码
+         * 销售员的唯一标识代码
+         */
+        @JsonProperty("slsCde")
+        @JSONField(ordinal = 9)
+        private String slsCde;
+
+        /**
+         * 操作员代码
+         * 保单操作员的代码
+         */
+        @JsonProperty("oprCde")
+        @JSONField(ordinal = 10)
+        private String oprCde;
+
+        /**
+         * 经纪人代码
+         * 保险经纪人的代码
+         */
+        @JsonProperty("brkrCde")
+        @JSONField(ordinal = 11)
+        private String brkrCde;
+
+        /**
+         * 保费
+         * 保单的保费金额(单位:元)
+         */
+        @JsonProperty("prm")
+        @JSONField(ordinal = 12)
+        private String prm;
+
+        /**
+         * 打印号
+         * 保单打印的编号
+         */
+        @JsonProperty("prnNo")
+        @JSONField(ordinal = 13)
+        private String prnNo;
+
+        /**
+         * 车船税
+         * 车船税金额(单位:元)
+         */
+        @JsonProperty("aggTax")
+        @JSONField(ordinal = 14)
+        private String aggTax;
+
+        /**
+         * 部门代码
+         * 承保部门的机构代码
+         */
+        @JsonProperty("dptCde")
+        @JSONField(ordinal = 15)
+        private String dptCde;
+
+        /**
+         * 部门名称
+         * 承保部门的完整名称
+         */
+        @JsonProperty("dptName")
+        @JSONField(ordinal = 16)
+        private String dptName;
+
+        /**
+         * 保险起期时间
+         * 保险责任的开始时间
+         */
+        @JsonProperty("insureBgnTm")
+        @JSONField(ordinal = 17)
+        private String insureBgnTm;
+
+        /**
+         * 保险止期时间
+         * 保险责任的结束时间
+         */
+        @JsonProperty("insureEndTm")
+        @JSONField(ordinal = 18)
+        private String insureEndTm;
+
+        /**
+         * 核保时间
+         * 保单核保通过的时间
+         */
+        @JsonProperty("udrTm")
+        @JSONField(ordinal = 19)
+        private String udrTm;
+
+        /**
+         * 核保员代码
+         * 负责核保的人员代码
+         */
+        @JsonProperty("udrCde")
+        @JSONField(ordinal = 20)
+        private String udrCde;
+
+        /**
+         * 是否电子保单标识
+         * "1"表示电子保单,"0"表示纸质保单
+         */
+        @JsonProperty("isElecPlyFlag")
+        @JSONField(ordinal = 21)
+        private String isElecPlyFlag;
+
+        /**
+         * 出单来源
+         * 保单出单的来源渠道
+         */
+        @JsonProperty("issueSrc")
+        @JSONField(ordinal = 22)
+        private String issueSrc;
+
+        /**
+         * 打印标识
+         * "1"表示已打印,"0"表示未打印
+         */
+        @JsonProperty("prtFlg")
+        @JSONField(ordinal = 23)
+        private String prtFlg;
+
+        /**
+         * 保单打印时间
+         * 保单打印的具体时间
+         */
+        @JsonProperty("plyPrnTm")
+        @JSONField(ordinal = 24)
+        private String plyPrnTm;
+
+        /**
+         * 电子保单打印标识
+         * "1"表示电子保单已打印,"0"表示未打印
+         */
+        @JsonProperty("elecPlyPrintFlg")
+        @JSONField(ordinal = 25)
+        private String elecPlyPrintFlg;
+
+        /**
+         * 电子保单打印时间
+         * 电子保单打印的具体时间
+         */
+        @JsonProperty("elecPlyPrintTm")
+        @JSONField(ordinal = 26)
+        private String elecPlyPrintTm;
+
+        /**
+         * 产品中文名称
+         * 保险产品的中文名称
+         */
+        @JsonProperty("prodNmeCn")
+        @JSONField(ordinal = 27)
+        private String prodNmeCn;
+
+        /**
+         * 车牌号
+         * 投保车辆的车牌号码
+         */
+        @JsonProperty("plateNo")
+        @JSONField(ordinal = 28)
+        private String plateNo;
+
+        /**
+         * 确认码/批次号
+         * 保单的确认标识或批次编号
+         */
+        @JsonProperty("affirmCde")
+        @JSONField(ordinal = 29)
+        private String affirmCde;
+
+        /**
+         * 投保人姓名
+         * 投保申请人的姓名
+         */
+        @JsonProperty("appNme")
+        @JSONField(ordinal = 30)
+        private String appNme;
+
+        /**
+         * 被保险人姓名
+         * 保险受益人的姓名
+         */
+        @JsonProperty("insuredNme")
+        @JSONField(ordinal = 31)
+        private String insuredNme;
+
+        /**
+         * 合同人姓名/联系人姓名
+         * 保险合同的相关联系人
+         */
+        @JsonProperty("cntrNme")
+        @JSONField(ordinal = 32)
+        private String cntrNme;
+
+        /**
+         * 部门账户代码
+         * 财务部门的账户代码
+         */
+        @JsonProperty("dptaccCde")
+        @JSONField(ordinal = 33)
+        private String dptaccCde;
+
+        /**
+         * 使用性质代码
+         * 车辆的使用性质分类代码
+         */
+        @JsonProperty("usageCde")
+        @JSONField(ordinal = 34)
+        private String usageCde;
+
+        /**
+         * 车辆类型
+         * 车辆的类型分类代码
+         */
+        @JsonProperty("vhlTyp")
+        @JSONField(ordinal = 35)
+        private String vhlTyp;
+
+        /**
+         * 创建时间
+         * 保单记录创建的时间
+         */
+        @JsonProperty("crtTm")
+        @JSONField(ordinal = 36)
+        private String crtTm;
+
+        /**
+         * 电子投保单标识
+         * "1"表示电子投保单,"0"表示纸质投保单
+         */
+        @JsonProperty("elecAppFlg")
+        @JSONField(ordinal = 37)
+        private String elecAppFlg;
+
+        /**
+         * 业务咨询号/流水号
+         * 保单的业务流水标识
+         */
+        @JsonProperty("bizConsultNo")
+        @JSONField(ordinal = 38)
+        private String bizConsultNo;
+
+        /**
+         * 联合标识
+         * "1"表示联合投保,"0"表示单独投保
+         */
+        @JsonProperty("jointFlg")
+        @JSONField(ordinal = 39)
+        private String jointFlg;
+
+        /**
+         * 项目系统代码
+         * 保单所属项目的系统代码
+         */
+        @JsonProperty("itemSystem")
+        @JSONField(ordinal = 40)
+        private String itemSystem;
+
+        /**
+         * 保单状态
+         * 保单的当前状态,"I"可能表示已生效(In force)
+         */
+        @JsonProperty("plySts")
+        @JSONField(ordinal = 41)
+        private String plySts;
+    }
+}

+ 63 - 1
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/service/impl/TaiShanCrawlerRequestImpl.java

@@ -257,7 +257,69 @@ public class TaiShanCrawlerRequestImpl implements TaiShanCrawlerRequest {
      */
     @Override
     public PaymentLinkResultsVo getPaymentLink(PaymentLinkVo paymentLinkVo) throws Exception {
-        return null;
+        try {
+            //获取归属信息
+            AttributionInformationVo attributionInformationVo = paymentLinkVo.getOrder().getAttributionInformationVo();
+            log.info("attributionInformationVo对象的值:{}", JSONObject.toJSONString(attributionInformationVo));
+            HttpHeaders headers = taiShanCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
+            TaiShanCrawlerOrder ziJinCrawlerOrder = taiShanCrawlerOrderService.getByOrdersNo(paymentLinkVo.getOrder().getOrdersNo());
+            log.info("获取支付链接,订单号:{}", ziJinCrawlerOrder.getOrderNo());
+
+            TaiShanCrawlerPaymentCardRequest taiShanCrawlerPaymentCardRequest = new TaiShanCrawlerPaymentCardRequest();
+
+            // 设置支付卡请求参数(严格按照查询参数顺序)
+            taiShanCrawlerPaymentCardRequest.setOrderNo(ziJinCrawlerOrder.getOrderNo());
+            taiShanCrawlerPaymentCardRequest.setManuFlag("PHONEYL");
+            taiShanCrawlerPaymentCardRequest.setJqAppNo(ziJinCrawlerOrder.getCiApplyNo());
+            taiShanCrawlerPaymentCardRequest.setSyAppNo(ziJinCrawlerOrder.getSyApplyNo());
+            taiShanCrawlerPaymentCardRequest.setJqUniqueNo("");
+            taiShanCrawlerPaymentCardRequest.setSyUniqueNo("");
+
+            PaymentLinkResultsVo paymentLinkResultsVo = new PaymentLinkResultsVo();
+            //获取支付卡
+            TaiShanCrawlerPaymentCardResponse taiShanCrawlerPaymentCardResponse = taiShanCrawlerRequestComponent.getPaymentCard(taiShanCrawlerPaymentCardRequest, headers);
+            log.info("taiShanCrawlerPaymentCardResponse参数的值:{}", JSON.toJSONString(taiShanCrawlerPaymentCardResponse));
+            if("200".equals(taiShanCrawlerPaymentCardResponse.getCode())) {
+                log.info("获取支付卡成功");
+                //生成支付二维码
+                TaiShanCrawlerGenerateQRCodeRequest taiShanCrawlerGenerateQRCodeRequest = new TaiShanCrawlerGenerateQRCodeRequest();
+                // 设置生成二维码请求参数
+                if(taiShanCrawlerPaymentCardResponse.getResult() != null) {
+                    taiShanCrawlerGenerateQRCodeRequest.setManuFlg("YS");
+                    taiShanCrawlerGenerateQRCodeRequest.setPaymentNo(taiShanCrawlerPaymentCardResponse.getResult().getBatchNo());
+                    taiShanCrawlerGenerateQRCodeRequest.setIfElec("1");
+                    taiShanCrawlerGenerateQRCodeRequest.setIfSms("1");
+                    taiShanCrawlerGenerateQRCodeRequest.setIfPhonePay("1");
+                    taiShanCrawlerGenerateQRCodeRequest.setCDptCde("11");
+                    taiShanCrawlerGenerateQRCodeRequest.setJqAppNo(ziJinCrawlerOrder.getCiApplyNo());
+                    taiShanCrawlerGenerateQRCodeRequest.setSyAppNo(ziJinCrawlerOrder.getSyApplyNo());
+                    taiShanCrawlerGenerateQRCodeRequest.setCegDptCde("11");
+                    taiShanCrawlerGenerateQRCodeRequest.setRzflag("Y");
+                    taiShanCrawlerGenerateQRCodeRequest.setId_type("CRED_PSN_CH_IDCARD");
+                    taiShanCrawlerGenerateQRCodeRequest.setIfJumpHDZF("Y");
+                    taiShanCrawlerGenerateQRCodeRequest.setIfAuth("N");
+                }
+                TaiShanCrawlerGenerateQRCodeResponse taiShanCrawlerGenerateQRCodeResponse = taiShanCrawlerRequestComponent.generateQRCode(taiShanCrawlerGenerateQRCodeRequest, headers);
+                log.info("taiShanCrawlerGenerateQRCodeResponse参数的值:{}", JSON.toJSONString(taiShanCrawlerGenerateQRCodeResponse));
+                if("200".equals(taiShanCrawlerGenerateQRCodeResponse.getCode())) {
+                    log.info("生成支付二维码成功");
+                    paymentLinkResultsVo.setPayLinkStatus(true);
+                    paymentLinkResultsVo.setPaymentLink(taiShanCrawlerGenerateQRCodeResponse.getResult());
+
+                } else {
+                    log.error("生成支付二维码失败,错误码:{},错误信息:{}", taiShanCrawlerGenerateQRCodeResponse.getCode(), taiShanCrawlerGenerateQRCodeResponse.getMessage());
+                    paymentLinkResultsVo.setPayLinkStatus(false);
+                    paymentLinkResultsVo.setErrorMsg(taiShanCrawlerGenerateQRCodeResponse.getMessage());
+                }
+                return paymentLinkResultsVo;
+            } else {
+                log.error("获取支付卡失败,错误码:{},错误信息:{}", taiShanCrawlerPaymentCardResponse.getCode(), taiShanCrawlerPaymentCardResponse.getMessage());
+                throw new RuntimeException("获取支付卡失败,错误码:" + taiShanCrawlerPaymentCardResponse.getCode() + ",错误信息:" + taiShanCrawlerPaymentCardResponse.getMessage());
+            }
+        } catch (RuntimeException e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
     }