| | |
| | | |
| | | @TableField("examine") |
| | | private Integer examine; |
| | | |
| | | @TableField("job_name") |
| | | private String jobName; |
| | | |
| | | @TableField(value = "drone_data", typeHandler = FastjsonTypeHandler.class) |
| | | private Object droneData; |
| | | |
| | | } |
| | | |
| | |
| | | * @param file |
| | | * @return |
| | | */ |
| | | Integer saveFile(String workspaceId, FileUploadDTO file); |
| | | Integer saveFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException; |
| | | |
| | | /** |
| | | * 存储水印图片 |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Integer saveFile(String workspaceId, FileUploadDTO file) { |
| | | public Integer saveFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException { |
| | | MediaFileEntity fileEntity = this.fileUploadConvertToEntity(file); |
| | | fileEntity.setWorkspaceId(workspaceId); |
| | | fileEntity.setFileId(UUID.randomUUID().toString()); |
| | | String url = pojo.getEndpoint() + "/" + pojo.getBucket() + file.getObjectKey(); |
| | | File file1 = TbFjServiceImpl.downloadFile(url); |
| | | Object data = ImgUtil.getInfo(file1); |
| | | fileEntity.setDroneData(data); |
| | | return mapper.insert(fileEntity); |
| | | } |
| | | |
| | |
| | | if (entity != null) { |
| | | return entity.get(0).getDronedata(); |
| | | } else { |
| | | return "该图片信息正在加载"; |
| | | List<MediaFileEntity> entitys = mapper.selectList(new LambdaQueryWrapper<MediaFileEntity>() |
| | | .eq(MediaFileEntity::getFileName, name)); |
| | | return entitys.get(0).getDroneData(); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Integer saveMediaFile(String workspaceId, FileUploadDTO file){ |
| | | public Integer saveMediaFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException { |
| | | return fileService.saveFile(workspaceId, file); |
| | | } |
| | | |
| | |
| | | BizCodeEnum.FILE_UPLOAD_CALLBACK.getCode(), mediaFileCount); |
| | | } |
| | | |
| | | private Boolean parseMediaFile(FileUploadCallback callback, WaylineJobDTO job) { |
| | | private Boolean parseMediaFile(FileUploadCallback callback, WaylineJobDTO job) throws ImageProcessingException, IOException, FontFormatException { |
| | | // Set the drone sn that shoots the media |
| | | Optional<DeviceDTO> dockDTO = deviceService.getDeviceBySn(job.getDockSn()); |
| | | dockDTO.ifPresent(dock -> callback.getFile().getExt().setSn(dock.getChildDeviceSn())); |
| | |
| | | String objectKey = callback.getFile().getObjectKey(); |
| | | callback.getFile().setPath(objectKey.substring(objectKey.indexOf("/") + 1, objectKey.lastIndexOf("/"))); |
| | | int count =fileService.saveFile(job.getWorkspaceId(), callback.getFile()); |
| | | try { |
| | | fileService.saveMarkFile(job.getWorkspaceId(), callback.getFile()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | return count > 0; |
| | | } |
| | | |