Ver código fonte

国家邮政局相关接口

chenminghao 1 ano atrás
pai
commit
8eeaa031ff
23 arquivos alterados com 1800 adições e 0 exclusões
  1. 15 0
      zwww-service/src/main/java/cn/com/taiji/dataService/DataServiceApplication.java
  2. 34 0
      zwww-service/src/main/java/cn/com/taiji/dataService/listen/RabbitMqListener.java
  3. 43 0
      zwww-service/src/main/java/cn/com/taiji/dataService/model/ProviewFetchingVO.java
  4. 20 0
      zwww-service/src/main/java/cn/com/taiji/dataService/service/IProviewFetchingService.java
  5. 48 0
      zwww-service/src/main/java/cn/com/taiji/dataService/service/impl/PerviewFetchingServiceImpl.java
  6. 38 0
      zwww-service/src/main/java/cn/com/taiji/dataService/task/NJPMRMTJDataResult.java
  7. 24 0
      zwww-service/src/main/java/cn/com/taiji/dataService/task/QueryData.java
  8. 41 0
      zwww-service/src/main/java/cn/com/taiji/dataService/task/SJJRMCSDataResult.java
  9. 41 0
      zwww-service/src/main/java/cn/com/taiji/dataService/task/SXYWLTJDataResult.java
  10. 208 0
      zwww-service/src/main/java/cn/com/taiji/dataService/task/ScheduleTJjk.java
  11. 232 0
      zwww-service/src/main/java/cn/com/taiji/dataService/task/ScheduleTask.java
  12. 295 0
      zwww-service/src/main/java/cn/com/taiji/dataService/task/ScheduleXchJgxz.java
  13. 76 0
      zwww-service/src/main/java/cn/com/taiji/dataService/utils/AESUtils.java
  14. 101 0
      zwww-service/src/main/java/cn/com/taiji/dataService/utils/ApioneUtils.java
  15. 18 0
      zwww-service/src/main/java/cn/com/taiji/dataService/utils/Constant.java
  16. 23 0
      zwww-service/src/main/java/cn/com/taiji/dataService/utils/DataJson.java
  17. 116 0
      zwww-service/src/main/java/cn/com/taiji/dataService/utils/HttpByteReturn.java
  18. 241 0
      zwww-service/src/main/java/cn/com/taiji/dataService/utils/MyHttpCaller.java
  19. 93 0
      zwww-service/src/main/java/cn/com/taiji/dataService/utils/ResultHandle.java
  20. 28 0
      zwww-service/src/main/java/cn/com/taiji/dataService/utils/StringProducer.java
  21. 60 0
      zwww-service/src/main/resources/application-zwww.yml
  22. 5 0
      zwww-service/src/main/resources/application.yml
  23. BIN
      zwww-service/src/main/resources/lib/apione-http-client-1.0.0-SNAPSHOT.jar

+ 15 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/DataServiceApplication.java

@@ -0,0 +1,15 @@
+package cn.com.taiji.dataService;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@SpringBootApplication
+@EnableScheduling
+public class DataServiceApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(DataServiceApplication.class, args);
+    }
+
+}

+ 34 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/listen/RabbitMqListener.java

@@ -0,0 +1,34 @@
+package cn.com.taiji.dataService.listen;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.ExchangeTypes;
+import org.springframework.amqp.rabbit.annotation.Exchange;
+import org.springframework.amqp.rabbit.annotation.Queue;
+import org.springframework.amqp.rabbit.annotation.QueueBinding;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.stereotype.Component;
+
+//@Component
+@Slf4j
+public class RabbitMqListener {
+
+    @RabbitListener(bindings = @QueueBinding(
+            value = @Queue(value = "xalarm_aps_exchange_forward_to_face_consumer_queue_hik8807",
+                    durable = "true"),
+            exchange = @Exchange(value = "xalarm_aps_exchange_forward_to_component", type = ExchangeTypes.DIRECT),
+            key = "iface"))
+    public void listenerTest(String data){
+        log.info("--------iface----------  {}",data);
+
+    }
+
+    @RabbitListener(bindings = @QueueBinding(
+            value = @Queue(value = "xalarm_aps_exchange_forward_to_ivehicle_consumer_queue_hik8807",
+                    durable = "true"),
+            exchange = @Exchange(value = "xalarm_aps_exchange_forward_to_component", type = ExchangeTypes.DIRECT),
+            key = "ivehicle"))
+    public void listenerIvehicle(String data){
+        log.info("--------ivehicle----------  {}",data);
+
+    }
+}

+ 43 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/model/ProviewFetchingVO.java

@@ -0,0 +1,43 @@
+package cn.com.taiji.dataService.model;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ *
+ * @Author  yangyue
+ * @Date 2021/11/18
+ */
+@Data
+public class ProviewFetchingVO implements Serializable {
+
+
+
+    /**
+     * 监控点编号(通用唯一识别码UUID)
+     */
+    private String  cameraIndexCode;
+
+    /**
+     * 码流类型(0-主码流,1-子码流),未填默认为主码流
+     */
+
+    private Integer streamType;
+
+    /**
+     * 协议类型(rtsp-rtsp协议,rtmp-rtmp协议,hls-hLS协议),未填写为rtsp协议
+     */
+    private String  protocol;
+
+    /**
+     * 协议类型( 0-udp,1-tcp),默认为tcp,在protocol设置为rtsp或者rtmp时有效
+     */
+    private Integer transmode;
+
+    /**
+     * 拓展字段(标准协议取流不需要扩展字段信息 )
+     */
+    private String expand;
+}

+ 20 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/service/IProviewFetchingService.java

@@ -0,0 +1,20 @@
+// package cn.com.taiji.dataService.service;
+//
+//
+// import cn.com.taiji.dataService.model.ProviewFetchingVO;
+//
+// /**
+//  * @Description
+//  *
+//  * @Author  yangyue
+//  * @Date 2021/11/18
+//  */
+// public interface IProviewFetchingService {
+//     /**
+//      * 海康视频流地址
+//      * @param pre 海康入参
+//      * @return String
+//      */
+//     String httpsPost(ProviewFetchingVO pre);
+//
+// }

+ 48 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/service/impl/PerviewFetchingServiceImpl.java

@@ -0,0 +1,48 @@
+// package cn.com.taiji.dataService.service.impl;
+//
+//
+// import cn.com.taiji.dataService.model.ProviewFetchingVO;
+// import cn.com.taiji.dataService.service.IProviewFetchingService;
+// import com.alibaba.fastjson.JSON;
+// import com.alibaba.fastjson.JSONObject;
+// import com.hikvision.artemis.sdk.ArtemisHttpUtil;
+// import com.hikvision.artemis.sdk.config.ArtemisConfig;
+// import lombok.extern.slf4j.Slf4j;
+// import org.springframework.stereotype.Service;
+//
+// import java.util.HashMap;
+// import java.util.Map;
+//
+// /**
+//  * @Description
+//  *
+//  * @Author  yangyue
+//  * @Date 2021/11/18
+//  */
+// @Service
+// @Slf4j
+// public class PerviewFetchingServiceImpl implements IProviewFetchingService {
+//
+//     @Override
+//     public String httpsPost(ProviewFetchingVO pre) {
+//
+//         ArtemisConfig.host="74.10.28.97:443";
+//         ArtemisConfig.appKey="26491753";
+//         ArtemisConfig.appSecret="nSWbgqChFBSdGPSnb59i";
+//         final String artemispath = "/artemis";
+//         final String previewurlsapi = artemispath + "/api/video/v1/cameras/previewURLs";
+//
+//         Map<String, String> path = new HashMap<String, String>(2) {
+//             {
+//                 put("https://", previewurlsapi);//根据现场环境部署确认是http还是https
+//             }
+//         };
+//         String contentType = "application/json";
+//         String body = JSON.toJSONString(pre);
+//         // post请求application/json类型参数
+//         String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , null);
+//         log.info(result);
+//         JSONObject jsonObject = JSONObject.parseObject(result);
+//         return jsonObject.getJSONObject("data").getString("url");
+//     }
+// }

+ 38 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/task/NJPMRMTJDataResult.java

@@ -0,0 +1,38 @@
+package cn.com.taiji.dataService.task;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 内品
+ */
+@Data
+public class NJPMRMTJDataResult {
+    private String msg;
+    private int code;
+
+    private DataSubNJRM data;
+}
+
+@Data
+class DataSubNJRM{
+    private String message;
+    private String status;
+
+    private RecSen1 data;
+}
+
+@Data
+class RecSen1{
+    private List<Rec1> rec;
+    private List<Rec1> sen;
+    
+}
+
+@Data
+class Rec1{
+    private String total;
+    private String njpmType;
+}

+ 24 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/task/QueryData.java

