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.task.NJPMRMTJDataResult; 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 java.util.HashMap; import java.util.List; import java.util.Map; /** * 测试代码。可删除 */ @Slf4j public class TjTest0823 { public static void main(String[] args) { 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 headerParamsMap=new HashMap<>(); headerParamsMap.put("Authorization","Bearer 7bee4ad2-1d1f-36e0-b9ab-625a7e495de2"); Map queryParamsMap=new HashMap<>(); String date = DateUtil.format(DateUtil.yesterday(), "YYYYMMdd"); String response = DSBJK(ak_dsb, sk_dsb, api_dsb, "query207", "gjyzj_njpmrmtjjk", "20230823"); String response1 = DSBJK(ak_dsb, sk_dsb, api_dsb, "query207", "gjyzj_sxywltjjk", "20230823"); String response2 = DSBJK(ak_dsb, sk_dsb, api_dsb, "query207", "gjyzj_sjjrmcsjk", "20230823"); 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 rec = data.getRec(); for(Rec1 r:rec){ System.out.println(r); } List sen = data.getSen(); for(Rec1 r:sen){ System.out.println(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); log.info("call1--{}",call); }); } 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); log.info("call1--{}",call); }); } } /** * 打私办请求接口 * @param ak * @param sk * @param api * @param queryID * @param tableName * @param date * @return 接口返回值 */ public static 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 = "\n" + " \n" + " \n" + " \n" + " <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + " <search>\n" + " <appname>"+queryID+"</appname>\n" + " <limited>100</limited>\n" + " <conditions>\n" + " <s1f1c2>"+tableName+"</s1f1c2>\n" + " <s1f1c1>"+date+"</s1f1c1>\n" + " </conditions>\n" + " </search>\n" + " \n" + " "; 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(); System.out.println(response); return response; } }