From b7d850c0a8d3e202b149f4f36749b3e6b007dc12 Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 2 Apr 2023 10:46:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=89=E5=8F=96=E4=BB=BB=E5=8A=A1=E6=8B=86?= =?UTF-8?q?=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/idc/service/IdcService.java | 2 +- .../api/idc/service/impl/IdcServiceImpl.java | 39 +++++++++++++++---- .../AsyncFetchUdiTask.java} | 6 +-- 3 files changed, 35 insertions(+), 12 deletions(-) rename src/main/java/com/glxp/api/{idc/thread/AsyncFetchTask.java => task/AsyncFetchUdiTask.java} (91%) diff --git a/src/main/java/com/glxp/api/idc/service/IdcService.java b/src/main/java/com/glxp/api/idc/service/IdcService.java index 5de3dd406..320b0694f 100644 --- a/src/main/java/com/glxp/api/idc/service/IdcService.java +++ b/src/main/java/com/glxp/api/idc/service/IdcService.java @@ -24,7 +24,7 @@ public interface IdcService { BaseResponse download(HttpServletRequest request,Map params); public void asyncFetchTask(); - + public void asyncFetchUdiTask(); BaseResponse downlaodSuccess(HttpServletRequest request,Map params); public void asyncIdcTask(); diff --git a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java index 3cb046088..5f22d97d0 100644 --- a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java +++ b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java @@ -130,12 +130,29 @@ public class IdcServiceImpl implements IdcService { /*拉取前一级中继服务数据*/ @Async @Override + public void asyncFetchUdiTask() { + fetchTask(false); + } + @Async + @Override public void asyncFetchTask() { - - Map query = new HashMap(); + fetchTask(true); + + + } + + + private void fetchTask(boolean isIdc) { String host = getNextHost(); + if(!isIdc) { + Map map = dbDao.get("select * from sync_data_set limit 1"); + if(map!=null&&map.get("syncIp")!=null) + host = map.get("syncIp").toString(); + } + logger.info("fetch from ip:"+host); if(!StringUtils.isEmpty(host)) { - String result = post(host+"/spssync/common/list",query); + String result = post(host+"/spssync/common/list",null); + logger.info("fetchTask--->"+result); if(IDCUtils.isJson(result)) { JSONObject json = JSON.parseObject(result); if(json!=null&&json.getInteger("code")==20000&&json.getString("data")!=null) { @@ -144,15 +161,14 @@ public class IdcServiceImpl implements IdcService { for(Map map:list) { Map params = new HashMap(); params.put("taskId", map.get("taskId")); - fetchData(host+"/spssync/common/list",params); + fetchData(host+"/spssync/common/download",params); } } } } } - } - + @Async @Override public void asyncIdcTask() { @@ -249,6 +265,7 @@ public class IdcServiceImpl implements IdcService { boolean success=true; Response response = client.newCall(request).execute(); result = response.body().string(); + logger.info("fetchData-->"+result); JSONObject json = JSONObject.parseObject(result); if(isLastLevel()) { success = analyToDB(json,files); @@ -265,6 +282,7 @@ public class IdcServiceImpl implements IdcService { } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); + logger.error("fetchData-->"+e.getMessage()); } return result; } @@ -273,7 +291,9 @@ public class IdcServiceImpl implements IdcService { OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(params)); + RequestBody body = RequestBody.create(mediaType, ""); + if(params!=null) + body = RequestBody.create(mediaType,JSON.toJSONString(params)); Request request = new Request.Builder() .url(url) .method("POST", body) @@ -282,7 +302,8 @@ public class IdcServiceImpl implements IdcService { String result = ""; try { Response response = client.newCall(request).execute(); - result = response.body().toString(); + result = response.body().string(); + logger.info("post-result-->"+result); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -567,7 +588,9 @@ public class IdcServiceImpl implements IdcService { map.put("taskId", json.get("messageId")); map.put("cacheFilePath", fileName); map.put("status", success ? "1" : "0"); + saveExportStatus(map); + } diff --git a/src/main/java/com/glxp/api/idc/thread/AsyncFetchTask.java b/src/main/java/com/glxp/api/task/AsyncFetchUdiTask.java similarity index 91% rename from src/main/java/com/glxp/api/idc/thread/AsyncFetchTask.java rename to src/main/java/com/glxp/api/task/AsyncFetchUdiTask.java index 9312f3c83..7b3ea770f 100644 --- a/src/main/java/com/glxp/api/idc/thread/AsyncFetchTask.java +++ b/src/main/java/com/glxp/api/task/AsyncFetchUdiTask.java @@ -1,4 +1,4 @@ -package com.glxp.api.idc.thread; +package com.glxp.api.task; import javax.annotation.Resource; @@ -18,9 +18,9 @@ import com.glxp.api.req.system.ScheduledRequest; @Component @EnableScheduling -public class AsyncFetchTask implements SchedulingConfigurer { +public class AsyncFetchUdiTask implements SchedulingConfigurer { - final Logger logger = LoggerFactory.getLogger(AsyncFetchTask.class); + final Logger logger = LoggerFactory.getLogger(AsyncFetchUdiTask.class); @Resource private ScheduledDao scheduledDao;