feat(material-task): 补全刷新采集任务逻辑

This commit is contained in:
han0
2024-01-05 11:02:01 +08:00
parent 5044c07eb9
commit ab52e5d7db
6 changed files with 29 additions and 46 deletions

View File

@@ -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;

View File

@@ -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<NcHttpResponse<List<JsonObject>>> 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<ResponseBody> splitRemoteSensingImageSingleSync(@Body PointRangeMsg jsonObject);
@POST("/split/remote-sensing-image/multi/sync")
Call<ResponseBody> splitRemoteSensingImageMultiSync(@Body JSONArray points);
@Multipart
@POST("/tools/parse-point-range/kml")
Call<JSONObject> toolsParsePointRangeKml(@Part() MultipartBody.Part files);
@Multipart
@POST("/tools/convert")
Call<ResponseBody> convert(@Part() MultipartBody.Part files, @Query("to_crs") String toCRS, @Query("format") String format);
@POST("/tools/create-shape/fe-data")
Call<ResponseBody> createShapeByFeData(@Body JSONObject feData);
@Multipart
@POST("/landuse/import-data/async")
Call<JSONObject> 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<NcHttpResponse<JsonObject>> refreshTask(
@Path(value = "task_id") String task_id
);
}

View File

@@ -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<DataToolApi> {
@@ -22,11 +20,10 @@ public class DataToolService implements ApiService<DataToolApi> {
this.api = this.initApi(apiHostProperty.getDataTool());
}
public NcHttpResponse<List<JsonObject>> listDataByTask (Integer type, String id, Integer limit, Integer page) throws Exception {
var call = this.api.listDataByTask(type, id, limit, page);
public NcHttpResponse<JsonObject> refreshTask (String taskId) throws Exception {
var call = this.api.refreshTask(taskId);
var response = this.getResponse(call).body();
return response;
}
}

View File

@@ -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<Page<MaterialTask>> 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();
}
}

View File

@@ -19,4 +19,4 @@ main:
api:
host:
data-tool: http://localhost:50000
data-tool: http://localhost:7778

View File

@@ -19,4 +19,4 @@ main:
api:
host:
data-tool: http://192.168.1.3:50000
data-tool: http://192.168.1.3:7778