|
|
@@ -223,31 +223,42 @@ public class FileServiceImpl implements IFileService {
|
|
|
fileThreadPool.execute(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
- try {
|
|
|
- //生成缩略图
|
|
|
- String tObjectKey = getThumbnailObjectKey(fileName);
|
|
|
- putThumbnailImage(tObjectKey, objectKey, true);
|
|
|
+ for(int i = 0; i < 3; i++) {
|
|
|
+ try {
|
|
|
+ //生成缩略图
|
|
|
+ String tObjectKey = getThumbnailObjectKey(fileName);
|
|
|
+ putThumbnailImage(tObjectKey, objectKey, true);
|
|
|
|
|
|
- //获取图片信息
|
|
|
- MediaExifDTO exif = PicExifUtil.getPicExif(objectKey);
|
|
|
+ //获取图片信息
|
|
|
+ MediaExifDTO exif = PicExifUtil.getPicExif(objectKey);
|
|
|
|
|
|
- fileEntity.setImageWidth(exif.getImageWidth());
|
|
|
- fileEntity.setImageHeight(exif.getImageHeight());
|
|
|
- fileEntity.setXResolution(exif.getXResolution());
|
|
|
- fileEntity.setYResolution(exif.getYResolution());
|
|
|
- fileEntity.setLatitude(BigDecimal.valueOf(CoordinateUtil.checkValidVal(exif.getLatitude())).setScale(14, RoundingMode.DOWN));
|
|
|
- fileEntity.setLongitude(BigDecimal.valueOf(CoordinateUtil.checkValidVal(exif.getLongitude())).setScale(14, RoundingMode.DOWN));
|
|
|
- fileEntity.setLongitudeRef(exif.getLongitudeRef());
|
|
|
- fileEntity.setLatitudeRef(exif.getLatitudeRef());
|
|
|
- fileEntity.setMediaType(exif.getPictureType());
|
|
|
- fileEntity.setPictureType(exif.getPictureType());
|
|
|
- fileEntity.setDurationSeconds(exif.getDurationSeconds());
|
|
|
-
|
|
|
- mapper.update(fileEntity,
|
|
|
- new LambdaUpdateWrapper<MediaFileEntity>().eq(MediaFileEntity::getFileId, fileEntity.getFileId()));
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ fileEntity.setImageWidth(exif.getImageWidth());
|
|
|
+ fileEntity.setImageHeight(exif.getImageHeight());
|
|
|
+ fileEntity.setXResolution(exif.getXResolution());
|
|
|
+ fileEntity.setYResolution(exif.getYResolution());
|
|
|
+ fileEntity.setLatitude(BigDecimal.valueOf(CoordinateUtil.checkValidVal(exif.getLatitude())).setScale(14, RoundingMode.DOWN));
|
|
|
+ fileEntity.setLongitude(BigDecimal.valueOf(CoordinateUtil.checkValidVal(exif.getLongitude())).setScale(14, RoundingMode.DOWN));
|
|
|
+ fileEntity.setLongitudeRef(exif.getLongitudeRef());
|
|
|
+ fileEntity.setLatitudeRef(exif.getLatitudeRef());
|
|
|
+ fileEntity.setMediaType(exif.getPictureType());
|
|
|
+ fileEntity.setPictureType(exif.getPictureType());
|
|
|
+ fileEntity.setDurationSeconds(exif.getDurationSeconds());
|
|
|
+ fileEntity.setSize(ossService.getObjectSize(OssConfiguration.bucket, objectKey));
|
|
|
+ if(exif.getSubFileType() == MediaSubFileTypeEnum.PANORAMA.getType()) {
|
|
|
+ fileEntity.setSubFileType(MediaSubFileTypeEnum.PANORAMA.getType());
|
|
|
+ }
|
|
|
|
|
|
+ mapper.update(fileEntity,
|
|
|
+ new LambdaUpdateWrapper<MediaFileEntity>().eq(MediaFileEntity::getFileId, fileEntity.getFileId()));
|
|
|
+ break;
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ try {
|
|
|
+ Thread.sleep((i+1) * 10 * 1000);
|
|
|
+ } catch (InterruptedException ex) {
|
|
|
+ ex.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
@@ -446,7 +457,7 @@ public class FileServiceImpl implements IFileService {
|
|
|
// .longitude(BigDecimal.valueOf(CoordinateUtil.checkValidVal(exif.getLongitude())).setScale(14, RoundingMode.DOWN))
|
|
|
.absoluteAltitude(BigDecimal.valueOf(CoordinateUtil.checkValidVal(file.getMetadata().getAbsoluteAltitude())).setScale(6, RoundingMode.DOWN))
|
|
|
.relativeAltitude(BigDecimal.valueOf(CoordinateUtil.checkValidVal(file.getMetadata().getRelativeAltitude())).setScale(6, RoundingMode.DOWN))
|
|
|
- .size(ossService.getObjectSize(OssConfiguration.bucket, file.getObjectKey()))
|
|
|
+// .size(ossService.getObjectSize(OssConfiguration.bucket, file.getObjectKey()))
|
|
|
.pictureTime(file.getMetadata().getCreatedTime() != null ? file.getMetadata().getCreatedTime().atZone(ZoneId.of("UTC+0")).toInstant().toEpochMilli() : null)
|
|
|
// .longitudeRef(exif.getLongitudeRef())
|
|
|
// .latitudeRef(exif.getLatitudeRef())
|