Browse Source

改动

wuyuan
吴远 2 months ago
parent
commit
0f8f8603ba
  1. 1
      dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/api/IHttpWaylineService.java
  2. 2
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java
  3. 1
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java
  4. 5
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKDeviceService.java
  5. 14
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineFileController.java
  6. 2
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineFileDTO.java
  7. 2
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java
  8. 4
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java
  9. 9
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java

1
dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/api/IHttpWaylineService.java

@ -48,6 +48,7 @@ public interface IHttpWaylineService {
HttpResultResponse<PaginationData<GetWaylineListResponse>> getWaylineList(
@Valid @ParameterObject GetWaylineListRequest request,
@PathVariable(name = "workspace_id") String workspaceId,
@PathVariable(name = "proIds") List<Integer> proIds,
HttpServletRequest req, HttpServletResponse rsp);
/**

2
dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java

@ -102,7 +102,7 @@ public class DeviceDTO {
private String tenantId;
@Schema(description = "项目ID")
private String proId;
private Integer proId;
@Schema(description = "项目ID")
private DeviceProEntity deviceProEntity;

1
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java

@ -710,6 +710,7 @@ public class DeviceServiceImpl implements IDeviceService {
.compatibleStatus(dto.getFirmwareStatus() == null ? null :
DeviceFirmwareStatusEnum.CONSISTENT_UPGRADE != dto.getFirmwareStatus())
.deviceDesc(dto.getDeviceDesc())
.proId(dto.getProId() == null ? null : dto.getProId())
.build();
}
}

5
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKDeviceService.java

@ -2,6 +2,7 @@ package org.dromara.sample.manage.service.impl;
import cn.hutool.core.util.ObjectUtil;
import org.dromara.common.redis.utils.RedisOpsUtils;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.sdk.cloudapi.device.*;
import org.dromara.common.sdk.cloudapi.device.api.AbstractDeviceService;
import org.dromara.common.sdk.cloudapi.psdk.PsdkUiResource;
@ -30,12 +31,15 @@ import org.springframework.util.StringUtils;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
import static org.dromara.common.core.constant.Constants.FLY_COUNT;
/**
* @author sean
* @version 1.7
@ -165,7 +169,6 @@ public class SDKDeviceService extends AbstractDeviceService {
&& request.getData().getDroneChargeState().getCapacityPercent() >= 80 && (remainUpload != null && remainUpload == 0)){
deviceQrtzService.getDeviceQrtzFileEntity(device);
}
deviceRedisService.setDeviceOnline(device);
fillDockOsd(from, request.getData());

14
dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineFileController.java

@ -1,6 +1,7 @@
package org.dromara.sample.wayline.controller;
import io.seata.common.util.CollectionUtils;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
@ -14,6 +15,8 @@ import org.dromara.common.sdk.cloudapi.wayline.*;
import org.dromara.common.sdk.cloudapi.wayline.api.IHttpWaylineService;
import org.dromara.common.sdk.common.HttpResultResponse;
import org.dromara.common.sdk.common.PaginationData;
import org.dromara.sample.manage.mapper.IDeviceProUserMapper;
import org.dromara.sample.manage.service.IDeviceProService;
import org.dromara.sample.wayline.model.dto.WaylineFileDTO;
import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
import org.dromara.sample.wayline.service.IWaylineFileService;
@ -44,6 +47,9 @@ public class WaylineFileController implements IHttpWaylineService {
@Autowired
private IWaylineFileService waylineFileService;
@Autowired
private IDeviceProService deviceProService;
/**
* 根据waylineID删除工作区中的wayline文件
* Delete the wayline file in the workspace according to the wayline id.
@ -65,13 +71,13 @@ public class WaylineFileController implements IHttpWaylineService {
*/
@PostMapping("${url.wayline.prefix}${url.wayline.version}/workspaces/{workspace_id}/waylines/file/{deviceSn}/upload")
@Operation(summary = "导入kmz航路文件。", description = "导入kmz航路文件。")
public HttpResultResponse importKmzFile(@PathVariable(name = "workspace_id") String workspaceId,HttpServletRequest request, MultipartFile file,@PathVariable(name = "deviceSn") String deviceSn) {
public HttpResultResponse importKmzFile(@PathVariable(name = "workspace_id") String workspaceId,HttpServletRequest request, MultipartFile file,@PathVariable(name = "deviceSn") String deviceSn,@PathVariable(name = "proId") Integer proId) {
if (Objects.isNull(file)) {
return HttpResultResponse.error("未收到文件。");
}
LoginUser loginUser = LoginHelper.getLoginUser();
String creator = loginUser.getUsername();
waylineFileService.importKmzFile(file, workspaceId, creator,deviceSn);
waylineFileService.importKmzFile(file, workspaceId, creator,deviceSn,proId);
return HttpResultResponse.success();
}
@ -84,8 +90,8 @@ public class WaylineFileController implements IHttpWaylineService {
* @return
*/
@Override
public HttpResultResponse<PaginationData<GetWaylineListResponse>> getWaylineList(@Valid GetWaylineListRequest request,String workspaceId, HttpServletRequest req, HttpServletResponse rsp) {
PaginationData<GetWaylineListResponse> data = waylineFileService.getWaylinesByParam(workspaceId, request);
public HttpResultResponse<PaginationData<GetWaylineListResponse>> getWaylineList(@Valid GetWaylineListRequest request,String workspaceId, Integer proId, HttpServletRequest req, HttpServletResponse rsp) {
PaginationData<GetWaylineListResponse> data = waylineFileService.getWaylinesByParam(workspaceId, request,proId);
return HttpResultResponse.success(data);
}

2
dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineFileDTO.java

@ -47,4 +47,6 @@ public class WaylineFileDTO {
private Integer fileNo;
private Integer proId;
}

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

@ -69,4 +69,6 @@ public class WaylineFileEntity implements Serializable {
@TableField(exist = false)
private String deviceName;
@TableField("pro_id")
private Integer proId;
}

4
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java

@ -24,7 +24,7 @@ public interface IWaylineFileService {
* @param param
* @return
*/
PaginationData<GetWaylineListResponse> getWaylinesByParam(String workspaceId, GetWaylineListRequest param);
PaginationData<GetWaylineListResponse> getWaylinesByParam(String workspaceId, GetWaylineListRequest param,Integer proId);
/**
* Query the information of this wayline file according to the wayline file id.
@ -81,7 +81,7 @@ public interface IWaylineFileService {
* @param creator
* @return
*/
void importKmzFile(MultipartFile file, String workspaceId, String creator,String deviceSn);
void importKmzFile(MultipartFile file, String workspaceId, String creator,String deviceSn,Integer proId);
String getWaylineIdByFileId(Integer fileId);

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

@ -59,7 +59,7 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
private IWaylineFileMapper mapper;
@Override
public PaginationData<GetWaylineListResponse> getWaylinesByParam(String workspaceId, GetWaylineListRequest param) {
public PaginationData<GetWaylineListResponse> getWaylinesByParam(String workspaceId, GetWaylineListRequest param,Integer proId) {
// Paging Query
Page<WaylineFileEntity> page = mapper.selectPage(
new Page<WaylineFileEntity>(param.getPage(), param.getPageSize()),
@ -84,6 +84,9 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
.and(param.getDeviceSn() != null, wrapper -> {
wrapper.eq(WaylineFileEntity::getDeviceSn, param.getDeviceSn()).or();
})
.and(proId != null, wrapper -> {
wrapper.in(WaylineFileEntity::getProId, proId).or();
})
.like(Objects.nonNull(param.getKey()), WaylineFileEntity::getName, param.getKey())
// There is a risk of SQL injection
.last(Objects.nonNull(param.getOrderBy()), " order by " + param.getOrderBy().toString()));
@ -184,7 +187,7 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
}
@Override
public void importKmzFile(MultipartFile file, String workspaceId, String creator,String deviceSn) {
public void importKmzFile(MultipartFile file, String workspaceId, String creator,String deviceSn,Integer proId) {
Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
if (waylineFileOpt.isEmpty()) {
throw new RuntimeException("文件格式不正确。");
@ -211,6 +214,7 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
}else {
waylineFile.setFileNo(1);
}
waylineFile.setProId(proId);
this.saveWaylineFile(workspaceId, waylineFile);
} catch (IOException e) {
e.printStackTrace();
@ -335,6 +339,7 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
.favorited(file.getFavorited())
.sign(file.getSign())
.deviceSn(file.getDeviceSns().get(0))
.proId(file.getProId())
.build();
}

Loading…
Cancel
Save