Commit 0991c0f7 authored by liqin's avatar liqin 💬

bug fixed

parent 431c4124
...@@ -8,7 +8,6 @@ import lombok.experimental.Accessors; ...@@ -8,7 +8,6 @@ import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Objects;
/** /**
* <p> * <p>
...@@ -74,6 +73,10 @@ public class Asset implements Serializable { ...@@ -74,6 +73,10 @@ public class Asset implements Serializable {
@TableField("md5") @TableField("md5")
private String md5; private String md5;
@ApiModelProperty(value = "crc32", hidden = true)
@TableField("crc32")
private Long crc32;
@ApiModelProperty("是否已删除") @ApiModelProperty("是否已删除")
@TableField("is_deleted") @TableField("is_deleted")
private Boolean deleted; private Boolean deleted;
...@@ -106,21 +109,4 @@ public class Asset implements Serializable { ...@@ -106,21 +109,4 @@ public class Asset implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String videoContentCopyrightOwnerName; private String videoContentCopyrightOwnerName;
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Asset asset = (Asset) o;
return Objects.equals(getMd5(), asset.getMd5());
}
@Override
public int hashCode() {
return Objects.hash(getMd5());
}
} }
...@@ -162,6 +162,8 @@ public class FileUploadController extends BaseController { ...@@ -162,6 +162,8 @@ public class FileUploadController extends BaseController {
language = LanguageEnum.UYG.name(); language = LanguageEnum.UYG.name();
} }
final FileInfo fileInfo = FastDFSUtils.getFileInfo(fileUrl); final FileInfo fileInfo = FastDFSUtils.getFileInfo(fileUrl);
final int crc32 = fileInfo.getCrc32();
final Asset one = this.assetService.getOne(Wrappers.<Asset>lambdaQuery().eq(Asset::getCrc32, crc32));
final LocalDateTime createTime = TimeUtils.getDateTimeOfTimestamp(fileInfo.getCreateTime() * 1000); final LocalDateTime createTime = TimeUtils.getDateTimeOfTimestamp(fileInfo.getCreateTime() * 1000);
asset.setFileSize(fileInfo.getFileSize()); asset.setFileSize(fileInfo.getFileSize());
asset.setFileUrl(fileUrl); asset.setFileUrl(fileUrl);
...@@ -169,6 +171,10 @@ public class FileUploadController extends BaseController { ...@@ -169,6 +171,10 @@ public class FileUploadController extends BaseController {
asset.setLanguage(language); asset.setLanguage(language);
asset.setCreateTime(createTime); asset.setCreateTime(createTime);
asset.setUpdateTime(createTime); asset.setUpdateTime(createTime);
if (one != null) {
FastDFSUtils.deleteFile(fileUrl);
asset.setFileUrl(one.getFileUrl());
}
this.assetService.save(asset); this.assetService.save(asset);
datumUrlList.add(asset); datumUrlList.add(asset);
...@@ -269,7 +275,7 @@ public class FileUploadController extends BaseController { ...@@ -269,7 +275,7 @@ public class FileUploadController extends BaseController {
int failureCount = 0; int failureCount = 0;
List<BatchUploadResVO.HandleResult> handleList = new ArrayList<>(); List<BatchUploadResVO.HandleResult> handleList = new ArrayList<>();
Set<Asset> videoUrlList = new LinkedHashSet<>(); Set<Asset> fileList = new LinkedHashSet<>();
for (MultipartFile file : files) { for (MultipartFile file : files) {
// 当前维度表下线结果 // 当前维度表下线结果
BatchUploadResVO.HandleResult handleResult = new BatchUploadResVO.HandleResult(); BatchUploadResVO.HandleResult handleResult = new BatchUploadResVO.HandleResult();
...@@ -320,6 +326,8 @@ public class FileUploadController extends BaseController { ...@@ -320,6 +326,8 @@ public class FileUploadController extends BaseController {
} }
String fileUrl = FastDFSUtils.uploadFile(file.getInputStream(), file.getSize(), originalFilename, metaDataSet); String fileUrl = FastDFSUtils.uploadFile(file.getInputStream(), file.getSize(), originalFilename, metaDataSet);
final FileInfo fileInfo = FastDFSUtils.getFileInfo(fileUrl); final FileInfo fileInfo = FastDFSUtils.getFileInfo(fileUrl);
final int crc32 = fileInfo.getCrc32();
final Asset one = this.assetService.getOne(Wrappers.<Asset>lambdaQuery().eq(Asset::getCrc32, crc32));
final LocalDateTime createTime = TimeUtils.getDateTimeOfTimestamp(fileInfo.getCreateTime() * 1000); final LocalDateTime createTime = TimeUtils.getDateTimeOfTimestamp(fileInfo.getCreateTime() * 1000);
final long fileSize = fileInfo.getFileSize(); final long fileSize = fileInfo.getFileSize();
final Asset asset = Asset.builder() final Asset asset = Asset.builder()
...@@ -333,8 +341,12 @@ public class FileUploadController extends BaseController { ...@@ -333,8 +341,12 @@ public class FileUploadController extends BaseController {
.createTime(createTime) .createTime(createTime)
.updateTime(createTime) .updateTime(createTime)
.build(); .build();
if (one != null) {
FastDFSUtils.deleteFile(fileUrl);
asset.setFileUrl(one.getFileUrl());
}
this.assetService.save(asset); this.assetService.save(asset);
videoUrlList.add(asset); fileList.add(asset);
handleResult.setFileUrl(fileUrl); handleResult.setFileUrl(fileUrl);
handleResult.setFileName(originalFilename); handleResult.setFileName(originalFilename);
...@@ -358,7 +370,7 @@ public class FileUploadController extends BaseController { ...@@ -358,7 +370,7 @@ public class FileUploadController extends BaseController {
batchUploadResVO.setSuccessCount(successCount); batchUploadResVO.setSuccessCount(successCount);
batchUploadResVO.setTotal(files.length); batchUploadResVO.setTotal(files.length);
batchUploadResVO.setHandleList(handleList); batchUploadResVO.setHandleList(handleList);
batchUploadResVO.setFileList(videoUrlList); batchUploadResVO.setFileList(fileList);
return getResult(batchUploadResVO); return getResult(batchUploadResVO);
} }
...@@ -431,24 +443,11 @@ public class FileUploadController extends BaseController { ...@@ -431,24 +443,11 @@ public class FileUploadController extends BaseController {
language = LanguageEnum.UYG.name(); language = LanguageEnum.UYG.name();
} }
String fileUrl = FastDFSUtils.uploadVideo(file.getInputStream(), file.getSize(), originalFilename, metaDataSet); String fileUrl = FastDFSUtils.uploadVideo(file.getInputStream(), file.getSize(), originalFilename, metaDataSet);
final FileInfo fileInfo = FastDFSUtils.getFileInfo(fileUrl);
final Set<MetaData> fileMetaData = FastDFSUtils.getFileMetaData(fileUrl); final Set<MetaData> fileMetaData = FastDFSUtils.getFileMetaData(fileUrl);
String md5 = fileMetaData.stream().filter(x -> "MD5".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String md5 = fileMetaData.stream().filter(x -> "MD5".equals(x.getName())).map(MetaData::getValue).findFirst().get();
final List<Asset> list = this.assetService.list(Wrappers.<Asset>lambdaQuery().eq(Asset::getMd5, md5)); final FileInfo fileInfo = FastDFSUtils.getFileInfo(fileUrl);
if (!list.isEmpty()) { final int crc32 = fileInfo.getCrc32();
FastDFSUtils.deleteFile(fileUrl); final Asset one = this.assetService.getOne(Wrappers.<Asset>lambdaQuery().eq(Asset::getCrc32, crc32));
fileList.add(list.get(0));
handleResult.setFileUrl(fileUrl);
handleResult.setFileName(originalFilename);
handleResult.setFileType(FileTypeEnum.VIDEO.getName());
handleResult.setHandleResult(HANDLE_STATUS_ENUM.SUCCESS.getName());
handleResult.setDescription("");
successCount++;
handleList.add(handleResult);
continue;
}
final LocalDateTime createTime = TimeUtils.getDateTimeOfTimestamp(fileInfo.getCreateTime() * 1000); final LocalDateTime createTime = TimeUtils.getDateTimeOfTimestamp(fileInfo.getCreateTime() * 1000);
final long fileSize = fileInfo.getFileSize(); final long fileSize = fileInfo.getFileSize();
final Asset asset = Asset.builder() final Asset asset = Asset.builder()
...@@ -463,6 +462,10 @@ public class FileUploadController extends BaseController { ...@@ -463,6 +462,10 @@ public class FileUploadController extends BaseController {
.createTime(createTime) .createTime(createTime)
.updateTime(createTime) .updateTime(createTime)
.build(); .build();
if (one != null) {
FastDFSUtils.deleteFile(fileUrl);
asset.setFileUrl(one.getFileUrl());
}
this.assetService.save(asset); this.assetService.save(asset);
fileList.add(asset); fileList.add(asset);
...@@ -541,6 +544,9 @@ public class FileUploadController extends BaseController { ...@@ -541,6 +544,9 @@ public class FileUploadController extends BaseController {
metaDataSet.add(new MetaData("fileType", FileTypeEnum.VIDEO.name())); metaDataSet.add(new MetaData("fileType", FileTypeEnum.VIDEO.name()));
String fileUrl = FastDFSUtils.uploadFile(file.getInputStream(), file.getSize(), originalFilename, metaDataSet); String fileUrl = FastDFSUtils.uploadFile(file.getInputStream(), file.getSize(), originalFilename, metaDataSet);
final FileInfo fileInfo = FastDFSUtils.getFileInfo(fileUrl); final FileInfo fileInfo = FastDFSUtils.getFileInfo(fileUrl);
final int crc32 = fileInfo.getCrc32();
final Asset one = this.assetService.getOne(Wrappers.<Asset>lambdaQuery().eq(Asset::getCrc32, crc32));
final long fileSize = fileInfo.getFileSize(); final long fileSize = fileInfo.getFileSize();
final Asset asset = Asset.builder() final Asset asset = Asset.builder()
.fileName(originalFilename) .fileName(originalFilename)
...@@ -551,6 +557,10 @@ public class FileUploadController extends BaseController { ...@@ -551,6 +557,10 @@ public class FileUploadController extends BaseController {
.fileCat(FileCatEnum.VIEWING_INTERACTION.name()) .fileCat(FileCatEnum.VIEWING_INTERACTION.name())
.language(language) .language(language)
.build(); .build();
if (one != null) {
FastDFSUtils.deleteFile(fileUrl);
asset.setFileUrl(one.getFileUrl());
}
this.assetService.save(asset); this.assetService.save(asset);
fileList.add(asset); fileList.add(asset);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<mapper namespace="cn.wisenergy.chnmuseum.party.mapper.AssetMapper"> <mapper namespace="cn.wisenergy.chnmuseum.party.mapper.AssetMapper">
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.wisenergy.chnmuseum.party.model.VideoContent"> <resultMap id="BaseResultMap" type="cn.wisenergy.chnmuseum.party.model.Asset">
<id column="id" property="id"/> <id column="id" property="id"/>
<result column="ref_item_id" property="refItemId"/> <result column="ref_item_id" property="refItemId"/>
<result column="file_name" property="fileName"/> <result column="file_name" property="fileName"/>
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<result column="thumbnail" property="thumbnail"/> <result column="thumbnail" property="thumbnail"/>
<result column="language" property="language"/> <result column="language" property="language"/>
<result column="md5" property="md5"/> <result column="md5" property="md5"/>
<result column="crc32" property="crc32"/>
<result column="is_deleted" property="deleted"/> <result column="is_deleted" property="deleted"/>
<result column="create_time" property="createTime"/> <result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/> <result column="update_time" property="updateTime"/>
...@@ -22,7 +23,7 @@ ...@@ -22,7 +23,7 @@
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, ref_item_id, file_name, file_ext_name, file_type, file_size, file_cat, file_url, thumbnail, language, md5, is_deleted, id, ref_item_id, file_name, file_ext_name, file_type, file_size, file_cat, file_url, thumbnail, language, md5, crc32, is_deleted,
create_time, update_time create_time, update_time
</sql> </sql>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment