Compare commits

...

8 Commits

  1. 11
      dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListRequest.java
  2. 15
      dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListResponse.java
  3. 18
      dk-modules/sample/src/main/java/org/dromara/sample/media/controller/FileController.java
  4. 14
      dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaFileDTO.java
  5. 11
      dk-modules/sample/src/main/java/org/dromara/sample/media/service/IFileService.java
  6. 22
      dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java
  7. 8
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IWaylineFileMapper.java
  8. 4
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java
  9. 13
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java
  10. 23
      dk-modules/sample/src/main/resources/mapper/WaylineDeviceMapper.xml

11
dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListRequest.java

@ -25,6 +25,7 @@ public class GetWaylineListRequest {
@Parameter(name = "favorited", description = "路线文件是否已加为收藏?") @Parameter(name = "favorited", description = "路线文件是否已加为收藏?")
private Boolean favorited; private Boolean favorited;
@JsonProperty("device_sn")
@Parameter(name = "deviceSn", description = "设备sn") @Parameter(name = "deviceSn", description = "设备sn")
private String deviceSn; private String deviceSn;
@ -105,6 +106,7 @@ public class GetWaylineListRequest {
", actionType=" + actionType + ", actionType=" + actionType +
", droneModelKeys=" + droneModelKeys + ", droneModelKeys=" + droneModelKeys +
", payloadModelKey=" + payloadModelKey + ", payloadModelKey=" + payloadModelKey +
", deviceSn=" + deviceSn +
", key='" + key + '\'' + ", key='" + key + '\'' +
'}'; '}';
} }
@ -189,4 +191,13 @@ public class GetWaylineListRequest {
this.key = key; this.key = key;
return this; return this;
} }
public String getDeviceSn() {
return deviceSn;
}
public GetWaylineListRequest setDeviceSn(String deviceSn) {
this.deviceSn = deviceSn;
return this;
}
} }

15
dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListResponse.java

@ -109,6 +109,10 @@ public class GetWaylineListResponse extends BaseModel {
public GetWaylineListResponse() { public GetWaylineListResponse() {
} }
@JsonProperty("device_name")
@Parameter(name = "device_name", description = "设备名称", example = "1")
private String deviceName;
@Override @Override
public String toString() { public String toString() {
return "GetWaylineListResponse{" + return "GetWaylineListResponse{" +
@ -124,6 +128,7 @@ public class GetWaylineListResponse extends BaseModel {
", updateTime=" + updateTime + ", updateTime=" + updateTime +
", createTime=" + createTime + ", createTime=" + createTime +
", actionType=" + actionType + ", actionType=" + actionType +
", deviceName=" + deviceName +
'}'; '}';
} }
@ -234,4 +239,14 @@ public class GetWaylineListResponse extends BaseModel {
this.actionType = actionType; this.actionType = actionType;
return this; return this;
} }
public String getDeviceName() {
return deviceName;
}
public GetWaylineListResponse setDeviceName(String deviceName) {
this.deviceName = deviceName;
return this;
}
} }

18
dk-modules/sample/src/main/java/org/dromara/sample/media/controller/FileController.java

@ -61,4 +61,22 @@ public class FileController {
e.printStackTrace(); e.printStackTrace();
} }
} }
/**
* 根据工作区id获取此工作区中所有媒体文件的信息
* Get information about all the media files in this workspace based on the workspace id.
* @return
*/
@GetMapping("/{workspace_id}/getFilesByJobId/{job_id}")
@Operation(summary = "根据任务id获取此所有媒体文件的信息。", description = "根据任务id获取此所有媒体文件的信息。")
public HttpResultResponse<PaginationData<MediaFileDTO>> getFilesByJobId(@RequestParam(name = "pageNum", defaultValue = "1") Long page,
@RequestParam(name = "pageSize", defaultValue = "10") Long pageSize,
@PathVariable(name = "workspace_id") String workspaceId,
@PathVariable(name = "job_id") String jobId) {
PaginationData<MediaFileDTO> filesList = fileService.getMediaFilesPaginationByJobId(workspaceId, page, pageSize,jobId);
for (MediaFileDTO mediaFileDTO :filesList.getList()){
mediaFileDTO.setUrl(fileService.getObjectUrl(workspaceId, mediaFileDTO.getFileId()).toString());
}
return HttpResultResponse.success(filesList);
}
} }

14
dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaFileDTO.java

@ -51,5 +51,19 @@ public class MediaFileDTO {
private Date createTime; private Date createTime;
private Double lat;
private Double lng;
private String fileType;
private String fileStatus;
private Double absoluteAltitude;
private Double relativeAltitude;
private String jobId; private String jobId;
private String url;
} }

11
dk-modules/sample/src/main/java/org/dromara/sample/media/service/IFileService.java

@ -62,4 +62,15 @@ public interface IFileService {
* @return * @return
*/ */
List<MediaFileDTO> getFilesByWorkspaceAndJobId(String workspaceId, String jobId); List<MediaFileDTO> getFilesByWorkspaceAndJobId(String workspaceId, String jobId);
/**
* Paginate through all media files in this workspace.
* @param workspaceId
* @param page
* @param pageSize
* @return
*/
PaginationData<MediaFileDTO> getMediaFilesPaginationByJobId(String workspaceId, long page, long pageSize,String JobId);
} }

22
dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java

