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( HttpResultResponse<PaginationData<GetWaylineListResponse>> getWaylineList(
@Valid @ParameterObject GetWaylineListRequest request, @Valid @ParameterObject GetWaylineListRequest request,
@PathVariable(name = "workspace_id") String workspaceId, @PathVariable(name = "workspace_id") String workspaceId,
@PathVariable(name = "proIds") List<Integer> proIds,
HttpServletRequest req, HttpServletResponse rsp); 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; private String tenantId;
@Schema(description = "项目ID") @Schema(description = "项目ID")
private String proId; private Integer proId;
@Schema(description = "项目ID") @Schema(description = "项目ID")
private DeviceProEntity deviceProEntity; 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 : .compatibleStatus(dto.getFirmwareStatus() == null ? null :
DeviceFirmwareStatusEnum.CONSISTENT_UPGRADE != dto.getFirmwareStatus()) DeviceFirmwareStatusEnum.CONSISTENT_UPGRADE != dto.getFirmwareStatus())
.deviceDesc(dto.getDeviceDesc()) .deviceDesc(dto.getDeviceDesc())
.proId(dto.getProId() == null ? null : dto.getProId())
.build(); .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 cn.hutool.core.util.ObjectUtil;
import org.dromara.common.redis.utils.RedisOpsUtils; 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.*;
import org.dromara.common.sdk.cloudapi.device.api.AbstractDeviceService; import org.dromara.common.sdk.cloudapi.device.api.AbstractDeviceService;
import org.dromara.common.sdk.cloudapi.psdk.PsdkUiResource; import org.dromara.common.sdk.cloudapi.psdk.PsdkUiResource;
@ -30,12 +31,15 @@ import org.springframework.util.StringUtils;
import java.sql.SQLException; import java.sql.SQLException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static org.dromara.common.core.constant.Constants.FLY_COUNT;
/** /**
* @author sean * @author sean
* @version 1.7 * @version 1.7
@ -165,7 +169,6 @@ public class SDKDeviceService extends AbstractDeviceService {
&& request.getData().getDroneChargeState().getCapacityPercent() >= 80 && (remainUpload != null && remainUpload == 0)){ && request.getData().getDroneChargeState().getCapacityPercent() >= 80 && (remainUpload != null && remainUpload == 0)){
deviceQrtzService.getDeviceQrtzFileEntity(device); deviceQrtzService.getDeviceQrtzFileEntity(device);
} }
deviceRedisService.setDeviceOnline(device); deviceRedisService.setDeviceOnline(device);
fillDockOsd(from, request.getData()); 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; 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.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest; 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.cloudapi.wayline.api.IHttpWaylineService;
import org.dromara.common.sdk.common.HttpResultResponse; import org.dromara.common.sdk.common.HttpResultResponse;
import org.dromara.common.sdk.common.PaginationData; 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.dto.WaylineFileDTO;
import org.dromara.sample.wayline.model.entity.WaylineFileEntity; import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
import org.dromara.sample.wayline.service.IWaylineFileService; import org.dromara.sample.wayline.service.IWaylineFileService;
@ -44,6 +47,9 @@ public class WaylineFileController implements IHttpWaylineService {
@Autowired @Autowired
private IWaylineFileService waylineFileService; private IWaylineFileService waylineFileService;
@Autowired
private IDeviceProService deviceProService;
/** /**
* 根据waylineID删除工作区中的wayline文件 * 根据waylineID删除工作区中的wayline文件
* Delete the wayline file in the workspace according to the wayline id. * 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") @PostMapping("${url.wayline.prefix}${url.wayline.version}/workspaces/{workspace_id}/waylines/file/{deviceSn}/upload")
@Operation(summary = "导入kmz航路文件。", description = "导入kmz航路文件。") @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)) { if (Objects.isNull(file)) {
return HttpResultResponse.error("未收到文件。"); return HttpResultResponse.error("未收到文件。");
} }
LoginUser loginUser = LoginHelper.getLoginUser(); LoginUser loginUser = LoginHelper.getLoginUser();
String creator = loginUser.getUsername(); String creator = loginUser.getUsername();
waylineFileService.importKmzFile(file, workspaceId, creator,deviceSn); waylineFileService.importKmzFile(file, workspaceId, creator,deviceSn,proId);
return HttpResultResponse.success(); return HttpResultResponse.success();
} }
@ -84,8 +90,8 @@ public class WaylineFileController implements IHttpWaylineService {
* @return * @return
*/ */
@Override @Override
public HttpResultResponse<PaginationData<GetWaylineListResponse>> getWaylineList(@Valid GetWaylineListRequest request,String workspaceId, HttpServletRequest req, HttpServletResponse rsp) { public HttpResultResponse<PaginationData<GetWaylineListResponse>> getWaylineList(@Valid GetWaylineListRequest request,String workspaceId, Integer proId, HttpServletRequest req, HttpServletResponse rsp) {
PaginationData<GetWaylineListResponse> data = waylineFileService.getWaylinesByParam(workspaceId, request); PaginationData<GetWaylineListResponse> data = waylineFileService.getWaylinesByParam(workspaceId, request,proId);
return HttpResultResponse.success(data); 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 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) @TableField(exist = false)
private String deviceName; 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 * @param param
* @return * @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. * Query the information of this wayline file according to the wayline file id.
@ -81,7 +81,7 @@ public interface IWaylineFileService {
* @param creator * @param creator
* @return * @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); 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; private IWaylineFileMapper mapper;
@Override @Override
public PaginationData<GetWaylineListResponse> getWaylinesByParam(String workspaceId, GetWaylineListRequest param) { public PaginationData<GetWaylineListResponse> getWaylinesByParam(String workspaceId, GetWaylineListRequest param,Integer proId) {
// Paging Query // Paging Query
Page<WaylineFileEntity> page = mapper.selectPage( Page<WaylineFileEntity> page = mapper.selectPage(
new Page<WaylineFileEntity>(param.getPage(), param.getPageSize()), new Page<WaylineFileEntity>(param.getPage(), param.getPageSize()),
@ -84,6 +84,9 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
.and(param.getDeviceSn() != null, wrapper -> { .and(param.getDeviceSn() != null, wrapper -> {
wrapper.eq(WaylineFileEntity::getDeviceSn, param.getDeviceSn()).or(); 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()) .like(Objects.nonNull(param.getKey()), WaylineFileEntity::getName, param.getKey())
// There is a risk of SQL injection // There is a risk of SQL injection
.last(Objects.nonNull(param.getOrderBy()), " order by " + param.getOrderBy().toString())); .last(Objects.nonNull(param.getOrderBy()), " order by " + param.getOrderBy().toString()));
@ -184,7 +187,7 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
} }
@Override @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); Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
if (waylineFileOpt.isEmpty()) { if (waylineFileOpt.isEmpty()) {
throw new RuntimeException("文件格式不正确。"); throw new RuntimeException("文件格式不正确。");
@ -211,6 +214,7 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
}else { }else {
waylineFile.setFileNo(1); waylineFile.setFileNo(1);
} }
waylineFile.setProId(proId);
this.saveWaylineFile(workspaceId, waylineFile); this.saveWaylineFile(workspaceId, waylineFile);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
@ -335,6 +339,7 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
.favorited(file.getFavorited()) .favorited(file.getFavorited())
.sign(file.getSign()) .sign(file.getSign())
.deviceSn(file.getDeviceSns().get(0)) .deviceSn(file.getDeviceSns().get(0))
.proId(file.getProId())
.build(); .build();
} }

Loading…
Cancel
Save