补充导入的一些功能逻辑
This commit is contained in:
parent
a0bbdaddc8
commit
73b99308be
|
|
@ -9,9 +9,11 @@ import com.electromagnetic.industry.software.common.util.EleCommonUtil;
|
|||
import com.electromagnetic.industry.software.common.util.IdWorker;
|
||||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@TableName("ed_file_favorite")
|
||||
public class EdFileFavorite extends BaseModel {
|
||||
|
|
|
|||
|
|
@ -7,12 +7,9 @@ import java.util.Date;
|
|||
|
||||
@Data
|
||||
@TableName("file_tag_relations")
|
||||
public class FileTagRelation {
|
||||
public class FileTagRelation extends BaseModel {
|
||||
@TableId(type = IdType.ASSIGN_UUID)
|
||||
private String id;
|
||||
private String fileId;
|
||||
private String tagId;
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createdTime;
|
||||
private String createdBy;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,8 @@ import com.electromagnetic.industry.software.common.pojo.RespPageVO;
|
|||
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||
import com.electromagnetic.industry.software.common.util.*;
|
||||
import com.electromagnetic.industry.software.manage.config.ElePropertyConfig;
|
||||
import com.electromagnetic.industry.software.manage.mapper.*;
|
||||
import com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper;
|
||||
import com.electromagnetic.industry.software.manage.mapper.UserMapper;
|
||||
import com.electromagnetic.industry.software.manage.pojo.models.*;
|
||||
import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO;
|
||||
import com.electromagnetic.industry.software.manage.pojo.other.UploadRecordDTO;
|
||||
|
|
@ -494,21 +495,61 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
|||
}
|
||||
|
||||
private void updateFileRelationInfo(String prjDirPath) {
|
||||
// UNIQUE KEY id1 + id2 prd没有做详细说明,此处先按照最新修改时间原则来做
|
||||
String path = prjDirPath + File.separator + ED_FILE_RELATION + ".json";
|
||||
List<EdFileRelation> relations = JSONUtil.toList(FileUtil.readString(path, Charset.defaultCharset()), EdFileRelation.class);
|
||||
edFileRelationService.saveOrUpdateBatch(relations);
|
||||
for (EdFileRelation importRelation : relations) {
|
||||
EdFileRelation dbRelation = edFileRelationService.getBaseMapper().selectOne(Wrappers.lambdaQuery(EdFileRelation.class)
|
||||
.eq(EdFileRelation::getId1, importRelation.getId())
|
||||
.eq(EdFileRelation::getId2, importRelation.getId2()));
|
||||
if (Objects.isNull(dbRelation)) {
|
||||
edFileRelationService.save(importRelation);
|
||||
} else {
|
||||
// 如果导入的比线上的新,则新增
|
||||
if (importRelation.getUpdatedTime().after(dbRelation.getUpdatedTime())) {
|
||||
edFileRelationService.save(importRelation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateFileTageInfo(String prjDirPath) {
|
||||
// UNIQUE KEY fileId + tagId
|
||||
String path = prjDirPath + File.separator + ED_TAG_RELATIONS + ".json";
|
||||
List<FileTagRelation> relations = JSONUtil.toList(FileUtil.readString(path, Charset.defaultCharset()), FileTagRelation.class);
|
||||
fileTagRelationService.saveOrUpdateBatch(relations);
|
||||
for (FileTagRelation importRelation : relations) {
|
||||
FileTagRelation dbRelation = fileTagRelationService.getBaseMapper().selectOne(Wrappers.lambdaQuery(FileTagRelation.class)
|
||||
.eq(FileTagRelation::getTagId, importRelation.getId())
|
||||
.eq(FileTagRelation::getFileId, importRelation.getFileId()));
|
||||
if (Objects.isNull(dbRelation)) {
|
||||
fileTagRelationService.save(importRelation);
|
||||
} else {
|
||||
if (!Objects.equals(importRelation.getEffectFlag(), dbRelation.getEffectFlag())) {
|
||||
dbRelation.setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code);
|
||||
fileTagRelationService.saveOrUpdate(dbRelation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateCollectionInfo(String prjDirPath) {
|
||||
// UNIQUE KEY userId + fileId
|
||||
String path = prjDirPath + File.separator + ED_FILE_FAVORITE + ".json";
|
||||
List<EdFileFavorite> edFileFavorites = JSONUtil.toList(FileUtil.readString(path, Charset.defaultCharset()), EdFileFavorite.class);
|
||||
fileFavoriteService.saveOrUpdateBatch(edFileFavorites);
|
||||
String userId = UserThreadLocal.getUserId();
|
||||
for (EdFileFavorite importFileFavorite : edFileFavorites) {
|
||||
EdFileFavorite dbFileFavorite = fileFavoriteService.getBaseMapper().selectOne(Wrappers.lambdaQuery(EdFileFavorite.class)
|
||||
.eq(EdFileFavorite::getCreatedBy, userId)
|
||||
.eq(EdFileFavorite::getFileId, importFileFavorite.getFileId()));
|
||||
if (Objects.isNull(dbFileFavorite)) {
|
||||
fileFavoriteService.save(importFileFavorite);
|
||||
} else {
|
||||
if (importFileFavorite.getUpdatedTime().after(dbFileFavorite.getUpdatedTime())) {
|
||||
dbFileFavorite.setEffectFlag(importFileFavorite.getEffectFlag());
|
||||
fileFavoriteService.saveOrUpdate(dbFileFavorite);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updatePrjInfo(String prjDirPath, Integer dataOwnCode) {
|
||||
|
|
@ -758,7 +799,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
|||
AES aes = SecureUtil.aes(FILE_SEC_PASSWD.getBytes());
|
||||
try (
|
||||
InputStream inputStream = Files.newInputStream(Paths.get(exportZipFile));
|
||||
OutputStream outputStream = Files.newOutputStream(Paths.get(exportColibFile));
|
||||
OutputStream outputStream = Files.newOutputStream(Paths.get(exportColibFile))
|
||||
) {
|
||||
aes.encrypt(inputStream, outputStream, true);
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue