Browse Source

11

pull/1/head
李克 3 months ago
parent
commit
a27add7282
  1. 3
      dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListRequest.java
  2. 23
      dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/api/IHttpWaylineService.java
  3. 6
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineFileController.java
  4. 13
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IWaylineDeviceMapper.java
  5. 5
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineFileDTO.java
  6. 39
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineDeviceEntity.java
  7. 9
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java
  8. 23
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java
  9. 2
      pom.xml

3
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;
/**
* orderxxx_column desc or xxx_column asc)
* Pilot2 optional value: <span>name</span><span>update_time</span><span>create_time</span>

23
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<String> 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<PaginationData<GetWaylineListResponse>> getWaylineListNew(
@Valid @ParameterObject GetWaylineListRequest request,
@PathVariable(name = "workspace_id") String workspaceId,
HttpServletRequest req, HttpServletResponse rsp);
}

6
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<PaginationData<GetWaylineListResponse>> getWaylineListNew(GetWaylineListRequest request, String workspaceId, HttpServletRequest req, HttpServletResponse rsp) {
PaginationData<GetWaylineListResponse> data = waylineFileService.getWaylinesByParamNew(workspaceId, request);
return HttpResultResponse.success(data);
}
/**
* 导入 kmz wayline 文件
* Import kmz wayline files.

13
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<WaylineDeviceEntity> {
}

5
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<String> deviceSns;
private String deviceName;
}

39
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;
}

9
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<GetWaylineListResponse> getWaylinesByParamNew(String workspaceId, GetWaylineListRequest param);
}

23
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<GetWaylineListResponse> 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<GetWaylineListResponse> getWaylinesByParamNew(String workspaceId, GetWaylineListRequest param) {
return null;
}
private Optional<WaylineFileDTO> validKmzFile(MultipartFile file) {
String filename = file.getOriginalFilename();
if (Objects.nonNull(filename) && !filename.endsWith(WAYLINE_FILE_SUFFIX)) {

2
pom.xml

@ -85,7 +85,7 @@
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>wuyuan</profiles.active>
<profiles.active>dev</profiles.active>
<nacos.server>127.0.0.1:8848</nacos.server>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>

Loading…
Cancel
Save