diff --git a/src/main/java/mjkf/xinke/main/service/ApiService.java b/src/main/java/mjkf/xinke/main/common/api/ApiService.java similarity index 98% rename from src/main/java/mjkf/xinke/main/service/ApiService.java rename to src/main/java/mjkf/xinke/main/common/api/ApiService.java index 5a935ac..0e72dfc 100644 --- a/src/main/java/mjkf/xinke/main/service/ApiService.java +++ b/src/main/java/mjkf/xinke/main/common/api/ApiService.java @@ -1,4 +1,4 @@ -package mjkf.xinke.main.service; +package mjkf.xinke.main.common.api; import com.jgy.xxs.core.http.exp.NcHttpException; import mjkf.xinke.main.constant.HttpErrorResponseEnum; diff --git a/src/main/java/mjkf/xinke/main/common/api/DataToolApi.java b/src/main/java/mjkf/xinke/main/common/api/DataToolApi.java index 6961861..c076abf 100644 --- a/src/main/java/mjkf/xinke/main/common/api/DataToolApi.java +++ b/src/main/java/mjkf/xinke/main/common/api/DataToolApi.java @@ -1,48 +1,14 @@ package mjkf.xinke.main.common.api; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.google.gson.JsonObject; import com.jgy.xxs.core.http.resp.NcHttpResponse; -import okhttp3.MultipartBody; -import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.http.*; -import java.util.List; - public interface DataToolApi { - - @GET("/data/by-task") - Call>> listDataByTask( - @Query("type") Integer type, @Query("id") String id, - @Query("limit") Integer limit, @Query("page") Integer page - ); - -// @POST("/split/remote-sensing-image/single/sync") -// Call splitRemoteSensingImageSingleSync(@Body PointRangeMsg jsonObject); - - @POST("/split/remote-sensing-image/multi/sync") - Call splitRemoteSensingImageMultiSync(@Body JSONArray points); - - @Multipart - @POST("/tools/parse-point-range/kml") - Call toolsParsePointRangeKml(@Part() MultipartBody.Part files); - - @Multipart - @POST("/tools/convert") - Call convert(@Part() MultipartBody.Part files, @Query("to_crs") String toCRS, @Query("format") String format); - - @POST("/tools/create-shape/fe-data") - Call createShapeByFeData(@Body JSONObject feData); - - @Multipart - @POST("/landuse/import-data/async") - Call importLanduseDataAsync( - @Part() MultipartBody.Part files, @Query("cm") Double cm, @Query("project_id") Long projectId, - @Query("project_no") String projectNo, @Query("project_name") String projectName, - @Query("creator_id") String creatorId, @Query("creator_name") String creatorName, - @Query("building_tolerance") Double buildingTolerance + @GET("/data/task/{task_id}/refresh") + Call> refreshTask( + @Path(value = "task_id") String task_id ); } diff --git a/src/main/java/mjkf/xinke/main/service/DataToolService.java b/src/main/java/mjkf/xinke/main/common/api/DataToolService.java similarity index 67% rename from src/main/java/mjkf/xinke/main/service/DataToolService.java rename to src/main/java/mjkf/xinke/main/common/api/DataToolService.java index a9a8697..6855a09 100644 --- a/src/main/java/mjkf/xinke/main/service/DataToolService.java +++ b/src/main/java/mjkf/xinke/main/common/api/DataToolService.java @@ -1,14 +1,12 @@ -package mjkf.xinke.main.service; +package mjkf.xinke.main.common.api; import com.google.gson.JsonObject; import com.jgy.xxs.core.http.resp.NcHttpResponse; -import mjkf.xinke.main.common.api.DataToolApi; import mjkf.xinke.main.common.property.ApiHostProperty; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import javax.annotation.Resource; -import java.util.List; @Service public class DataToolService implements ApiService { @@ -22,11 +20,10 @@ public class DataToolService implements ApiService { this.api = this.initApi(apiHostProperty.getDataTool()); } - public NcHttpResponse> listDataByTask (Integer type, String id, Integer limit, Integer page) throws Exception { - var call = this.api.listDataByTask(type, id, limit, page); + public NcHttpResponse refreshTask (String taskId) throws Exception { + var call = this.api.refreshTask(taskId); var response = this.getResponse(call).body(); return response; } - } diff --git a/src/main/java/mjkf/xinke/main/controller/MaterialTaskController.java b/src/main/java/mjkf/xinke/main/controller/MaterialTaskController.java index b2e711e..b09c5fd 100644 --- a/src/main/java/mjkf/xinke/main/controller/MaterialTaskController.java +++ b/src/main/java/mjkf/xinke/main/controller/MaterialTaskController.java @@ -2,12 +2,16 @@ package mjkf.xinke.main.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jgy.xxs.core.http.exp.NcHttpException; import com.jgy.xxs.core.http.resp.HttpResponse; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import mjkf.xinke.auth.core.util.StpLoginUserUtil; import mjkf.xinke.common.pojo.CommonResult; +import mjkf.xinke.main.common.api.DataToolService; import mjkf.xinke.main.common.http.FuHttpResponse; +import mjkf.xinke.main.constant.HttpErrorResponseEnum; +import mjkf.xinke.main.constant.MaterialTaskType; import mjkf.xinke.main.model.db.MaterialTask; import mjkf.xinke.main.model.vo.MaterialTaskCreateRequest; import mjkf.xinke.main.service.MaterialTaskService; @@ -31,6 +35,9 @@ public class MaterialTaskController { @Resource MaterialTaskService materialTaskService; + @Resource + DataToolService dataToolService; + @ApiOperation("获取采集任务列表") @GetMapping("/") public CommonResult> list( @@ -70,6 +77,19 @@ public class MaterialTaskController { public HttpResponse refresh( @PathVariable String id ) throws Exception { + var result = materialTaskService.getById(id); + if (result == null) { + throw new NcHttpException(HttpErrorResponseEnum.MATERIAL_TASK_NOT_FOUND); + } + + var type = result.getType(); + if (MaterialTaskType.isFromSpider(type)) { + var resp = dataToolService.refreshTask(id); + if (resp.getMeta().getCode() != 200) { + return resp; + } + } + return FuHttpResponse.Builder().dataResponse().build(); } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 995f7cf..c69ca93 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -19,4 +19,4 @@ main: api: host: - data-tool: http://localhost:50000 \ No newline at end of file + data-tool: http://localhost:7778 \ No newline at end of file diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 13f534e..4409f30 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -19,4 +19,4 @@ main: api: host: - data-tool: http://192.168.1.3:50000 \ No newline at end of file + data-tool: http://192.168.1.3:7778 \ No newline at end of file