@@ -0,0 +1,24 @@
+package cn.com.taiji.dataService.task;
+
+import lombok.Data;
+
+@Data
+public class QueryData {
+    private String msg;
+    private String code;
+
+    private Data1 data;
+}
+
+@Data
+class Data1{
+    private Data2 data;
+    private String message;
+
+    private String Status;
+}
+
+@Data
+class Data2{
+    private int queryNo;
+}

+ 41 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/task/SJJRMCSDataResult.java

@@ -0,0 +1,41 @@
+package cn.com.taiji.dataService.task;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 市县业务量统计
+ */
+@Data
+public class SJJRMCSDataResult {
+    private String msg;
+    private int code;
+
+    private DataSubRM data;
+}
+
+@Data
+class DataSubRM{
+    private String message;
+    private String status;
+
+    private RecSen data;
+}
+
+@Data
+class RecSen{
+    private List<Rec> rec;
+    private List<Rec> sen;
+    
+}
+
+@Data
+class Rec{
+    private String total;
+    private String provCode;
+    private String cityName;
+    private String cityCode;
+    private String mdType;
+}

+ 41 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/task/SXYWLTJDataResult.java

@@ -0,0 +1,41 @@
+package cn.com.taiji.dataService.task;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 市县业务量统计
+ */
+@Data
+public class SXYWLTJDataResult {
+    private String msg;
+    private int code;
+
+    private DataSub data;
+}
+
+@Data
+class DataSub{
+    private String message;
+    private String status;
+
+    private List<DataSub2> data;
+}
+
+@Data
+class DataSub2{
+    private String mdType;
+    private String tjType;
+    private List<Info> infoList;
+
+}
+
+@Data
+class Info{
+    private String total;
+    private String code;
+    private String mdType;
+    private String tjType;
+}

+ 208 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/task/ScheduleTJjk.java

