Sfoglia il codice sorgente

请求测试方法以及基础的请求入库方法

nahida 1 anno fa
parent
commit
01d1b09c16

+ 2 - 0
data-service/src/main/java/com/zksy/data/DataApplication.java

@@ -1,9 +1,11 @@
 package com.zksy.data;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
 @SpringBootApplication
+@MapperScan("com.zksy.data.mapper")
 public class DataApplication {
     public static void main(String[] args) {
         SpringApplication.run(DataApplication.class, args);

+ 127 - 2
data-service/src/main/java/com/zksy/data/controller/TestController.java

@@ -1,17 +1,142 @@
 package com.zksy.data.controller;
 
+import com.zksy.data.service.XcrELicNcertificateService;
 import com.zksy.data.utils.XhRequestUtil;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 @RestController
 @RequestMapping("/test")
 public class TestController {
     @Autowired
     private XhRequestUtil xhRequestUtil;
-    @RequestMapping("/a")
+    @Autowired
+    private XcrELicNcertificateService xcrELicNcertificateService;
+    @GetMapping("/a")
     public String hello(){
-        return xhRequestUtil.httpRequestByUniCode("914312277790495523","api/1/getXzxkxxByUniscid");
+        xcrELicNcertificateService.saveDataByUniCode("gateway/api/1/getXzxkxxByUniscid");
+        return "成功";
+    }
+    @GetMapping("/b")
+    public String test(){
+        List<String> creditCodes = List.of(
+                "1A5XW",
+                "91431227MADPJFJ33Y",
+                "91431227MACE1D1B9R",
+                "91431227MAD1BTK247",
+                "91431227MA4R5W2W84",
+                "914312275765669716",
+                "914312270791989014",
+                "91431227MA4QX7NA59",
+                "91431227MAC3983K5E",
+                "91431227MABRAF5E3B",
+                "91431227MAD5WTW10T",
+                "91431227MA7HKUPA7Q",
+                "91431227MAC2UK367F",
+                "91431227MADL6CJKXM",
+                "91431227MABW4GKL08",
+                "91431227MACPJ8WR1F",
+                "91431227MA7ATPKW4J",
+                "91431227MA4Q1AM00N",
+                "91431227MADKQ73J4N",
+                "91431227MADPJFT7X1",
+                "93431227MA4PHCEM19",
+                "91431227MA4M4DM87R",
+                "91431227MAD856M52J",
+                "91431227MA7LW9QX31",
+                "91431227MACWMHC35F",
+                "91431227MA4L6W695Q",
+                "91431227MADL6GQL35",
+                "91431227MADP7XE94H",
+                "91431227MAC2XF0R25",
+                "91431227MA4Q4BK07F",
+                "91431227MADPJFXJ3W",
+                "91431227MABW4GJN0L",
+                "91431227MACN1KUT8R",
+                "93431227MA4PHCMU8W",
+                "91431227MA4LC61A3N",
+                "91431227MA4M324CXA",
+                "914312278892884072",
+                "91431227MA4T4B4J3M",
+                "91431227MADNCH2X6M",
+                "914312275595125417",
+                "91431227MA4M75R67U",
+                "91431227396644741R",
+                "91431227MADNN45R0F",
+                "91431227736753419J",
+                "91431227MACQEHCL3A",
+                "93431227MA4RHL4F7U",
+                "91431227MADMX5N86U",
+                "91431227189282119D",
+                "91431227MABUBCWU6U",
+                "91431227MACQF1LQ30",
+                "91431227MAC9E7BD91",
+                "934312273256247195",
+                "91431227MA4M76HJ2J",
+                "91431227MADKBU940R",
+                "91431227MA4TDKM147",
+                "91431227MADNN4817D",
+                "91431227MACMXR2N3R",
+                "91431227MAD6N6WNXX",
+                "91431227MAC9490P8T",
+                "91431227MACQF1KK8L",
+                "914312277968569030",
+                "91431227MAD61UC69R",
+                "91431227MA4L1M9813",
+                "91431227MA4L71LC63",
+                "91431227MABW4GE787",
+                "91431227MA4L7A7DXJ",
+                "93431227MA4PAGR231",
+                "91431227MA4LP8C75U",
+                "91431227MAD5Y6DW1K",
+                "91431227MAC653Q99C",
+                "91431227MA4Q18HX3Q",
+                "91431227MA4T4AKFX1",
+                "91431227MA4L7A21XR",
+                "914312273384795653",
+                "91431227MABW4GFD3K",
+                "91431227MADQ5QXH1L",
+                "91431227MADNN4A44J",
+                "91431227MAD7CTAPXE",
+                "91431227MA4LPBD61R",
+                "91431227MABTCTNQ74",
+                "91431227MA4Q19B59P",
+                "93431227MA4Q4R775B",
+                "91431227MA4PA3Q21D",
+                "91431227MADMW2QJ1L",
+                "93431227MAC048F67N",
+                "91431227MACWM6QL19",
+                "91431227MADD7L4W5L",
+                "91431227MA4M30M43K",
+                "91431227MAD79R5J7A",
+                "93431227MA4Q4RB462",
+                "91431227MAD99WMW7A",
+                "91431227MADMEXY624",
+                "91431227MADKPL8L5E",
+                "91431227MADNCCCD2D",
+                "93431227074983628E",
+                "93431227MA4L21C626",
+                "914312277790495523",
+                "91431227MADNNGBX0C",
+                "91431227MAD79QNK7L",
+                "91431227MA4QGJKK8M",
+                "93431227MA4L4F3N3B"
+        );
+        for (String creditCode : creditCodes) {
+            String s;
+            try {
+                s = xhRequestUtil.testHttpRequest(creditCode, "gateway/api/1/getXzxkxxByUniscid");
+            } catch (Exception e) {
+                break;
+            }
+            ss = s;
+        }
+        System.out.println("找到了,去浏览器拿结构建实体类");
+        return ss;
     }
+    private String ss;
 }

+ 0 - 14
data-service/src/main/java/com/zksy/data/domain/bo/ResultBo.java

@@ -1,14 +0,0 @@
-package com.zksy.data.domain.bo;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class ResultBo<T> {
-    private String code;
-    private String message;
-    private T data;
-}

+ 14 - 0
data-service/src/main/java/com/zksy/data/domain/po/BasePo.java

@@ -0,0 +1,14 @@
+package com.zksy.data.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+public class BasePo {
+    @TableField("uni_code")
+    private String uniCode;
+}

+ 192 - 0
data-service/src/main/java/com/zksy/data/domain/po/XcrELicNcertificate.java

@@ -0,0 +1,192 @@
+package com.zksy.data.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 市场监管_行政许可信息
+ * @TableName xcr_e_lic_ncertificate
+ */
+@TableName("xcr_e_lic_ncertificate")
+@Data
+public class XcrELicNcertificate extends BasePo implements Serializable {
+    @TableField("CERTYPE")
+    @JsonProperty("CERTYPE")
+    private String CERTYPE;
+
+    @TableField("AC_CERTYPE")
+    @JsonProperty("AC_CERTYPE")
+    private String AC_CERTYPE;
+
+    @TableField("LICITEM")
+    @JsonProperty("LICITEM")
+    private String LICITEM;
+
+    @TableField("LICSTATE")
+    @JsonProperty("LICSTATE")
+    private String LICSTATE;
+
+    @TableField("UNISCID")
+    @JsonProperty("UNISCID")
+    private String UNISCID;
+
+    @TableField("VALIPERITO")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonProperty("VALIPERITO")
+    private Date VALIPERITO;
+
+    @TableField("INVALIDREA")
+    @JsonProperty("INVALIDREA")
+    private String INVALIDREA;
+
+    @TableField("LICNAME")
+    @JsonProperty("LICNAME")
+    private String LICNAME;
+
+    @TableField("AC_CERNO")
+    @JsonProperty("AC_CERNO")
+    private String AC_CERNO;
+
+    @TableField("INVALIDDATE")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonProperty("INVALIDDATE")
+    private Date INVALIDDATE;
+
+    @TableField("LICID")
+    @JsonProperty("LICID")
+    private String LICID;
+
+    @TableField("S_EXT_FROMNODE")
+    @JsonProperty("S_EXT_FROMNODE")
+    private String S_EXT_FROMNODE;
+
+    @TableField("DATADEPTUNISCID")
+    @JsonProperty("DATADEPTUNISCID")
+    private String DATADEPTUNISCID;
+
+    @TableField("REGNO")
+    @JsonProperty("REGNO")
+    private String REGNO;
+
+    @TableField("LICNAME_CN")
+    @JsonProperty("LICNAME_CN")
+    private String LICNAME_CN;
+
+    @TableField("TAXID")
+    @JsonProperty("TAXID")
+    private String TAXID;
+
+    @TableField("LICTYPE_CN")
+    @JsonProperty("LICTYPE_CN")
+    private String LICTYPE_CN;
+
+    @TableField("LICDECCODE")
+    @JsonProperty("LICDECCODE")
+    private String LICDECCODE;
+
+    @TableField("LICDECDATE")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonProperty("LICDECDATE")
+    private Date LICDECDATE;
+
+    @TableField("REMARK")
+    @JsonProperty("REMARK")
+    private String REMARK;
+
+    @TableField("JYCS")
+    @JsonProperty("JYCS")
+    private String JYCS;
+
+    @TableField("ACTYPE")
+    @JsonProperty("ACTYPE")
+    private String ACTYPE;
+
+    @TableField("INSCERCODE")
+    @JsonProperty("INSCERCODE")
+    private String INSCERCODE;
+
+    @TableField("DATADEPT")
+    @JsonProperty("DATADEPT")
+    private String DATADEPT;
+
+    @TableField("JJXZ")
+    @JsonProperty("JJXZ")
+    private String JJXZ;
+
+    @TableField("CERNO")
+    @JsonProperty("CERNO")
+    private String CERNO;
+
+    @TableField("LICTYPE")
+    @JsonProperty("LICTYPE")
+    private String LICTYPE;
+
+    @TableField("LEREP")
+    @JsonProperty("LEREP")
+    private String LEREP;
+
+    @TableField("PRIPID")
+    @JsonProperty("PRIPID")
+    private String PRIPID;
+
+    @TableField("LICANTHNO")
+    @JsonProperty("LICANTHNO")
+    private String LICANTHNO;
+
+    @TableField("NAME")
+    @JsonProperty("NAME")
+    private String NAME;
+
+    @TableField("ORGCODE")
+    @JsonProperty("ORGCODE")
+    private String ORGCODE;
+
+    @TableField("I_TIME")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonProperty("I_TIME")
+    private Date I_TIME;
+
+    @TableField("VALIPERIFROM")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonProperty("VALIPERIFROM")
+    private Date VALIPERIFROM;
+
+    @TableField("LICANTHUNISCID")
+    @JsonProperty("LICANTHUNISCID")
+    private String LICANTHUNISCID;
+
+    @TableField("SOCORGCODE")
+    @JsonProperty("SOCORGCODE")
+    private String SOCORGCODE;
+
+    @TableField("LICNO")
+    @JsonProperty("LICNO")
+    private String LICNO;
+
+    @TableField("ZS")
+    @JsonProperty("ZS")
+    private String ZS;
+
+    @TableField("ENTNAME")
+    @JsonProperty("ENTNAME")
+    private String ENTNAME;
+
+    @TableField("LICDECNAME")
+    @JsonProperty("LICDECNAME")
+    private String LICDECNAME;
+
+    @TableField("LICANTH")
+    @JsonProperty("LICANTH")
+    private String LICANTH;
+
+    @TableField("S_EXT_DATATIME")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonProperty("S_EXT_DATATIME")
+    private Date S_EXT_DATATIME;
+}

+ 12 - 0
data-service/src/main/java/com/zksy/data/domain/response/XcrELicNcertificateResponse.java

@@ -0,0 +1,12 @@
+package com.zksy.data.domain.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.zksy.common.domain.response.BaseResponse;
+import com.zksy.data.domain.po.XcrELicNcertificate;
+
+import java.util.List;
+
+public class XcrELicNcertificateResponse extends BaseResponse {
+    @JsonProperty("data")
+    private List<XcrELicNcertificate> data;
+}

+ 18 - 0
data-service/src/main/java/com/zksy/data/mapper/XcrELicNcertificateMapper.java

@@ -0,0 +1,18 @@
+package com.zksy.data.mapper;
+
+import com.zksy.data.domain.po.XcrELicNcertificate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author Administrator
+* @description 针对表【xcr_e_lic_ncertificate(市场监管_行政许可信息)】的数据库操作Mapper
+* @createDate 2024-09-27 10:58:54
+* @Entity com.zksy.data.domain.po.XcrELicNcertificate
+*/
+public interface XcrELicNcertificateMapper extends BaseMapper<XcrELicNcertificate> {
+
+}
+
+
+
+

+ 5 - 0
data-service/src/main/java/com/zksy/data/service/IBaseSaveDataInterface.java

@@ -0,0 +1,5 @@
+package com.zksy.data.service;
+
+public interface IBaseSaveDataInterface {
+    void saveDataByUniCode(String address);
+}

+ 13 - 0
data-service/src/main/java/com/zksy/data/service/XcrELicNcertificateService.java

@@ -0,0 +1,13 @@
+package com.zksy.data.service;
+
+import com.zksy.data.domain.po.XcrELicNcertificate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author Administrator
+* @description 针对表【xcr_e_lic_ncertificate(市场监管_行政许可信息)】的数据库操作Service
+* @createDate 2024-09-27 10:58:54
+*/
+public interface XcrELicNcertificateService extends IService<XcrELicNcertificate>, IBaseSaveDataInterface {
+
+}

+ 151 - 0
data-service/src/main/java/com/zksy/data/service/impl/XcrELicNcertificateServiceImpl.java

@@ -0,0 +1,151 @@
+package com.zksy.data.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zksy.data.domain.po.XcrELicNcertificate;
+import com.zksy.data.domain.response.XcrELicNcertificateResponse;
+import com.zksy.data.mapper.XcrELicNcertificateMapper;
+import com.zksy.data.service.XcrELicNcertificateService;
+import com.zksy.data.utils.XhRequestUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+* @author Administrator
+* @description 针对表【xcr_e_lic_ncertificate(市场监管_行政许可信息)】的数据库操作Service实现
+* @createDate 2024-09-27 10:58:54
+*/
+@Service
+@Slf4j
+public class XcrELicNcertificateServiceImpl extends ServiceImpl<XcrELicNcertificateMapper, XcrELicNcertificate>
+    implements XcrELicNcertificateService{
+
+    @Autowired
+    private XhRequestUtil xhRequestUtil;
+    @Autowired
+    private XcrELicNcertificateMapper xcrELicNcertificateMapper;
+    @Override
+    @Transactional
+    public void saveDataByUniCode(String address) {
+        //模拟从数据库中取数据大约为3000-4000条
+        List<String> creditCodes = List.of(
+                "1A5XW",
+                "91431227MADPJFJ33Y",
+                "91431227MACE1D1B9R",
+                "91431227MAD1BTK247",
+                "91431227MA4R5W2W84",
+                "914312275765669716",
+                "914312270791989014",
+                "91431227MA4QX7NA59",
+                "91431227MAC3983K5E",
+                "91431227MABRAF5E3B",
+                "91431227MAD5WTW10T",
+                "91431227MA7HKUPA7Q",
+                "91431227MAC2UK367F",
+                "91431227MADL6CJKXM",
+                "91431227MABW4GKL08",
+                "91431227MACPJ8WR1F",
+                "91431227MA7ATPKW4J",
+                "91431227MA4Q1AM00N",
+                "91431227MADKQ73J4N",
+                "91431227MADPJFT7X1",
+                "93431227MA4PHCEM19",
+                "91431227MA4M4DM87R",
+                "91431227MAD856M52J",
+                "91431227MA7LW9QX31",
+                "91431227MACWMHC35F",
+                "91431227MA4L6W695Q",
+                "91431227MADL6GQL35",
+                "91431227MADP7XE94H",
+                "91431227MAC2XF0R25",
+                "91431227MA4Q4BK07F",
+                "91431227MADPJFXJ3W",
+                "91431227MABW4GJN0L",
+                "91431227MACN1KUT8R",
+                "93431227MA4PHCMU8W",
+                "91431227MA4LC61A3N",
+                "91431227MA4M324CXA",
+                "914312278892884072",
+                "91431227MA4T4B4J3M",
+                "91431227MADNCH2X6M",
+                "914312275595125417",
+                "91431227MA4M75R67U",
+                "91431227396644741R",
+                "91431227MADNN45R0F",
+                "91431227736753419J",
+                "91431227MACQEHCL3A",
+                "93431227MA4RHL4F7U",
+                "91431227MADMX5N86U",
+                "91431227189282119D",
+                "91431227MABUBCWU6U",
+                "91431227MACQF1LQ30",
+                "91431227MAC9E7BD91",
+                "934312273256247195",
+                "91431227MA4M76HJ2J",
+                "91431227MADKBU940R",
+                "91431227MA4TDKM147",
+                "91431227MADNN4817D",
+                "91431227MACMXR2N3R",
+                "91431227MAD6N6WNXX",
+                "91431227MAC9490P8T",
+                "91431227MACQF1KK8L",
+                "914312277968569030",
+                "91431227MAD61UC69R",
+                "91431227MA4L1M9813",
+                "91431227MA4L71LC63",
+                "91431227MABW4GE787",
+                "91431227MA4L7A7DXJ",
+                "93431227MA4PAGR231",
+                "91431227MA4LP8C75U",
+                "91431227MAD5Y6DW1K",
+                "91431227MAC653Q99C",
+                "91431227MA4Q18HX3Q",
+                "91431227MA4T4AKFX1",
+                "91431227MA4L7A21XR",
+                "914312273384795653",
+                "91431227MABW4GFD3K",
+                "91431227MADQ5QXH1L",
+                "91431227MADNN4A44J",
+                "91431227MAD7CTAPXE",
+                "91431227MA4LPBD61R",
+                "91431227MABTCTNQ74",
+                "91431227MA4Q19B59P",
+                "93431227MA4Q4R775B",
+                "91431227MA4PA3Q21D",
+                "91431227MADMW2QJ1L",
+                "93431227MAC048F67N",
+                "91431227MACWM6QL19",
+                "91431227MADD7L4W5L",
+                "91431227MA4M30M43K",
+                "91431227MAD79R5J7A",
+                "93431227MA4Q4RB462",
+                "91431227MAD99WMW7A",
+                "91431227MADMEXY624",
+                "91431227MADKPL8L5E",
+                "91431227MADNCCCD2D",
+                "93431227074983628E",
+                "93431227MA4L21C626",
+                "914312277790495523",
+                "91431227MADNNGBX0C",
+                "91431227MAD79QNK7L",
+                "91431227MA4QGJKK8M",
+                "93431227MA4L4F3N3B"
+        );
+        this.remove(null);
+        creditCodes.stream().forEach(creditCode -> {
+            xhRequestUtil.httpRequestByUniCode(creditCode, address,
+                    XcrELicNcertificateResponse.class,
+                    XcrELicNcertificate.class,
+                    xcrELicNcertificateMapper
+            );
+        });
+        log.info("市场监管_行政许可信息同步完成");
+    }
+}
+
+
+
+

+ 72 - 9
data-service/src/main/java/com/zksy/data/utils/XhRequestUtil.java

@@ -1,8 +1,13 @@
 package com.zksy.data.utils;
 
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.zksy.common.domain.response.BaseResponse;
+import com.zksy.common.utils.BeanUtils;
 import com.zksy.data.config.XhConfigProperty;
+import com.zksy.data.domain.po.BasePo;
 import lombok.extern.slf4j.Slf4j;
 import okhttp3.HttpUrl;
 import okhttp3.OkHttpClient;
@@ -11,8 +16,6 @@ import okhttp3.Response;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.io.IOException;
-
 @Component
 @Slf4j
 public class XhRequestUtil {
@@ -22,7 +25,14 @@ public class XhRequestUtil {
     private OkHttpClient okHttpClient;
     @Autowired
     private ObjectMapper objectMapper;
-    public String httpRequestByUniCode(String uniCode,String address){
+
+    public <T extends BaseResponse,K extends BasePo> String httpRequestByUniCode(String uniCode, String address,
+                                                                                 Class<T> responseClass,
+                                                                                 Class<K> entityClass,
+                                                                                 BaseMapper entityMapper) {
+        if (StrUtil.isEmpty(uniCode)) {
+            log.warn("统一社会信用代码为空");
+        }
         HttpUrl url = new HttpUrl.Builder()
                 .scheme("http")
                 .host(xhConfigProperty.getHost())
@@ -38,17 +48,70 @@ public class XhRequestUtil {
         try {
             Response response = okHttpClient.newCall(request).execute();
             if (!response.isSuccessful()) {
-                log.error("当前接口请求失败:{}",address);
+                log.error("当前接口请求失败:{}", address);
             }
-            if (ObjectUtil.isEmpty(response.body())){
-                log.error("当前接口请求数据出现问题:{}",address);
+            if (ObjectUtil.isEmpty(response.body())) {
+                log.error("当前接口请求数据出现问题:{}", address);
             }
             String s = response.body().string();
-//            objectMapper.readValue(s,String.class);
-            log.info("当前的请求结果:{}",s);
+            T value = objectMapper.readValue(s, responseClass);
+            if (value.getCode() != 200) {
+                log.error("当前请求结果异常:{}", value.getMessage());
+            } else {
+                if (value.getData().isEmpty()) {
+                    return null;
+                }
+                for (int i = 0; i < value.getData().size(); i++) {
+                    K e = BeanUtils.copyBean(value.getData().get(i), entityClass);
+                    e.setUniCode(uniCode);
+                    entityMapper.insert(e);
+                }
+            }
             return s;
-        } catch (IOException e) {
+        } catch (Exception e) {
+            log.error("此次数据同步出现异常,接口是:{}", address);
             throw new RuntimeException(e);
         }
     }
+    private Boolean isEnd = false;
+    public String testHttpRequest(String uniCode,String address) {
+        if (isEnd) {
+            throw new RuntimeException("已经找到请求结构,不用继续了");
+        }
+        if (StrUtil.isEmpty(uniCode)) {
+            log.warn("统一社会信用代码为空");
+        }
+        log.info("正在找:{}",uniCode);
+        HttpUrl url = new HttpUrl.Builder()
+                .scheme("http")
+                .host(xhConfigProperty.getHost())
+                .port(Integer.valueOf(xhConfigProperty.getPort()))
+                .addPathSegment(address)
+                .addQueryParameter("UNISCID", uniCode)
+                .build();
+        Request request = new Request.Builder()
+                .url(url)
+                .get()
+                .addHeader("appKey", xhConfigProperty.getAppKey())
+                .build();
+
+        try {
+            Response response = okHttpClient.newCall(request).execute();
+            if (!response.isSuccessful()) {
+                log.error("当前接口请求失败:{}", address);
+            }
+            if (ObjectUtil.isEmpty(response.body())) {
+                log.error("当前接口请求数据出现问题:{}", address);
+            }
+            String s = response.body().string();
+            BaseResponse value = objectMapper.readValue(s, BaseResponse.class);
+            if(value.getData().size()>0){
+                isEnd = true;
+                return s;
+            }
+        } catch (Exception e) {
+            throw new RuntimeException("当次请求失败");
+        }
+        return null;
+    }
 }

+ 67 - 0
data-service/src/main/resources/mapper/XcrELicNcertificateMapper.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zksy.data.mapper.XcrELicNcertificateMapper">
+
+    <resultMap id="BaseResultMap" type="com.zksy.data.domain.po.XcrELicNcertificate">
+            <id property="licid" column="LICID" jdbcType="VARCHAR"/>
+            <result property="actype" column="ACTYPE" jdbcType="VARCHAR"/>
+            <result property="pripid" column="PRIPID" jdbcType="VARCHAR"/>
+            <result property="entname" column="ENTNAME" jdbcType="VARCHAR"/>
+            <result property="uniscid" column="UNISCID" jdbcType="VARCHAR"/>
+            <result property="regno" column="REGNO" jdbcType="VARCHAR"/>
+            <result property="orgcode" column="ORGCODE" jdbcType="VARCHAR"/>
+            <result property="taxid" column="TAXID" jdbcType="VARCHAR"/>
+            <result property="inscercode" column="INSCERCODE" jdbcType="VARCHAR"/>
+            <result property="socorgcode" column="SOCORGCODE" jdbcType="VARCHAR"/>
+            <result property="lerep" column="LEREP" jdbcType="VARCHAR"/>
+            <result property="certype" column="CERTYPE" jdbcType="VARCHAR"/>
+            <result property="cerno" column="CERNO" jdbcType="VARCHAR"/>
+            <result property="name" column="NAME" jdbcType="VARCHAR"/>
+            <result property="acCertype" column="AC_CERTYPE" jdbcType="VARCHAR"/>
+            <result property="acCerno" column="AC_CERNO" jdbcType="VARCHAR"/>
+            <result property="licname" column="LICNAME" jdbcType="VARCHAR"/>
+            <result property="licnameCn" column="LICNAME_CN" jdbcType="VARCHAR"/>
+            <result property="licno" column="LICNO" jdbcType="VARCHAR"/>
+            <result property="licdecname" column="LICDECNAME" jdbcType="VARCHAR"/>
+            <result property="licdeccode" column="LICDECCODE" jdbcType="VARCHAR"/>
+            <result property="lictype" column="LICTYPE" jdbcType="VARCHAR"/>
+            <result property="lictypeCn" column="LICTYPE_CN" jdbcType="VARCHAR"/>
+            <result property="licitem" column="LICITEM" jdbcType="VARCHAR"/>
+            <result property="licdecdate" column="LICDECDATE" jdbcType="DATE"/>
+            <result property="validperifrom" column="VALIDPERIFROM" jdbcType="DATE"/>
+            <result property="validperito" column="VALIDPERITO" jdbcType="DATE"/>
+            <result property="licanthno" column="LICANTHNO" jdbcType="VARCHAR"/>
+            <result property="licanth" column="LICANTH" jdbcType="VARCHAR"/>
+            <result property="licanthuniscid" column="LICANTHUNISCID" jdbcType="VARCHAR"/>
+            <result property="datadept" column="DATADEPT" jdbcType="VARCHAR"/>
+            <result property="datadeptuniscid" column="DATADEPTUNISCID" jdbcType="VARCHAR"/>
+            <result property="licstate" column="LICSTATE" jdbcType="VARCHAR"/>
+            <result property="invaliddate" column="INVALIDDATE" jdbcType="DATE"/>
+            <result property="invalidrea" column="INVALIDREA" jdbcType="VARCHAR"/>
+            <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+            <result property="sExtFromnode" column="S_EXT_FROMNODE" jdbcType="VARCHAR"/>
+            <result property="sExtDatatime" column="S_EXT_DATATIME" jdbcType="TIMESTAMP"/>
+            <result property="jycs" column="JYCS" jdbcType="VARCHAR"/>
+            <result property="zs" column="ZS" jdbcType="VARCHAR"/>
+            <result property="jjxz" column="JJXZ" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        LICID,ACTYPE,PRIPID,
+        ENTNAME,UNISCID,REGNO,
+        ORGCODE,TAXID,INSCERCODE,
+        SOCORGCODE,LEREP,CERTYPE,
+        CERNO,NAME,AC_CERTYPE,
+        AC_CERNO,LICNAME,LICNAME_CN,
+        LICNO,LICDECNAME,LICDECCODE,
+        LICTYPE,LICTYPE_CN,LICITEM,
+        LICDECDATE,VALIDPERIFROM,VALIDPERITO,
+        LICANTHNO,LICANTH,LICANTHUNISCID,
+        DATADEPT,DATADEPTUNISCID,LICSTATE,
+        INVALIDDATE,INVALIDREA,REMARK,
+        S_EXT_FROMNODE,S_EXT_DATATIME,JYCS,
+        ZS,JJXZ
+    </sql>
+</mapper>

+ 23 - 0
xh-common/src/main/java/com/zksy/common/domain/response/BaseResponse.java

@@ -0,0 +1,23 @@
+package com.zksy.common.domain.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class BaseResponse implements Serializable {
+    @JsonProperty("code")
+    private int code;
+
+    private List<?> data;
+
+    @JsonProperty("message")
+    private String message;
+
+}