Commit 0991c0f7 authored by liqin's avatar liqin 💬

bug fixed

parent 431c4124
......@@ -8,7 +8,6 @@ import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Objects;
/**
* <p>
......@@ -74,6 +73,10 @@ public class Asset implements Serializable {
@TableField("md5")
private String md5;
@ApiModelProperty(value = "crc32", hidden = true)
@TableField("crc32")
private Long crc32;
@ApiModelProperty("是否已删除")
@TableField("is_deleted")
private Boolean deleted;
......@@ -106,21 +109,4 @@ public class Asset implements Serializable {
@TableField(exist = false)
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 {
language = LanguageEnum.UYG.name();
}
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);
asset.setFileSize(fileInfo.getFileSize());
asset.setFileUrl(fileUrl);
......@@ -169,6 +171,10 @@ public class FileUploadController extends BaseController {
asset.setLanguage(language);
asset.setCreateTime(createTime);
asset.setUpdateTime(createTime);
if (one != null) {
FastDFSUtils.deleteFile(fileUrl);
asset.setFileUrl(one.getFileUrl());
}
this.assetService.save(asset);
datumUrlList.add(asset);
......@@ -269,7 +275,7 @@ public class FileUploadController extends BaseController {
int failureCount = 0;
List<BatchUploadResVO.HandleResult> handleList = new ArrayList<>();
Set<Asset> videoUrlList = new LinkedHashSet<>();
Set<Asset> fileList = new LinkedHashSet<>();
for (MultipartFile file : files) {
// 当前维度表下线结果
BatchUploadResVO.HandleResult handleResult = new BatchUploadResVO.HandleResult();
......@@ -320,6 +326,8 @@ public class FileUploadController extends BaseController {
}
String fileUrl = FastDFSUtils.uploadFile(file.getInputStream(), file.getSize(), originalFilename, metaDataSet);
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 long fileSize = fileInfo.getFileSize();
final Asset asset = Asset.builder()
......@@ -333,8 +341,12 @@ public class FileUploadController extends BaseController {
.createTime(createTime)
.updateTime(createTime)
.build();
if (one != null) {
FastDFSUtils.deleteFile(fileUrl);
asset.setFileUrl(one.getFileUrl());
}
this.assetService.save(asset);
videoUrlList.add(asset);
fileList.add(asset);
handleResult.setFileUrl(fileUrl);
handleResult.setFileName(originalFilename);
......@@ -358,7 +370,7 @@ public class FileUploadController extends BaseController {
batchUploadResVO.setSuccessCount(successCount);
batchUploadResVO.setTotal(files.length);
batchUploadResVO.setHandleList(handleList);
batchUploadResVO.setFileList(videoUrlList);
batchUploadResVO.setFileList(fileList);
return getResult(batchUploadResVO);
}
......@@ -431,24 +443,11 @@ public class FileUploadController extends BaseController {
language = LanguageEnum.UYG.name();
}
String fileUrl = FastDFSUtils.uploadVideo(file.getInputStream(), file.getSize(), originalFilename, metaDataSet);
final FileInfo fileInfo = FastDFSUtils.getFileInfo(fileUrl);
final Set<MetaData> fileMetaData = FastDFSUtils.getFileMetaData(fileUrl);
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));
if (!list.isEmpty()) {
FastDFSUtils.deleteFile(fileUrl);
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 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 long fileSize = fileInfo.getFileSize();
final Asset asset = Asset.builder()
......@@ -463,6 +462,10 @@ public class FileUploadController extends BaseController {
.createTime(createTime)
.updateTime(createTime)
.build();
if (one != null) {
FastDFSUtils.deleteFile(fileUrl);
asset.setFileUrl(one.getFileUrl());
}
this.assetService.save(asset);
fileList.add(asset);
......@@ -541,6 +544,9 @@ public class FileUploadController extends BaseController {
metaDataSet.add(new MetaData("fileType", FileTypeEnum.VIDEO.name()));
String fileUrl = FastDFSUtils.uploadFile(file.getInputStream(), file.getSize(), originalFilename, metaDataSet);
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 Asset asset = Asset.builder()
.fileName(originalFilename)
......@@ -551,6 +557,10 @@ public class FileUploadController extends BaseController {
.fileCat(FileCatEnum.VIEWING_INTERACTION.name())
.language(language)
.build();
if (one != null) {
FastDFSUtils.deleteFile(fileUrl);
asset.setFileUrl(one.getFileUrl());
}
this.assetService.save(asset);
fileList.add(asset);
......
......@@ -3,7 +3,7 @@
<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"/>
<result column="ref_item_id" property="refItemId"/>
<result column="file_name" property="fileName"/>
......@@ -15,6 +15,7 @@
<result column="thumbnail" property="thumbnail"/>
<result column="language" property="language"/>
<result column="md5" property="md5"/>
<result column="crc32" property="crc32"/>
<result column="is_deleted" property="deleted"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
......@@ -22,7 +23,7 @@
<!-- 通用查询结果列 -->
<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
</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