@@ -0,0 +1,208 @@
+package cn.com.taiji.dataService.task;
+
+import cn.com.digitalhainan.apione.sdk.ContentBody;
+import cn.com.digitalhainan.apione.sdk.HttpCaller;
+import cn.com.digitalhainan.apione.sdk.HttpParameters;
+import cn.com.digitalhainan.apione.sdk.HttpReturn;
+import cn.com.taiji.dataService.utils.ApioneUtils;
+import cn.com.taiji.dataService.utils.ResultHandle;
+import cn.com.taiji.dataService.utils.StringProducer;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 统计任务接口
+ *
+ */
+@Component
+@Slf4j
+public class ScheduleTJjk {
+
+
+    @Resource
+    private StringProducer producer;
+
+    @Scheduled(cron = "0 20 3 * * ?")
+    //@Scheduled(initialDelay = 5000,fixedDelay = 5*60*1000)
+    public void task(){
+
+        log.info("执行统计任务---{}",DateUtil.date());
+        String region = "INTRA";
+        String requestUrl = "https://api-one.digitalhainan.com.cn/apione";
+        String mediaType="application/json";
+
+        String ak_dsb = "AK50976835f38d41bc94349a7bce75fcc8";
+        String sk_dsb = "SKc08527f892ac475f81e2f5ba440b283b";
+        String api_dsb = "DZZW_DSB_JDJK_TJLQQCS_DSJJ";
+
+
+        //国家邮政局_内件品名热门统计接口
+        String ak = "AKefa11a3e59f1448a8e3da49af4c260d5";
+        String sk = "SK6b6285acbcff49ee922fb3c27e90163f";
+        String api = "gjyzj_njpmrmtjjk";
+
+        //国家邮政局_市县业务量统计接口
+        String ak1 = "AK06e53764285a45a7abe2493b5daf1604";
+        String sk1 = "SK63a1a49fac9f4a969c049770be2d97db";
+        String api1 = "gjyzj_sxywltjjk";
+
+        //国家邮政局_收寄件热门城市接口
+        String ak2 = "AK0bc6087e0e9a4ad597ed26d434c51ec4";
+        String sk2 = "SKba3f5cf136e04073ae2fcd0f5da9d27f";
+        String api2 = "gjyzj_sjjrmcsjk";
+
+        Map<String, String> headerParamsMap=new HashMap<>();
+        headerParamsMap.put("Authorization","Bearer 7bee4ad2-1d1f-36e0-b9ab-625a7e495de2");
+        Map<String, String> queryParamsMap=new HashMap<>();
+
+        String date = DateUtil.format(DateUtil.yesterday(), "YYYYMMdd");
+        String response = DSBJK(ak_dsb, sk_dsb, api_dsb, "query207", "gjyzj_njpmrmtjjk", date);
+        String response1 = DSBJK(ak_dsb, sk_dsb, api_dsb, "query207", "gjyzj_sxywltjjk", date);
+        String response2 = DSBJK(ak_dsb, sk_dsb, api_dsb, "query207", "gjyzj_sjjrmcsjk", date);
+
+        JSONArray handle = ResultHandle.handle(response);
+        if(handle!=null){
+            handle.stream().forEach(obj->{
+
+                com.alibaba.fastjson.JSONObject object = JSON.parseObject(obj.toString());
+                com.alibaba.fastjson.JSONObject param = new com.alibaba.fastjson.JSONObject();
+
+                param.put("date",DateUtil.format(DateUtil.parse(object.getString("JDJK_STATISTICS.DATE_TIME")),"YYYY-MM-dd"));
+                param.put("top",object.getString("JDJK_STATISTICS.TOP"));
+                param.put("tjType",object.getString("JDJK_STATISTICS.TJTYPE"));
+                //国家邮政局_内件品名热门统计接口
+                String call = ApioneUtils.call(param.toJSONString(),ak, sk, api, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+
+                NJPMRMTJDataResult njpmrmtjDataResult = JSON.parseObject(call, NJPMRMTJDataResult.class);
+                if(njpmrmtjDataResult.getCode()==0){
+                    RecSen1 data = njpmrmtjDataResult.getData().getData();
+                    List<Rec1> rec = data.getRec();
+                    for(Rec1 r:rec){
+                        producer.sendMessage("gjyzj_njpmrmtjjk",JSON.toJSONString(r));
+                    }
+                    List<Rec1> sen = data.getSen();
+                    for(Rec1 r:sen){
+                        producer.sendMessage("gjyzj_njpmrmtjjk",JSON.toJSONString(r));
+                    }
+                }
+            });
+        }
+
+
+        JSONArray handle1 = ResultHandle.handle(response1);
+        if(handle1!=null){
+            handle1.stream().forEach(obj->{
+
+                com.alibaba.fastjson.JSONObject object = JSON.parseObject(obj.toString());
+                com.alibaba.fastjson.JSONObject param = new com.alibaba.fastjson.JSONObject();
+                param.put("date",DateUtil.format(DateUtil.parse(object.getString("JDJK_STATISTICS.DATE_TIME")),"YYYY-MM-dd"));
+                //国家邮政局_市县业务量统计接口
+                String call = ApioneUtils.call(param.toJSONString(),ak1, sk1, api1, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+
+                SXYWLTJDataResult sxywltjDataResult = JSON.parseObject(call, SXYWLTJDataResult.class);
+                if(sxywltjDataResult.getCode()==0){
+                    List<DataSub2> data1 = sxywltjDataResult.getData().getData();
+                    for (DataSub2 sub2 : data1){
+                        List<Info> infoList = sub2.getInfoList();
+                        for (Info info : infoList){
+                            producer.sendMessage("gjyzj_sxywltjjk",JSON.toJSONString(info));
+                        }
+                    }
+                }
+            });
+        }
+
+        JSONArray handle2 = ResultHandle.handle(response2);
+        if(handle2!=null){
+            handle2.stream().forEach(obj->{
+
+                com.alibaba.fastjson.JSONObject object = JSON.parseObject(obj.toString());
+                com.alibaba.fastjson.JSONObject param = new com.alibaba.fastjson.JSONObject();
+
+                param.put("date",DateUtil.format(DateUtil.parse(object.getString("JDJK_STATISTICS.DATE_TIME")),"YYYY-MM-dd"));
+                param.put("top",object.getString("JDJK_STATISTICS.TOP"));
+                //国家邮政局_收寄件热门城市接口
+                String call = ApioneUtils.call(param.toJSONString(),ak2, sk2, api2, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+
+                SJJRMCSDataResult sjjrmcsDataResult = JSON.parseObject(call, SJJRMCSDataResult.class);
+                if(sjjrmcsDataResult.getCode()==0){
+                    RecSen data = sjjrmcsDataResult.getData().getData();
+                    List<Rec> rec = data.getRec();
+                    for(Rec r:rec){
+                        producer.sendMessage("gjyzj_sjjrmcsjk",JSON.toJSONString(r));
+                    }
+                    List<Rec> sen = data.getSen();
+                    for(Rec r:sen){
+                        producer.sendMessage("gjyzj_sjjrmcsjk",JSON.toJSONString(r));
+                    }
+                }
+            });
+        }
+
+
+    }
+
+
+    /**
+     * 打私办请求接口
+     * @param ak
+     * @param sk
+     * @param api
+     * @param queryID
+     * @param tableName
+     * @param date
+     * @return 接口返回值
+     */
+    public String DSBJK(String ak,String sk,String api,String queryID,String tableName,String date){
+        String region = "INTRA";
+        String requestUrl = "https://api-one.digitalhainan.com.cn/apione";
+
+        String contentJson = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://server.unimas.com/\">\n" +
+                "   <soapenv:Header/>\n" +
+                "   <soapenv:Body>\n" +
+                "      <ser:query>\n" +
+                "         <in>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n" +
+                "               &lt;search&gt;\n" +
+                "               &lt;appname&gt;"+queryID+"&lt;/appname&gt;\n" +
+                "               &lt;limited&gt;100&lt;/limited&gt;\n" +
+                "               &lt;conditions&gt;\n" +
+                "                  &lt;s1f1c2&gt;"+tableName+"&lt;/s1f1c2&gt;\n" +
+                "                  &lt;s1f1c1&gt;"+date+"&lt;/s1f1c1&gt;\n" +
+                "               &lt;/conditions&gt;\n" +
+                "               &lt;/search&gt;</in>\n" +
+                "      </ser:query>\n" +
+                "   </soapenv:Body>";
+
+        ContentBody contentBody = new ContentBody(contentJson);
+
+
+        //拼装业务信息
+        HttpParameters parameters = HttpParameters.builder()
+                .api(api)
+                .region(region)
+                // 如果有query参数需要设置
+                //.queryParamsMap(query)
+                // 如果有path参数需要设置
+                //.path(path)
+                .accessKey(ak)
+                .secretKey(sk)
+                .contentBody(contentBody)
+                .requestUrl(requestUrl)
+                .build();
+
+        // 请求服务接口,获取response
+        HttpReturn call = HttpCaller.getInstance().call(parameters);
+        String response = call.getResponse();
+
+        return response;
+    }
+}

+ 232 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/task/ScheduleTask.java

@@ -0,0 +1,232 @@
+package cn.com.taiji.dataService.task;
+
+
+import cn.com.digitalhainan.apione.sdk.ContentBody;
+import cn.com.taiji.dataService.utils.ResultHandle;
+import cn.com.taiji.dataService.utils.StringProducer;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import cn.com.digitalhainan.apione.sdk.HttpCaller;
+import cn.com.digitalhainan.apione.sdk.HttpParameters;
+import cn.com.digitalhainan.apione.sdk.HttpReturn;
+
+import javax.annotation.Resource;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+@Component
+@Slf4j
+public class ScheduleTask {
+
+    @Value("${taiji.ak1}")
+    private String ak1;
+
+    @Value("${taiji.sk1}")
+    private String sk1;
+
+    @Value("${taiji.api1}")
+    private String api1;
+
+    @Value("${taiji.ak2}")
+    private String ak2;
+
+    @Value("${taiji.sk2}")
+    private String sk2;
+
+    @Value("${taiji.api2}")
+    private String api2;
+
+    @Value("${taiji.ak3}")
+    private String ak3;
+
+    @Value("${taiji.sk3}")
+    private String sk3;
+
+    @Value("${taiji.api3}")
+    private String api3;
+
+    @Value("${taiji.topic}")
+    private String topic;
+
+    @Value("${taiji.ak4}")
+    private String ak4;
+
+    @Value("${taiji.sk4}")
+    private String sk4;
+
+    @Value("${taiji.api4}")
+    private String api4;
+
+    @Value("${taiji.ak5}")
+    private String ak5;
+
+    @Value("${taiji.sk5}")
+    private String sk5;
+
+    @Value("${taiji.api5}")
+    private String api5;
+
+    @Resource
+    private StringProducer producer;
+
+    @Resource
+    private StringRedisTemplate stringRedisTemplate;
+
+    @Scheduled(cron = "0 10 2 * * ?")
+    //@Scheduled(initialDelay = 5000,fixedDelay = 60*60*1000)
+    public void Schedule(){
+        log.info("执行收寄件任务---{}",DateUtil.date());
+        //原REDIS中的编号查询
+        Set<String> keys = stringRedisTemplate.keys("ZWWW_" + "*");
+        for (String key : keys) {
+            String value = stringRedisTemplate.opsForValue().get(key);
+            HttpReturn bReturn = connect(value, ak3, sk3, api3);
+            JSONObject subObject = JSON.parseObject(bReturn.getResponse());
+            JSONObject subObject1= JSON.parseObject(subObject.getString("data"));
+            if(500==subObject1.getInteger("status")){
+                stringRedisTemplate.opsForValue().set(key,value,25, TimeUnit.HOURS);
+            }else {
+                JSONArray data = JSON.parseArray(subObject1.getString("data"));
+                data.stream().forEach(d->{
+                    //结果推送kafka
+                    producer.sendMessage(topic,d.toString());
+                });
+            }
+        }
+        String date = DateUtil.format(DateUtil.yesterday(), "YYYYMMdd");
+        //打私办入参数据
+        String contentJson = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://server.unimas.com/\"> <soapenv:Header/> <soapenv:Body> <ser:query> <in>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt; &lt;search&gt; &lt;appname&gt;query193&lt;/appname&gt; &lt;limited&gt;100&lt;/limited&gt; &lt;conditions&gt; &lt;s1f1c1&gt;"+
+                date+"&lt;/s1f1c1&gt; &lt;/conditions&gt; &lt;/search&gt;</in> </ser:query> </soapenv:Body>";
+        //调用打私办接口,获取返回数据
+        HttpReturn connect = connect(contentJson, ak1, sk1,api1);
+        String response = connect.getResponse();
+        JSONArray handle = ResultHandle.handle(response);
+
+        if(handle == null){
+            log.info(date+"日没有查询数据");
+            return;
+        }
+
+        //获取打私办返回数据,组装邮政接口入参参数
+        handle.stream().forEach(array->{
+
+            com.alibaba.fastjson.JSONObject object = JSON.parseObject(array.toString());
+            com.alibaba.fastjson.JSONObject param = new com.alibaba.fastjson.JSONObject();
+            param.put("data",object.getString("JDJK_SEND.DATA"));
+            param.put("dataType",object.getString("JDJK_SEND.DATETYPE"));
+            param.put("type",object.getString("JDJK_SEND.TYPE"));
+            param.put("operateOrg",object.getString("JDJK_SEND.OPERATEORG"));
+            param.put("operator",object.getString("JDJK_SEND.OPERATOR"));
+            param.put("photoName",object.getString("JDJK_SEND.PHOTONAME"));
+            param.put("photo",object.getString("JDJK_SEND.PHOTO"));
+
+            //快递寄件接口
+            HttpReturn httpReturn = connect(param.toJSONString(), ak2, sk2, api2);
+            System.out.println(httpReturn.getResponse());
+            QueryData queryData = JSON.parseObject(httpReturn.getResponse(), QueryData.class);
+            if("500".equals(queryData.getCode())){
+                log.info("邮政接口调用失败--原因:{}",queryData.getMsg());
+                return;
+            }
+            int queryNo = queryData.getData().getData().getQueryNo();
+            com.alibaba.fastjson.JSONObject param3 = new com.alibaba.fastjson.JSONObject();
+            param3.put("queryNo",queryNo);
+            //寄件结果查询接口
+            HttpReturn aReturn = connect(param3.toJSONString(), ak3, sk3, api3);
+            String response1 = aReturn.getResponse();
+
+            JSONObject jsonObject = JSON.parseObject(response1);
+            JSONObject jsonObject1 = JSON.parseObject(jsonObject.getString("data"));
+            //查询未审核状态则将信息存储到redis
+            if(500==jsonObject1.getInteger("status")){
+                stringRedisTemplate.opsForValue().set("ZWWW_JJ"+queryNo,param3.toJSONString(),25, TimeUnit.HOURS);
+            }else {
+                JSONArray data = JSON.parseArray(jsonObject1.getString("data"));
+                data.stream().forEach(d->{
+                    //结果推送kafka
+                    producer.sendMessage(topic,d.toString());
+                });
+            }
+
+            //快递收件接口协查函
+            HttpReturn httpReturn4 = connect(param.toJSONString(), ak4, sk4, api4);
+            System.out.println(httpReturn4.getResponse());
+            QueryData queryData4 = JSON.parseObject(httpReturn4.getResponse(), QueryData.class);
+            if("500".equals(queryData4.getCode())){
+                log.info("邮政接口调用失败--原因:{}",queryData4.getMsg());
+                return;
+            }
+            int queryNo4 = queryData4.getData().getData().getQueryNo();
+            com.alibaba.fastjson.JSONObject param4 = new com.alibaba.fastjson.JSONObject();
+            param4.put("queryNo",queryNo4);
+            //收件接口结果查询
+            HttpReturn aReturn4 = connect(param4.toJSONString(), ak5, sk5, api5);
+            String response_sj = aReturn4.getResponse();
+
+            JSONObject jsonObjectSj = JSON.parseObject(response_sj);
+            JSONObject jsonObjectSjj = JSON.parseObject(jsonObjectSj.getString("data"));
+            //查询未审核状态则将信息存储到redis
+            if(500==jsonObjectSjj.getInteger("status")){
+                stringRedisTemplate.opsForValue().set("ZWWW_SJ"+queryNo4,param4.toJSONString(),25, TimeUnit.HOURS);
+            }else {
+                JSONArray data = JSON.parseArray(jsonObjectSjj.getString("data"));
+                data.stream().forEach(d->{
+                    //结果推送kafka
+                    producer.sendMessage("gjyzj_kdsjcxjgjk",d.toString());
+                });
+            }
+        });
+
+    }
+
+    private HttpReturn connect(String contentJson,String ak,String sk,String api){
+        //String region = "接口请求区域 INTRA(政务外网),INTER(政务互联网),PUBLIC(公网)";
+        String region = "INTRA";
+        String requestUrl = "https://api-one.digitalhainan.com.cn/apione";
+        ContentBody contentBody = new ContentBody(contentJson);
+
+        //拼装业务信息
+        HttpParameters parameters = HttpParameters.builder()
+                .api(api)
+                .region(region)
+                // 如果有query参数需要设置
+                //.queryParamsMap(query)
+                // 如果有path参数需要设置
+                //.path(path)
+                .accessKey(ak)
+                .secretKey(sk)
+                .contentBody(contentBody)
+                .requestUrl(requestUrl)
+                .build();
+
+        // 请求服务接口,获取response
+        HttpReturn call = HttpCaller.getInstance().call(parameters);
+
+        return call;
+    }
+
+//    @Scheduled(cron = "0 0/1 * * * ?")
+//    public void test(){
+//        com.alibaba.fastjson.JSONObject param3 = new com.alibaba.fastjson.JSONObject();
+//        param3.put("queryNo","110");
+//        HttpReturn aReturn = connect(param3.toJSONString(), ak3, sk3, api3);
+//
+//        String response1 = aReturn.getResponse();
+//
+//        JSONObject jsonObject = JSON.parseObject(response1);
+//        JSONObject jsonObject1 = JSON.parseObject(jsonObject.getString("data"));
+//        JSONArray data = JSON.parseArray(jsonObject1.getString("data"));
+//        data.forEach(d->{
+//            //结果推送kafka
+//            producer.sendMessage(topic,d.toString());
+//        });
+//    }
+
+}

+ 295 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/task/ScheduleXchJgxz.java

@@ -0,0 +1,295 @@
+package cn.com.taiji.dataService.task;
+
+
+import cn.com.digitalhainan.apione.sdk.ContentBody;
+import cn.com.digitalhainan.apione.sdk.HttpCaller;
+import cn.com.digitalhainan.apione.sdk.HttpParameters;
+import cn.com.digitalhainan.apione.sdk.HttpReturn;
+import cn.com.taiji.dataService.utils.ApioneUtils;
+import cn.com.taiji.dataService.utils.ResultHandle;
+import cn.hutool.core.date.DateBetween;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.*;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 任务执行类 协查函 结果下载
+ * @author chen mh
+ * @date 2023/8/14 10:07
+ */
+@Component
+@Slf4j
+public class ScheduleXchJgxz {
+    String region = "INTRA";
+    String requestUrl = "https://api-one.digitalhainan.com.cn/apione";
+    String mediaType="application/json";
+    Map<String, String> queryParamsMap=new HashMap<>();
+
+    /**
+     * 协查函 定时执行接口
+     */
+    @Scheduled(cron = "0 0 1 * * ?")
+    //@Scheduled(initialDelay = 5000,fixedDelay = 60*60*1000)
+    public void Xch(){
+
+        log.info("执行协查函及结果下载任务--{}", DateUtil.date());
+
+        //换成自己的ak、sk
+        String ak = "AK3aa44d2fc93e44bfb1089a9693a9091f";
+        String sk = "SK608e9dd1360649658868199bda4611e8";
+        String api = "DZZW_DSB_JDJK_QQCS_DSSJ";
+
+        String contentJson = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://server.unimas.com/\"> <soapenv:Header/> <soapenv:Body> <ser:query> <in>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt; &lt;search&gt; &lt;appname&gt;query193&lt;/appname&gt; &lt;limited&gt;100&lt;/limited&gt; &lt;conditions&gt; &lt;s1f1c1&gt;" +
+                DateUtil.format(DateUtil.yesterday(), "YYYYMMdd")+"&lt;/s1f1c1&gt; &lt;/conditions&gt; &lt;/search&gt;</in> </ser:query> </soapenv:Body>";
+
+        ContentBody contentBody = new ContentBody(contentJson);
+
+        //拼装业务信息
+        HttpParameters parameters = HttpParameters.builder()
+                .api(api)
+                .region(region)
+                // 如果有query参数需要设置
+                //.queryParamsMap(query)
+                // 如果有path参数需要设置
+                //.path(path)
+                .accessKey(ak)
+                .secretKey(sk)
+                .contentBody(contentBody)
+                .requestUrl(requestUrl)
+                .build();
+
+        // 请求服务接口,获取response
+        HttpReturn call = HttpCaller.getInstance().call(parameters);
+        String response = call.getResponse();
+
+        String date = DateUtil.format(DateUtil.yesterday(), "YYYYMMdd");
+        JSONArray handle = ResultHandle.handle(response);
+
+        if(handle == null){
+            log.info(date+"日没有查询数据-协查函");
+            return;
+        }
+
+        //疑似涉私寄件快递信息
+        String ak_jj_xch="AKeabc1d2788944fc9a408ab5be631d0e8";
+        String sk_jj_xch="SK42b1168ee774477e952ca52c795cc149";
+        String apiName="gjyzj_ysssjjkdxx_xch";
+
+        //疑似涉私收件快递信息
+        String ak_sj_xch="AKc7ab48f6470444fa83f55a56c407e2be";
+        String sk_sj_xch="SK60d3df8fe75f4ccf938da7fc22179eec";
+        String apiName1="gjyzj_yssssjkdxx_xch";
+
+        //异常寄件地点快递信息
+        String ak_ycjj_xch="AKd66646feecea4c93adc372e3e8a3ce8a";
+        String sk_ycjj_xch="SK5fde11c5510b43f6b5b3a5964349a1d9";
+        String apiName3="gjyzj_ycjjddkdxx_xch";
+
+        String ak_ycjjr_xch="AK445608f59ebb446ca51d3d4660c5f72f";
+        String sk_ycjjr_xch="SK0b0d76a38f5349818d480f0310ba9346";
+        String apiName4="gjyzj_ycjjrxwfxxx_xch";
+
+        String ak_ycsj_xch="AK7b13190e791741c0a9bf518ee273a638";
+        String sk_ycsj_xch="SK66e3e572fd48483c862ac00345d3662c";
+        String apiName5="gjyzj_ycsjddkdxx_xch";
+
+        String ak_ycsjr_xch="AK126a4113f3424a6a9b7e8b548da39cb1";
+        String sk_ycsjr_xch="SK1da6383d3cb746818f70bd469496f576";
+        String apiName6="gjyzj_ycsjrxwfxxx_xch";
+
+
+        String mediaType="application/json";
+        Map<String, String> headerParamsMap=new HashMap<>();
+        headerParamsMap.put("Authorization","Bearer 7bee4ad2-1d1f-36e0-b9ab-625a7e495de2");
+        Map<String, String> queryParamsMap=new HashMap<>();
+
+        handle.stream().forEach(array-> {
+
+            com.alibaba.fastjson.JSONObject object = JSON.parseObject(array.toString());
+            com.alibaba.fastjson.JSONObject param = new com.alibaba.fastjson.JSONObject();
+
+            param.put("operateOrg",object.getString("JDJK_SEND.OPERATEORG"));
+            param.put("operator",object.getString("JDJK_SEND.OPERATOR"));
+            param.put("photoName",object.getString("JDJK_SEND.PHOTONAME"));
+            param.put("photo",object.getString("JDJK_SEND.PHOTO"));
+
+            //疑似涉私寄件快递信息_协查函
+            String call1 = ApioneUtils.call(param.toJSONString(),ak_jj_xch, sk_jj_xch, apiName, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+
+            //疑似涉私收件快递信息_协查函
+            String call2 = ApioneUtils.call(param.toJSONString(),ak_sj_xch, sk_sj_xch, apiName1, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+
+            //异常寄件地点快递信息_协查函
+            String call3 = ApioneUtils.call(param.toJSONString(),ak_ycjj_xch, sk_ycjj_xch, apiName3, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+
+            //异常寄件人行为分析信息_协查函
+            String call4 = ApioneUtils.call(param.toJSONString(),ak_ycjjr_xch, sk_ycjjr_xch, apiName4, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+
+            //异常收件地点快递信息_协查函
+            String call5 = ApioneUtils.call(param.toJSONString(),ak_ycsj_xch, sk_ycsj_xch, apiName5, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+
+            //异常收件人行为分析信息_协查函
+            String call6 = ApioneUtils.call(param.toJSONString(),ak_ycsjr_xch, sk_ycsjr_xch, apiName6, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+
+
+        });
+    }
+
+
+    /**
+     * 下载结果接口定时运行
+     */
+    @Scheduled(cron = "0 0 2 * * ?")
+    //@Scheduled(initialDelay = 5000,fixedDelay = 60*60*1000)
+    public void Jgxz(){
+        log.info("执行结果下载任务--{}", DateUtil.date());
+        downloadYsssjj();
+        downloadYssssj();
+        downloadYcjjdd();
+        downloadYcjjrxw();
+        downloadYcsjdd();
+        downloadYcsjrxw();
+    }
+
+    public void downloadYsssjj(){
+        String ak_jj_jgxz="AKe8fbb21605e04a3f88d78e1110f63c28";
+        String sk_jj_jgxz="SKd7fd481703b64387bab49ff2368d3d5d";
+        String apiName="gjyzj_ysssjjkdxx_jgxz";
+
+        Map<String, String> headerParamsMap = getHeaderParamsMap();
+
+        com.alibaba.fastjson.JSONObject param = getParam();
+
+        InputStream call = ApioneUtils.callByte(param.toJSONString(),ak_jj_jgxz, sk_jj_jgxz, apiName, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+        String fileName = "疑似涉私寄件快递信息"+DateUtil.format(DateUtil.yesterday(), "YYYYMMdd")+".xlsx" ;
+
+        writeFile(fileName,call);
+    }
+
+    public void downloadYssssj(){
+        String ak_sj_jgxz="AK968863e9f3094e9a91fab5b965910fa2";
+        String sk_sj_jgxz="SK5548f604797e4651a04941cfbf1704fa";
+        String apiName="gjyzj_yssssjkdxx_jgxz";
+
+        Map<String, String> headerParamsMap = getHeaderParamsMap();
+
+        com.alibaba.fastjson.JSONObject param = getParam();
+
+        InputStream call = ApioneUtils.callByte(param.toJSONString(),ak_sj_jgxz, sk_sj_jgxz, apiName, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+        String fileName = "疑似涉私收件快递信息"+DateUtil.format(DateUtil.yesterday(), "YYYYMMdd")+".xlsx" ;
+
+        writeFile(fileName,call);
+    }
+
+    public void downloadYcjjdd(){
+        //异常寄件地址
+        String ak_ycjj_jgxz="AKc577515132804d919c54c56026794cfe";
+        String sk_ycjj_jgxz="SKed3d3d3240f142bf87bf285d733d7a12";
+        String apiName="gjyzj_ycjjddkdxx_jgxz";
+
+        Map<String, String> headerParamsMap = getHeaderParamsMap();
+
+        com.alibaba.fastjson.JSONObject param = getParam();
+
+        InputStream call = ApioneUtils.callByte(param.toJSONString(),ak_ycjj_jgxz, sk_ycjj_jgxz, apiName, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+        String fileName = "异常寄件地点分析信息"+DateUtil.format(DateUtil.yesterday(), "YYYYMMdd")+".xlsx" ;
+
+        writeFile(fileName,call);
+    }
+
+    public void downloadYcjjrxw(){
+        //异常寄件人行为分析信息
+        String ak_ycjjr_jgxz="AK88de3e809c1842488a142601f14b707a";
+        String sk_ycjjr_jgxz="SKb10fdf3ed87f4f8c9f690066c3685643";
+        String apiName="gjyzj_ycjjrxwfxxx_jgxz";
+
+        Map<String, String> headerParamsMap = getHeaderParamsMap();
+
+        com.alibaba.fastjson.JSONObject param = getParam();
+
+        InputStream call = ApioneUtils.callByte(param.toJSONString(),ak_ycjjr_jgxz, sk_ycjjr_jgxz, apiName, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+        String fileName = "异常寄件人行为分析信息"+DateUtil.format(DateUtil.yesterday(), "YYYYMMdd")+".xlsx" ;
+
+        writeFile(fileName,call);
+    }
+
+    public void downloadYcsjdd(){
+        //异常收件人行为分析信息
+        String ak_ycsjr_jgxz="AKb4466349a8974dc9ae6f0bd68a99dc1b";
+        String sk_ycsjr_jgxz="SK383393c73d0b4ad89b55db664e7d8449";
+        String apiName="gjyzj_ycsjrxwfxxx_jgxz";
+
+        Map<String, String> headerParamsMap = getHeaderParamsMap();
+
+        com.alibaba.fastjson.JSONObject param = getParam();
+
+        InputStream call = ApioneUtils.callByte(param.toJSONString(),ak_ycsjr_jgxz, sk_ycsjr_jgxz, apiName, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+        String fileName = "异常收件地点分析信息"+DateUtil.format(DateUtil.yesterday(), "YYYYMMdd")+".xlsx" ;
+
+        writeFile(fileName,call);
+    }
+
+    public void downloadYcsjrxw(){
+        //异常寄件人行为分析信息
+        String ak_ycjjr_jgxz="AK88de3e809c1842488a142601f14b707a";
+        String sk_ycjjr_jgxz="SKb10fdf3ed87f4f8c9f690066c3685643";
+        String apiName="gjyzj_ycjjrxwfxxx_jgxz";
+
+        Map<String, String> headerParamsMap = getHeaderParamsMap();
+
+        com.alibaba.fastjson.JSONObject param = getParam();
+
+        InputStream call = ApioneUtils.callByte(param.toJSONString(),ak_ycjjr_jgxz, sk_ycjjr_jgxz, apiName, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
+        String fileName = "异常收件人行为分析信息"+DateUtil.format(DateUtil.yesterday(), "YYYYMMdd")+".xlsx" ;
+
+        writeFile(fileName,call);
+    }
+
+    public static void writeFile(String fileName,InputStream inputStream){
+        String path = "file"+"/"+fileName;
+        log.info("生成文件--{}",path);
+        File outputFile = new File(path);
+        FileOutputStream outputStream = null;
+        try {
+            outputStream = new FileOutputStream(outputFile);
+            byte[] buffer = new byte[1024];
+            int bytesRead;
+            while ((bytesRead = inputStream.read(buffer)) != -1) {
+                outputStream.write(buffer, 0, bytesRead);
+            }
+
+        } catch (FileNotFoundException e) {
+            throw new RuntimeException(e);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }finally {
+            try {
+                outputStream.close();
+                inputStream.close();
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            }
+        }
+    }
+
+    public  Map<String, String> getHeaderParamsMap(){
+        Map<String, String> headerParamsMap=new HashMap<>();
+        headerParamsMap.put("Authorization","Bearer 7bee4ad2-1d1f-36e0-b9ab-625a7e495de2");
+        return headerParamsMap;
+    }
+
+    public  com.alibaba.fastjson.JSONObject getParam(){
+        com.alibaba.fastjson.JSONObject param = new com.alibaba.fastjson.JSONObject();
+        param.put("operateOrg","海南省打私办");
+        param.put("operator","王鹏");
+        return param;
+    }
+
+}

+ 76 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/utils/AESUtils.java

@@ -0,0 +1,76 @@
+package cn.com.taiji.dataService.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.crypto.Cipher;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.SecretKeySpec;
+import java.util.Base64;
+
+/**
+ * Created by Kevin on 2018/6/21.
+ */
+public class AESUtils {
+
+    static String iv = "d22b0a851e014f7b";
+
+    private final static Logger logger = LoggerFactory.getLogger(AESUtils.class);
+
+    private final static Base64.Encoder encoder = Base64.getEncoder();
+    private final static Base64.Decoder decoder = Base64.getDecoder();
+
+    private static final String defaultCharset = "UTF-8";
+    private static final String KEY_AES = "AES";
+    public static final String KEY = "8192553d3db81630";
+
+    /**
+     * 加密
+     *
+     * @param data 需要加密的内容
+     * @param key  加密密码
+     * @return
+     */
+    public static String encrypt(String data, String key) {
+        return doAES(data, key, iv.getBytes(), Cipher.ENCRYPT_MODE);
+    }
+
+    /**
+     * 解密
+     *
+     * @param data 待解密内容
+     * @param key  解密密钥
+     * @return
+     */
+    public static String decrypt(String data, String key) {
+        return doAES(data, key, iv.getBytes(), Cipher.DECRYPT_MODE);
+    }
+
+    public static String doAES(String data, String secretKey, byte[] iv, int mode) {
+
+        try {
+            boolean encrypt = mode == Cipher.ENCRYPT_MODE;
+            byte[] content;
+            //true 加密内容 false 解密内容
+            if (encrypt) {
+                content = data.getBytes(defaultCharset);
+            } else {
+                content = decoder.decode(data);
+            }
+
+            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
+            SecretKeySpec skeySpec = new SecretKeySpec(secretKey.getBytes(), KEY_AES);
+            cipher.init(mode, skeySpec, new IvParameterSpec(iv));
+            byte[] result = cipher.doFinal(content);
+            if (encrypt) {
+                return new String(encoder.encode(result));
+            } else {
+                return new String(result, defaultCharset);
+            }
+        } catch (Exception e) {
+            logger.error("aes error:", e);
+        }
+        return null;
+    }
+}
+

+ 101 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/utils/ApioneUtils.java

@@ -0,0 +1,101 @@
+package cn.com.taiji.dataService.utils;
+
+import cn.com.digitalhainan.apione.sdk.*;
+import cn.com.digitalhainan.apione.utils.LogUtils;
+import cn.com.digitalhainan.apione.utils.ObjectUtils;
+import okhttp3.*;
+import okhttp3.internal.http.HttpMethod;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+import java.util.TreeMap;
+
+/**
+ * 接口调用工具类
+ * @author chen mh
+ * @date 2023/8/14 9:52
+ */
+public class ApioneUtils {
+
+    /**
+     * 接口请求
+     *
+     * @param contentJson 接口请求 Body 入参
+     * @param ak 我的应用-我申请的功能-对应功能查看 ak
+     * @param sk 我的应用-我申请的功能-对应功能查看 sk
+     * @param apiName 接口 api name
+     * @param region 接口请求区域 INTRA(政务外网),INTER(政务互联网)
+     * @param requestUrl 接口请求地址
+     * @param mediaType 请求正文格式 默认 application/json
+     * @param path 接口路径参数,按该格式拼接:"/path1/path2"
+     * @param headerParamsMap 接口 Header 参数,Key-Value 数据格式
+     * @param queryParamsMap 接口 Query 参数,Key-Value 数据格式
+     * @return 接口返回数据
+     */
+    public static String call(String contentJson,
+                              String ak,
+                              String sk,
+                              String apiName,
+                              String region,
+                              String requestUrl,
+                              String mediaType,
+                              String path,
+                              Map<String, String> headerParamsMap,
+                              Map<String, String> queryParamsMap) {
+
+        ContentBody contentBody = new ContentBody(contentJson);
+        HttpParameters parameters = HttpParameters.builder()
+                .api(apiName)
+                .region(region)
+                .headerParamsMap(headerParamsMap)
+                .queryParamsMap(queryParamsMap)
+                .path(path)
+                .mediaType(MediaType.parse(mediaType))
+                .accessKey(ak)
+                .secretKey(sk)
+                .contentBody(contentBody)
+                .requestUrl(requestUrl)
+                .build();
+        //请求开发服务,获取 response
+        HttpReturn call = HttpCaller.getInstance().call(parameters);
+        // 如需获取二进制响应使用下方这个
+        // HttpByteReturn call = HttpCaller.getInstance().callByte(parameters);
+        return call.getResponse();
+    }
+
+    public static InputStream callByte(String contentJson,
+                                       String ak,
+                                       String sk,
+                                       String apiName,
+                                       String region,
+                                       String requestUrl,
+                                       String mediaType,
+                                       String path,
+                                       Map<String, String> headerParamsMap,
+                                       Map<String, String> queryParamsMap) {
+
+        ContentBody contentBody = new ContentBody(contentJson);
+        HttpParameters parameters = HttpParameters.builder()
+                .api(apiName)
+                .region(region)
+                .headerParamsMap(headerParamsMap)
+                .queryParamsMap(queryParamsMap)
+                .path(path)
+                .mediaType(MediaType.parse(mediaType))
+                .accessKey(ak)
+                .secretKey(sk)
+                .contentBody(contentBody)
+                .requestUrl(requestUrl)
+                .build();
+        //请求开发服务,获取 response
+
+        HttpByteReturn call = MyHttpCaller.getInstance().callByte(parameters);
+        // 如需获取二进制响应使用下方这个
+        //HttpByteReturn call = HttpCaller.getInstance().callByte(parameters);
+        return call.getResponse();
+    }
+
+
+}

+ 18 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/utils/Constant.java

@@ -0,0 +1,18 @@
+package cn.com.taiji.dataService.utils;
+
+/**
+ * @author chen mh
+ * @date 2023/7/7 14:52
+ */
+public class Constant {
+
+    public static final String MQDQZDRS = "10032";
+
+    public static final String MQDQCRJZDRS = "10033";
+
+    public static final String MQWGRQZQK = "10034";
+
+    public static final String MQWGRYJ = "10035";
+
+    public static final String MQWGRZDJZQK = "10036";
+}

+ 23 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/utils/DataJson.java

@@ -0,0 +1,23 @@
+package cn.com.taiji.dataService.utils;
+
+
+import lombok.Data;
+
+/**
+ * @author chen mh
+ * @date 2023/7/18 9:40
+ */
+@Data
+public class DataJson {
+
+    private Root root;
+}
+@Data
+class Root{
+    private Results results;
+}
+@Data
+class Results{
+    private int count;
+    private String result;
+}

+ 116 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/utils/HttpByteReturn.java

@@ -0,0 +1,116 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package cn.com.taiji.dataService.utils;
+
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+public class HttpByteReturn {
+    public Integer responseHttpStatus;
+    public InputStream response;
+    public Map<String, String> respHttpHeaderMap = new HashMap();
+
+    public HttpByteReturn() {
+    }
+
+    public Integer getResponseHttpStatus() {
+        return this.responseHttpStatus;
+    }
+
+    public InputStream getResponse() {
+        return this.response;
+    }
+
+    public Map<String, String> getRespHttpHeaderMap() {
+        return this.respHttpHeaderMap;
+    }
+
+    public HttpByteReturn setResponseHttpStatus(Integer responseHttpStatus) {
+        this.responseHttpStatus = responseHttpStatus;
+        return this;
+    }
+
+    public HttpByteReturn setResponse(InputStream response) {
+        this.response = response;
+        return this;
+    }
+
+    public HttpByteReturn setRespHttpHeaderMap(Map<String, String> respHttpHeaderMap) {
+        this.respHttpHeaderMap = respHttpHeaderMap;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof HttpByteReturn)) {
+            return false;
+        } else {
+            HttpByteReturn other = (HttpByteReturn)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                label47: {
+                    Object this$responseHttpStatus = this.getResponseHttpStatus();
+                    Object other$responseHttpStatus = other.getResponseHttpStatus();
+                    if (this$responseHttpStatus == null) {
+                        if (other$responseHttpStatus == null) {
+                            break label47;
+                        }
+                    } else if (this$responseHttpStatus.equals(other$responseHttpStatus)) {
+                        break label47;
+                    }
+
+                    return false;
+                }
+
+                Object this$response = this.getResponse();
+                Object other$response = other.getResponse();
+                if (this$response == null) {
+                    if (other$response != null) {
+                        return false;
+                    }
+                } else if (!this$response.equals(other$response)) {
+                    return false;
+                }
+
+                Object this$respHttpHeaderMap = this.getRespHttpHeaderMap();
+                Object other$respHttpHeaderMap = other.getRespHttpHeaderMap();
+                if (this$respHttpHeaderMap == null) {
+                    if (other$respHttpHeaderMap != null) {
+                        return false;
+                    }
+                } else if (!this$respHttpHeaderMap.equals(other$respHttpHeaderMap)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof HttpByteReturn;
+    }
+
+    public int hashCode() {
+        //int PRIME = true;
+        int result = 1;
+        Object $responseHttpStatus = this.getResponseHttpStatus();
+        result = result * 59 + ($responseHttpStatus == null ? 43 : $responseHttpStatus.hashCode());
+        Object $response = this.getResponse();
+        result = result * 59 + ($response == null ? 43 : $response.hashCode());
+        Object $respHttpHeaderMap = this.getRespHttpHeaderMap();
+        result = result * 59 + ($respHttpHeaderMap == null ? 43 : $respHttpHeaderMap.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "HttpReturn(responseHttpStatus=" + this.getResponseHttpStatus() + ", response=" + this.getResponse() + ", respHttpHeaderMap=" + this.getRespHttpHeaderMap() + ")";
+    }
+}
+

+ 241 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/utils/MyHttpCaller.java

@@ -0,0 +1,241 @@
+package cn.com.taiji.dataService.utils;
+
+import cn.com.digitalhainan.apione.sdk.ApioneSignature;
+import cn.com.digitalhainan.apione.sdk.HttpCaller;
+import cn.com.digitalhainan.apione.sdk.HttpParameters;
+import cn.com.digitalhainan.apione.sdk.HttpReturn;
+import cn.com.digitalhainan.apione.utils.LogUtils;
+import cn.com.digitalhainan.apione.utils.ObjectUtils;
+import okhttp3.*;
+import okhttp3.internal.http.HttpMethod;
+
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+
+
+import cn.com.digitalhainan.apione.utils.LogUtils;
+import cn.com.digitalhainan.apione.utils.ObjectUtils;
+import java.io.IOException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
+import okhttp3.HttpUrl;
+import okhttp3.MediaType;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.Response;
+import okhttp3.internal.http.HttpMethod;
+
+public class MyHttpCaller {
+        private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
+        public static final String CONNECT_TIMEOUT_KEY = "apione.http.connect.timeout";
+        public static final String READ_TIMEOUT_KEY = "apione.http.read.timeout";
+        public static final String WRITE_TIMEOUT_KEY = "apione_http.write.timeout";
+        private static final String REGION_KEY = "region";
+        private static final String REQUEST_ID = "x-request-id";
+        private static final String PATH_KEY = "x-http-path";
+        private static final String QUERY_KEY = "x-http-query";
+        private OkHttpClient client;
+
+        private MyHttpCaller() {
+            OkHttpClient.Builder builder = new OkHttpClient.Builder();
+            builder.connectTimeout((long)Integer.parseInt(System.getProperty("apione.http.connect.timeout", "60")), TimeUnit.SECONDS);
+            builder.readTimeout((long)Integer.parseInt(System.getProperty("apione.http.read.timeout", "60")), TimeUnit.SECONDS);
+            builder.writeTimeout((long)Integer.parseInt(System.getProperty("apione_http.write.timeout", "60")), TimeUnit.SECONDS);
+            this.client = builder.build();
+        }
+
+        public static cn.com.taiji.dataService.utils.MyHttpCaller getInstance() {
+            return cn.com.taiji.dataService.utils.MyHttpCaller.OkHttpHolder.INSTANCE;
+        }
+
+        public HttpReturn call(HttpParameters httpParameters) {
+            this.assertParams(httpParameters);
+            String sign = ApioneSignature.sign(httpParameters.getApi(), httpParameters.getAccessKey(), httpParameters.getDate().getTime(), httpParameters.getSecretKey(), httpParameters.getFormParamsMap(), httpParameters.getVersion());
+            RequestBody body = null;
+            if (httpParameters.getContentBody() != null) {
+                body = RequestBody.create(httpParameters.getMediaType(), httpParameters.getContentBody().getJsonBody());
+            } else if (httpParameters.getMediaType().type().toLowerCase().contains("form") && !ObjectUtils.isEmpty(httpParameters.getFormParamsMap())) {
+                body = RequestBody.create(httpParameters.getMediaType(), map2Form(httpParameters.getFormParamsMap()));
+            }
+
+            if (body == null && HttpMethod.requiresRequestBody(httpParameters.getMethod())) {
+                body = RequestBody.create(httpParameters.getMediaType(), "");
+            }
+
+            HttpUrl.Builder urlBuilder = HttpUrl.parse(httpParameters.getRequestUrl()).newBuilder();
+            Request.Builder builder = (new Request.Builder()).method(httpParameters.getMethod(), body);
+            if (!ObjectUtils.isEmpty(httpParameters.getQueryParamsMap())) {
+                httpParameters.getQueryParamsMap().forEach(urlBuilder::addQueryParameter);
+            }
+
+            TreeMap<String, String> sortedHeaderMap = new TreeMap(this.commonHeader(httpParameters, sign));
+            if (httpParameters.getHeaderParamsMap() != null) {
+                sortedHeaderMap.putAll(httpParameters.getHeaderParamsMap());
+            }
+
+            sortedHeaderMap.forEach(builder::header);
+            HttpReturn httpReturn = new HttpReturn();
+
+            try {
+                Request request = builder.url(urlBuilder.build()).build();
+                Response response = this.client.newCall(request).execute();
+                httpReturn.setResponseHttpStatus(response.code()).setResponse(response.body().string());
+                response.headers().toMultimap().forEach((key, values) -> {
+                    String var10000 = (String)httpReturn.getRespHttpHeaderMap().put(key, values.get(0));
+                });
+                return httpReturn;
+            } catch (IOException var10) {
+                LogUtils.error("call url:{} api:{} error:{}", new Object[]{httpParameters.getRequestUrl(), httpParameters.getApi(), var10.getMessage()});
+                return httpReturn;
+            }
+        }
+
+    public HttpByteReturn callByte(HttpParameters httpParameters) {
+        this.assertParams(httpParameters);
+        String sign = ApioneSignature.sign(httpParameters.getApi(), httpParameters.getAccessKey(), httpParameters.getDate().getTime(), httpParameters.getSecretKey(), httpParameters.getFormParamsMap(), httpParameters.getVersion());
+        RequestBody body = null;
+        if (httpParameters.getContentBody() != null) {
+            body = RequestBody.create(httpParameters.getMediaType(), httpParameters.getContentBody().getJsonBody());
+        } else if (httpParameters.getMediaType().type().toLowerCase().contains("form") && !ObjectUtils.isEmpty(httpParameters.getFormParamsMap())) {
+            body = RequestBody.create(httpParameters.getMediaType(), map2Form(httpParameters.getFormParamsMap()));
+        }
+
+        if (body == null && HttpMethod.requiresRequestBody(httpParameters.getMethod())) {
+            body = RequestBody.create(httpParameters.getMediaType(), "");
+        }
+
+        HttpUrl.Builder urlBuilder = HttpUrl.parse(httpParameters.getRequestUrl()).newBuilder();
+        Request.Builder builder = (new Request.Builder()).method(httpParameters.getMethod(), body);
+        if (!ObjectUtils.isEmpty(httpParameters.getQueryParamsMap())) {
+            httpParameters.getQueryParamsMap().forEach(urlBuilder::addQueryParameter);
+        }
+
+        TreeMap<String, String> sortedHeaderMap = new TreeMap(this.commonHeader(httpParameters, sign));
+        if (httpParameters.getHeaderParamsMap() != null) {
+            sortedHeaderMap.putAll(httpParameters.getHeaderParamsMap());
+        }
+
+        sortedHeaderMap.forEach(builder::header);
+        HttpByteReturn httpReturn = new HttpByteReturn();
+
+        try {
+            Request request = builder.url(urlBuilder.build()).build();
+            Response response = this.client.newCall(request).execute();
+            httpReturn.setResponseHttpStatus(response.code()).setResponse(response.body().byteStream());
+            response.headers().toMultimap().forEach((key, values) -> {
+                String var10000 = (String)httpReturn.getRespHttpHeaderMap().put(key, values.get(0));
+            });
+            return httpReturn;
+        } catch (IOException var10) {
+            LogUtils.error("call url:{} api:{} error:{}", new Object[]{httpParameters.getRequestUrl(), httpParameters.getApi(), var10.getMessage()});
+            return httpReturn;
+        }
+    }
+
+        public static String map2Form(Map<String, String> map) {
+            StringBuilder stringBuilder = new StringBuilder();
+            if (map == null) {
+                return stringBuilder.toString();
+            } else {
+                Iterator var2 = map.entrySet().iterator();
+
+                while(var2.hasNext()) {
+                    Map.Entry<String, String> entry = (Map.Entry)var2.next();
+                    stringBuilder.append((String)entry.getKey()).append("=").append((String)entry.getValue()).append("&");
+                }
+
+                return stringBuilder.substring(0, stringBuilder.length() - 1);
+            }
+        }
+
+        private void assertParams(HttpParameters httpParameters) {
+            if (httpParameters.getMethod() == null) {
+                httpParameters.setMethod("POST");
+            }
+
+            if (httpParameters.getMediaType() == null) {
+                httpParameters.setMediaType(JSON);
+            }
+
+            if (httpParameters.getDate() == null) {
+                httpParameters.setDate(new Date());
+            }
+
+            if (ObjectUtils.isEmpty(httpParameters.getVersion())) {
+                httpParameters.setVersion("1.0");
+            }
+
+            if (ObjectUtils.isEmpty(httpParameters.getAccessKey())) {
+                throw new RuntimeException("Miss ak");
+            } else if (ObjectUtils.isEmpty(httpParameters.getSecretKey())) {
+                throw new RuntimeException("Miss sk");
+            } else if (ObjectUtils.isEmpty(httpParameters.getApi())) {
+                throw new RuntimeException("Miss api name");
+            } else if (ObjectUtils.isEmpty(httpParameters.getRequestUrl())) {
+                throw new RuntimeException("Miss request url");
+            }
+        }
+
+        private Map<String, String> commonHeader(HttpParameters httpParameters, String sign) {
+            Map<String, String> headerMap = new HashMap();
+            headerMap.put("_api_name", httpParameters.getApi());
+            headerMap.put("_api_access_key", httpParameters.getAccessKey());
+            headerMap.put("_api_signature", sign);
+            headerMap.put("_api_version", httpParameters.getVersion());
+            headerMap.put("_api_timestamp", httpParameters.getDate().getTime() + "");
+            String requestId = UUID.randomUUID().toString().replaceAll("-", "");
+            headerMap.put("x-request-id", requestId);
+            LogUtils.info("apione trace api = {} ,requestId = {}", new Object[]{httpParameters.getApi(), requestId});
+            if (!ObjectUtils.isEmpty(httpParameters.getRegion())) {
+                headerMap.put("region", httpParameters.getRegion());
+            }
+
+            if (!ObjectUtils.isEmpty(httpParameters.getPath())) {
+                if (!httpParameters.getPath().startsWith("/")) {
+                    httpParameters.setPath("/" + httpParameters.getPath());
+                }
+
+                headerMap.put("x-http-path", httpParameters.getPath());
+            }
+
+            return headerMap;
+        }
+
+        private String getUrlParamsByMap(Map<String, String> map) {
+            if (map == null) {
+                return "";
+            } else {
+                StringBuffer sb = new StringBuffer();
+                Iterator var3 = map.entrySet().iterator();
+
+                while(var3.hasNext()) {
+                    Map.Entry<String, String> entry = (Map.Entry)var3.next();
+                    sb.append((String)entry.getKey() + "=" + (String)entry.getValue());
+                    sb.append("&");
+                }
+
+                String s = sb.toString();
+                if (s.endsWith("&")) {
+                    s = ObjectUtils.substringBeforeLast(s, "&");
+                }
+
+                return s;
+            }
+        }
+
+        private static class OkHttpHolder {
+            private static final MyHttpCaller INSTANCE = new MyHttpCaller();
+
+            private OkHttpHolder() {
+            }
+        }
+
+
+
+}

+ 93 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/utils/ResultHandle.java

@@ -0,0 +1,93 @@
+package cn.com.taiji.dataService.utils;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.XML;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+
+import javax.xml.soap.*;
+import java.io.ByteArrayInputStream;
+import java.util.Iterator;
+
+/**
+ * @author chen mh
+ * @date 2023/7/18 10:08
+ */
+public class ResultHandle {
+
+
+    public static JSONArray handle(String response){
+        try {
+            SOAPMessage msg = formatSoapString(response);
+            SOAPBody body = msg.getSOAPBody();
+            Iterator<SOAPElement> iterator = body.getChildElements();
+            JSONObject jsonObject = PrintBody(iterator, null);
+            System.out.println(jsonObject);
+            DataJson t = JSON.parseObject(jsonObject.toString(), DataJson.class);
+            int count = t.getRoot().getResults().getCount();
+            if(count>0){
+                String result = t.getRoot().getResults().getResult();
+                JSONArray jsonArray = JSON.parseArray(result);
+
+                return  jsonArray;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return  null;
+    }
+
+
+
+    /**
+     *
+     *  把soap字符串格式化为SOAPMessage
+     *
+     * @param soapString
+     * @return
+     * @see [类、类#方法、类#成员]
+     */
+    public static SOAPMessage formatSoapString(String soapString) {
+        MessageFactory msgFactory;
+        try {
+            msgFactory = MessageFactory.newInstance();
+            SOAPMessage reqMsg = msgFactory.createMessage(new MimeHeaders(),
+                    new ByteArrayInputStream(soapString.getBytes("UTF-8")));
+            reqMsg.saveChanges();
+            return reqMsg;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    private static JSONObject PrintBody(Iterator<SOAPElement> iterator, String side) {
+        JSONObject result = null;
+        JSONObject xmlJSONObj = null;
+        while (iterator.hasNext()) {
+            Object o=iterator.next();
+            if(o!=null)  {
+                SOAPElement element=null;
+                try{
+                    element = (SOAPElement) o;
+//                    System.out.println("Node Name:" + element.getNodeName());
+//                    System.out.println("Value:" + element.getValue());
+
+                    if(element.getValue()!=null){
+                        xmlJSONObj = XML.toJSONObject(element.getValue());
+                        if (xmlJSONObj != null){
+                            return xmlJSONObj;
+                        }
+                    }
+
+                }catch(Exception e){}
+                if ( element !=null) {
+                    result = PrintBody(element.getChildElements(), side + "-----");
+                }
+
+            }
+        }
+        return result;
+    }
+
+}

+ 28 - 0
zwww-service/src/main/java/cn/com/taiji/dataService/utils/StringProducer.java

@@ -0,0 +1,28 @@
+package cn.com.taiji.dataService.utils;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.kafka.clients.producer.RecordMetadata;
+import org.springframework.kafka.core.KafkaTemplate;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Objects;
+
+@Component
+@Slf4j
+public class StringProducer {
+
+    @Resource
+    private KafkaTemplate<String, String> kafkaTemplate;
+
+    public void sendMessage(String topic, String jsonStr) {
+        kafkaTemplate.send(topic, jsonStr)
+                .addCallback(success -> {
+                    if (Objects.nonNull(success)) {
+                        RecordMetadata metadata = success.getRecordMetadata();
+                        log.info("生产者成功发送数据到kafka!topic: {}, partition: {}, offset: {}, json:{}",
+                                metadata.topic(), metadata.partition(), metadata.offset(), jsonStr);
+                    }
+                }, failure -> log.error("发送数据失败,失败原因为: {}", failure.getMessage()));
+    }
+}

+ 60 - 0
zwww-service/src/main/resources/application-zwww.yml

@@ -0,0 +1,60 @@
+server:
+  port: 9998
+
+spring:
+  kafka:
+    bootstrap-servers: kafka.server:29092
+    #    bootstrap-servers: 10.112.89.239:9092
+    #bootstrap-servers: localhost:9092
+    producer:
+      # 发生错误后,消息重发的次数。
+      retries: 0
+      #当有多个消息需要被发送到同一个分区时,生产者会把它们放在同一个批次里。该参数指定了一个批次可以使用的内存大小,按照字节数计算。
+      batch-size: 16384
+      # 设置生产者内存缓冲区的大小。
+      buffer-memory: 33554432
+      # 键的序列化方式
+      key-serializer: org.apache.kafka.common.serialization.StringSerializer
+      # 值的序列化方式
+      value-serializer: org.apache.kafka.common.serialization.StringSerializer
+      # acks=0 : 生产者在成功写入消息之前不会等待任何来自服务器的响应。
+      # acks=1 : 只要集群的首领节点收到消息,生产者就会收到一个来自服务器成功响应。
+      # acks=all :只有当所有参与复制的节点全部收到消息时,生产者才会收到一个来自服务器的成功响应。
+      acks: 1
+    listener:
+      # 在侦听器容器中运行的线程数。
+      concurrency: 5
+      #listner负责ack,每调用一次,就立即commit
+      ack-mode: manual_immediate
+      missing-topics-fatal: false
+
+  redis:
+    host: 127.0.0.1
+    port: 6379
+    database: 1
+    timeout: 10s
+
+  rabbitmq:
+    host: 10.110.33.6
+    port: 6005
+    username: root
+    password: kHkeRBIC
+
+taiji:
+  ak1: AK3aa44d2fc93e44bfb1089a9693a9091f  #打私办
+  sk1: SK608e9dd1360649658868199bda4611e8
+  api1: DZZW_DSB_JDJK_QQCS_DSSJ
+  ak2: AK6fabf1afe47e4b7baf4083469a95c839 #国家邮政局 寄件
+  sk2: SK17a6deeeadb34ef196387e73f5445934
+  api2: gjyzj_kdjjcxjk
+  ak3: AK4520bf99ded14ac2822bdce75b09926e
+  sk3: SKa2c7159bfbbc4d41a7f858e6892ac6e5
+  api3: gjyzj_kdjjcxjgjk
+  topic: hnsgYzKuaiDi
+
+  ak4: AK8fa51d33d1f941beaba15ef146185186 #国家邮政局_快递收件查询接口(协查函)
+  sk4: SK6ca16b0b8cf54fba8208410a598fcd1d
+  api4: gjyzj_kdsjcxjk
+  ak5: AK1a2073a397034645a830cacd395549bc #国家邮政局_快递收件查询结果接口(结果反馈)
+  sk5: SKd1aebd2feb2b407dbd86afc711e80db5
+  api5: gjyzj_kdsjcxjgjk

+ 5 - 0
zwww-service/src/main/resources/application.yml

@@ -0,0 +1,5 @@
+spring:
+  profiles:
+    active: zwww
+  application:
+    name: data-service

BIN
zwww-service/src/main/resources/lib/apione-http-client-1.0.0-SNAPSHOT.jar