@ -127,6 +127,22 @@ public class FileServiceImpl implements IFileService {
.map(this::entityConvertToDto).collect(Collectors.toList()); .map(this::entityConvertToDto).collect(Collectors.toList());
} }
@Override
public PaginationData<MediaFileDTO> getMediaFilesPaginationByJobId(String workspaceId, long page, long pageSize, String JobId) {
Page<MediaFileEntity> pageData = mapper.selectPage(
new Page<MediaFileEntity>(page, pageSize),
new LambdaQueryWrapper<MediaFileEntity>()
.eq(MediaFileEntity::getWorkspaceId, workspaceId)
.eq(MediaFileEntity::getJobId, JobId)
.orderByDesc(MediaFileEntity::getId));
List<MediaFileDTO> records = pageData.getRecords()
.stream()
.map(this::entityConvertToDto)
.collect(Collectors.toList());
return new PaginationData<MediaFileDTO>(records, new Pagination(pageData.getCurrent(), pageData.getSize(), pageData.getTotal()));
}
/** /**
* Convert the received file object into a database entity object. * Convert the received file object into a database entity object.
* @param file * @param file
@ -186,6 +202,12 @@ public class FileServiceImpl implements IFileService {
.payload(entity.getPayload()) .payload(entity.getPayload())
.createTime(entity.getCreateTime()) .createTime(entity.getCreateTime())
.drone(entity.getDrone()) .drone(entity.getDrone())
.lat(entity.getLat())
.lng(entity.getLng())
.absoluteAltitude(entity.getAbsoluteAltitude())
.relativeAltitude(entity.getRelativeAltitude())
.fileType(entity.getFileType())
.fileStatus(entity.getFileStatus())
.jobId(entity.getJobId()); .jobId(entity.getJobId());
} }

8
dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IWaylineFileMapper.java

@ -1,6 +1,12 @@
package org.dromara.sample.wayline.mapper; package org.dromara.sample.wayline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.sdk.cloudapi.wayline.GetWaylineListRequest;
import org.dromara.sample.wayline.model.dto.AiCompareQueueDTO;
import org.dromara.sample.wayline.model.entity.AiCompareQueueEntity;
import org.dromara.sample.wayline.model.entity.WaylineFileEntity; import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
/** /**
@ -9,4 +15,6 @@ import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
* @date 2021/12/22 * @date 2021/12/22
*/ */
public interface IWaylineFileMapper extends BaseMapper<WaylineFileEntity> { public interface IWaylineFileMapper extends BaseMapper<WaylineFileEntity> {
Page<WaylineFileEntity> getPage(@Param("param") GetWaylineListRequest param, @Param("page") Page<?> page);
} }

4
dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java

@ -32,6 +32,7 @@ public class WaylineFileEntity implements Serializable {
@TableField("device_sn") @TableField("device_sn")
private String deviceSn; private String deviceSn;
@TableField("drone_model_key") @TableField("drone_model_key")
private String droneModelKey; private String droneModelKey;
@ -65,4 +66,7 @@ public class WaylineFileEntity implements Serializable {
@TableField(value = "file_no") @TableField(value = "file_no")
private String fileNo; private String fileNo;
@TableField(exist = false)
private String deviceName;
} }

13
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java

@ -90,7 +90,6 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
.stream() .stream()
.map(this::entityConvertToDTO) .map(this::entityConvertToDTO)
.collect(Collectors.toList()); .collect(Collectors.toList());
return new PaginationData<>(records, new Pagination(page.getCurrent(), page.getSize(), page.getTotal())); return new PaginationData<>(records, new Pagination(page.getCurrent(), page.getSize(), page.getTotal()));
} }
@ -225,7 +224,16 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
@Override @Override
public PaginationData<GetWaylineListResponse> getWaylinesByParamNew(String workspaceId, GetWaylineListRequest param) { public PaginationData<GetWaylineListResponse> getWaylinesByParamNew(String workspaceId, GetWaylineListRequest param) {
return null; Page<WaylineFileEntity> waylineFileEntityPage = new Page<>(param.getPage(), param.getPageSize());
Page<WaylineFileEntity> page = mapper.getPage(param,waylineFileEntityPage);
// Wrap the results of a paging query into a custom paging object.
List<GetWaylineListResponse> records = page.getRecords()
.stream()
.map(this::entityConvertToDTO)
.collect(Collectors.toList());
return new PaginationData<>(records, new Pagination(page.getCurrent(), page.getSize(), page.getTotal()));
} }
private Optional<WaylineFileDTO> validKmzFile(MultipartFile file) { private Optional<WaylineFileDTO> validKmzFile(MultipartFile file) {
@ -296,6 +304,7 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
.setUsername(entity.getUsername()) .setUsername(entity.getUsername())
.setObjectKey(entity.getObjectKey()) .setObjectKey(entity.getObjectKey())
.setSign(entity.getSign()) .setSign(entity.getSign())
.setDeviceName(entity.getDeviceName())
.setUpdateTime(entity.getUpdateTime()) .setUpdateTime(entity.getUpdateTime())
.setCreateTime(entity.getCreateTime()) .setCreateTime(entity.getCreateTime())
.setId(entity.getWaylineId()); .setId(entity.getWaylineId());

23
dk-modules/sample/src/main/resources/mapper/WaylineDeviceMapper.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.sample.wayline.mapper.IWaylineFileMapper">
<select id="getPage"
resultType="org.dromara.sample.wayline.model.entity.WaylineFileEntity">
SELECT
wf.* ,GROUP_CONCAT(md.device_name SEPARATOR ',') AS deviceName
FROM
wayline_file wf
LEFT JOIN wayline_device wd ON wd.wayline_id = wf.wayline_id
LEFT JOIN manage_device md ON md.device_sn = wd.device_sn
where 1=1
<if test="param.deviceSn != null and param.deviceSn != ''">
AND wd.device_sn = #{param.deviceSn}
</if>
GROUP BY wf.wayline_id
</select>
</mapper>
Loading…
Cancel
Save