diff --git a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListRequest.java b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListRequest.java
index 1d6301c..d37f755 100644
--- a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListRequest.java
+++ b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListRequest.java
@@ -25,6 +25,9 @@ public class GetWaylineListRequest {
@Parameter(name = "favorited", description = "路线文件是否已加为收藏?")
private Boolean favorited;
+ @Parameter(name = "deviceSn", description = "设备sn")
+ private String deviceSn;
+
/**
* order(xxx_column desc or xxx_column asc)
* Pilot2 optional value: nameupdate_timecreate_time
diff --git a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/api/IHttpWaylineService.java b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/api/IHttpWaylineService.java
index 98195e1..513f29f 100644
--- a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/api/IHttpWaylineService.java
+++ b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/api/IHttpWaylineService.java
@@ -135,4 +135,27 @@ public interface IHttpWaylineService {
@PathVariable(name = "workspace_id") String workspaceId,
@NotNull @Size(min = 1) @RequestParam(name = "id") List ids,
HttpServletRequest req, HttpServletResponse rsp);
+
+
+
+
+ /**
+ * 根据查询条件查询路径文件的基本数据。
+ * Pilot中的查询条件字段是固定的。
+ * Query the basic data of the wayline file according to the query conditions.
+ * The query condition field in pilot is fixed.
+ * @param request get waylines params
+ * @param req
+ * @param rsp
+ * @return wayline list
+ */
+ @Operation(summary = "获取航线路线列表(带设备查询条件)", description = "根据查询条件査询路线文件的基本数据。飞行员中的查询条件字段是固定的。",
+ parameters = {
+ @Parameter(name = "workspace_id", description = "workspace_id", schema = @Schema(format = "uuid"))
+ })
+ @GetMapping(PREFIX + "/workspaces/{workspace_id}/waylines")
+ HttpResultResponse> getWaylineListNew(
+ @Valid @ParameterObject GetWaylineListRequest request,
+ @PathVariable(name = "workspace_id") String workspaceId,
+ HttpServletRequest req, HttpServletResponse rsp);
}
diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineFileController.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineFileController.java
index 9d9a4ee..89d7c2b 100644
--- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineFileController.java
+++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineFileController.java
@@ -177,6 +177,12 @@ public class WaylineFileController implements IHttpWaylineService {
return isMark ? HttpResultResponse.success() : HttpResultResponse.error();
}
+ @Override
+ public HttpResultResponse> getWaylineListNew(GetWaylineListRequest request, String workspaceId, HttpServletRequest req, HttpServletResponse rsp) {
+ PaginationData data = waylineFileService.getWaylinesByParamNew(workspaceId, request);
+ return HttpResultResponse.success(data);
+ }
+
/**
* 导入 kmz wayline 文件。
* Import kmz wayline files.
diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IWaylineDeviceMapper.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IWaylineDeviceMapper.java
new file mode 100644
index 0000000..ed5f1b0
--- /dev/null
+++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IWaylineDeviceMapper.java
@@ -0,0 +1,13 @@
+package org.dromara.sample.wayline.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.dromara.sample.wayline.model.entity.WaylineDeviceEntity;
+import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
+
+/**
+ * @author sean
+ * @version 0.3
+ * @date 2021/12/22
+ */
+public interface IWaylineDeviceMapper extends BaseMapper {
+}
diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineFileDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineFileDTO.java
index eeb6f0f..e83206b 100644
--- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineFileDTO.java
+++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineFileDTO.java
@@ -40,4 +40,9 @@ public class WaylineFileDTO {
private String username;
private Long updateTime;
+
+ private List deviceSns;
+
+ private String deviceName;
+
}
diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineDeviceEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineDeviceEntity.java
new file mode 100644
index 0000000..33d95a5
--- /dev/null
+++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineDeviceEntity.java
@@ -0,0 +1,39 @@
+package org.dromara.sample.wayline.model.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author sean
+ * @version 0.3
+ * @date 2021/12/22
+ */
+@Data
+@TableName("wayline_device")
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class WaylineDeviceEntity implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @TableField("wayline_id")
+ private String waylineId;
+
+ @TableField("device_sn")
+ private String deviceSn;
+
+ @TableField(value = "create_time", fill = FieldFill.INSERT)
+ private Date createTime;
+
+ @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+ private Date updateTime;
+
+}
diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java
index 871a0cf..95a5a08 100644
--- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java
+++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java
@@ -84,4 +84,13 @@ public interface IWaylineFileService {
void importKmzFile(MultipartFile file, String workspaceId, String creator);
String getWaylineIdByFileId(Integer fileId);
+
+
+ /**
+ * Perform paging queries based on query parameters.
+ * @param workspaceId
+ * @param param
+ * @return
+ */
+ PaginationData getWaylinesByParamNew(String workspaceId, GetWaylineListRequest param);
}
diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java
index b73bc27..5a1f452 100644
--- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java
+++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.seata.common.util.CollectionUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
@@ -20,9 +21,11 @@ import org.dromara.common.sdk.cloudapi.wayline.GetWaylineListResponse;
import org.dromara.common.sdk.cloudapi.wayline.WaylineTypeEnum;
import org.dromara.common.sdk.common.Pagination;
import org.dromara.common.sdk.common.PaginationData;
+import org.dromara.sample.wayline.mapper.IWaylineDeviceMapper;
import org.dromara.sample.wayline.mapper.IWaylineFileMapper;
import org.dromara.sample.wayline.model.dto.KmzFileProperties;
import org.dromara.sample.wayline.model.dto.WaylineFileDTO;
+import org.dromara.sample.wayline.model.entity.WaylineDeviceEntity;
import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
import org.dromara.sample.wayline.service.IWaylineFileService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -57,6 +60,9 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
@Autowired
private IWaylineFileMapper mapper;
+ @Autowired
+ private IWaylineDeviceMapper deviceMapper;
+
@Override
public PaginationData getWaylinesByParam(String workspaceId, GetWaylineListRequest param) {
// Paging Query
@@ -133,6 +139,18 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
}
}
int insertId = mapper.insert(file);
+ //插入航线和设备关联表
+ if (CollectionUtils.isNotEmpty(metadata.getDeviceSns())){
+ for (String sn : metadata.getDeviceSns()){
+ WaylineDeviceEntity entity = new WaylineDeviceEntity();
+ entity.setWaylineId(file.getWaylineId());
+ entity.setDeviceSn(sn);
+ entity.setCreateTime(new Date());
+ entity.setUpdateTime(new Date());
+ insertId = deviceMapper.insert(entity);
+ }
+ }
+
return insertId > 0 ? file.getId() : insertId;
}
@@ -207,6 +225,11 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
return waylineId;
}
+ @Override
+ public PaginationData getWaylinesByParamNew(String workspaceId, GetWaylineListRequest param) {
+ return null;
+ }
+
private Optional validKmzFile(MultipartFile file) {
String filename = file.getOriginalFilename();
if (Objects.nonNull(filename) && !filename.endsWith(WAYLINE_FILE_SUFFIX)) {
diff --git a/pom.xml b/pom.xml
index 699db26..dd822e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@
dev
- wuyuan
+ dev
127.0.0.1:8848
DEFAULT_GROUP
DEFAULT_GROUP