TjTest0823.java 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. package cn.com.taiji.dataService.task;
  2. import cn.com.digitalhainan.apione.sdk.ContentBody;
  3. import cn.com.digitalhainan.apione.sdk.HttpCaller;
  4. import cn.com.digitalhainan.apione.sdk.HttpParameters;
  5. import cn.com.digitalhainan.apione.sdk.HttpReturn;
  6. import cn.com.taiji.dataService.task.NJPMRMTJDataResult;
  7. import cn.com.taiji.dataService.utils.ApioneUtils;
  8. import cn.com.taiji.dataService.utils.ResultHandle;
  9. import cn.com.taiji.dataService.utils.StringProducer;
  10. import cn.hutool.core.date.DateUtil;
  11. import com.alibaba.fastjson.JSON;
  12. import com.alibaba.fastjson.JSONArray;
  13. import lombok.extern.slf4j.Slf4j;
  14. import java.util.HashMap;
  15. import java.util.List;
  16. import java.util.Map;
  17. /**
  18. * 测试代码。可删除
  19. */
  20. @Slf4j
  21. public class TjTest0823 {
  22. public static void main(String[] args) {
  23. String region = "INTRA";
  24. String requestUrl = "https://api-one.digitalhainan.com.cn/apione";
  25. String mediaType="application/json";
  26. String ak_dsb = "AK50976835f38d41bc94349a7bce75fcc8";
  27. String sk_dsb = "SKc08527f892ac475f81e2f5ba440b283b";
  28. String api_dsb = "DZZW_DSB_JDJK_TJLQQCS_DSJJ";
  29. //国家邮政局_内件品名热门统计接口
  30. String ak = "AKefa11a3e59f1448a8e3da49af4c260d5";
  31. String sk = "SK6b6285acbcff49ee922fb3c27e90163f";
  32. String api = "gjyzj_njpmrmtjjk";
  33. //国家邮政局_市县业务量统计接口
  34. String ak1 = "AK06e53764285a45a7abe2493b5daf1604";
  35. String sk1 = "SK63a1a49fac9f4a969c049770be2d97db";
  36. String api1 = "gjyzj_sxywltjjk";
  37. //国家邮政局_收寄件热门城市接口
  38. String ak2 = "AK0bc6087e0e9a4ad597ed26d434c51ec4";
  39. String sk2 = "SKba3f5cf136e04073ae2fcd0f5da9d27f";
  40. String api2 = "gjyzj_sjjrmcsjk";
  41. Map<String, String> headerParamsMap=new HashMap<>();
  42. headerParamsMap.put("Authorization","Bearer 7bee4ad2-1d1f-36e0-b9ab-625a7e495de2");
  43. Map<String, String> queryParamsMap=new HashMap<>();
  44. String date = DateUtil.format(DateUtil.yesterday(), "YYYYMMdd");
  45. String response = DSBJK(ak_dsb, sk_dsb, api_dsb, "query207", "gjyzj_njpmrmtjjk", "20230823");
  46. String response1 = DSBJK(ak_dsb, sk_dsb, api_dsb, "query207", "gjyzj_sxywltjjk", "20230823");
  47. String response2 = DSBJK(ak_dsb, sk_dsb, api_dsb, "query207", "gjyzj_sjjrmcsjk", "20230823");
  48. JSONArray handle = ResultHandle.handle(response);
  49. if(handle!=null){
  50. handle.stream().forEach(obj->{
  51. com.alibaba.fastjson.JSONObject object = JSON.parseObject(obj.toString());
  52. com.alibaba.fastjson.JSONObject param = new com.alibaba.fastjson.JSONObject();
  53. param.put("date",DateUtil.format(DateUtil.parse(object.getString("JDJK_STATISTICS.DATE_TIME")),"YYYY-MM-dd"));
  54. param.put("top",object.getString("JDJK_STATISTICS.TOP"));
  55. param.put("tjType",object.getString("JDJK_STATISTICS.TJTYPE"));
  56. String call = ApioneUtils.call(param.toJSONString(),ak, sk, api, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
  57. NJPMRMTJDataResult njpmrmtjDataResult = JSON.parseObject(call, NJPMRMTJDataResult.class);
  58. if(njpmrmtjDataResult.getCode()==0){
  59. RecSen1 data = njpmrmtjDataResult.getData().getData();
  60. List<Rec1> rec = data.getRec();
  61. for(Rec1 r:rec){
  62. System.out.println(r);
  63. }
  64. List<Rec1> sen = data.getSen();
  65. for(Rec1 r:sen){
  66. System.out.println(r);
  67. }
  68. }
  69. });
  70. }
  71. JSONArray handle1 = ResultHandle.handle(response1);
  72. if(handle1!=null){
  73. handle1.stream().forEach(obj->{
  74. com.alibaba.fastjson.JSONObject object = JSON.parseObject(obj.toString());
  75. com.alibaba.fastjson.JSONObject param = new com.alibaba.fastjson.JSONObject();
  76. param.put("date",DateUtil.format(DateUtil.parse(object.getString("JDJK_STATISTICS.DATE_TIME")),"YYYY-MM-dd"));
  77. String call = ApioneUtils.call(param.toJSONString(),ak1, sk1, api1, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
  78. log.info("call1--{}",call);
  79. });
  80. }
  81. JSONArray handle2 = ResultHandle.handle(response2);
  82. if(handle2!=null){
  83. handle2.stream().forEach(obj->{
  84. com.alibaba.fastjson.JSONObject object = JSON.parseObject(obj.toString());
  85. com.alibaba.fastjson.JSONObject param = new com.alibaba.fastjson.JSONObject();
  86. param.put("date",DateUtil.format(DateUtil.parse(object.getString("JDJK_STATISTICS.DATE_TIME")),"YYYY-MM-dd"));
  87. param.put("top",object.getString("JDJK_STATISTICS.TOP"));
  88. String call = ApioneUtils.call(param.toJSONString(),ak2, sk2, api2, region, requestUrl, mediaType, "", headerParamsMap, queryParamsMap);
  89. log.info("call1--{}",call);
  90. });
  91. }
  92. }
  93. /**
  94. * 打私办请求接口
  95. * @param ak
  96. * @param sk
  97. * @param api
  98. * @param queryID
  99. * @param tableName
  100. * @param date
  101. * @return 接口返回值
  102. */
  103. public static String DSBJK(String ak,String sk,String api,String queryID,String tableName,String date){
  104. String region = "INTRA";
  105. String requestUrl = "https://api-one.digitalhainan.com.cn/apione";
  106. String contentJson = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://server.unimas.com/\">\n" +
  107. " <soapenv:Header/>\n" +
  108. " <soapenv:Body>\n" +
  109. " <ser:query>\n" +
  110. " <in>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n" +
  111. " &lt;search&gt;\n" +
  112. " &lt;appname&gt;"+queryID+"&lt;/appname&gt;\n" +
  113. " &lt;limited&gt;100&lt;/limited&gt;\n" +
  114. " &lt;conditions&gt;\n" +
  115. " &lt;s1f1c2&gt;"+tableName+"&lt;/s1f1c2&gt;\n" +
  116. " &lt;s1f1c1&gt;"+date+"&lt;/s1f1c1&gt;\n" +
  117. " &lt;/conditions&gt;\n" +
  118. " &lt;/search&gt;</in>\n" +
  119. " </ser:query>\n" +
  120. " </soapenv:Body>";
  121. ContentBody contentBody = new ContentBody(contentJson);
  122. //拼装业务信息
  123. HttpParameters parameters = HttpParameters.builder()
  124. .api(api)
  125. .region(region)
  126. // 如果有query参数需要设置
  127. //.queryParamsMap(query)
  128. // 如果有path参数需要设置
  129. //.path(path)
  130. .accessKey(ak)
  131. .secretKey(sk)
  132. .contentBody(contentBody)
  133. .requestUrl(requestUrl)
  134. .build();
  135. // 请求服务接口,获取response
  136. HttpReturn call = HttpCaller.getInstance().call(parameters);
  137. String response = call.getResponse();
  138. System.out.println(response);
  139. return response;
  140. }
  141. }