补充导入的一些功能逻辑
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.IdWorker;
|
||||||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
@TableName("ed_file_favorite")
|
@TableName("ed_file_favorite")
|
||||||
public class EdFileFavorite extends BaseModel {
|
public class EdFileFavorite extends BaseModel {
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,9 @@ import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@TableName("file_tag_relations")
|
@TableName("file_tag_relations")
|
||||||
public class FileTagRelation {
|
public class FileTagRelation extends BaseModel {
|
||||||
@TableId(type = IdType.ASSIGN_UUID)
|
@TableId(type = IdType.ASSIGN_UUID)
|
||||||
private String id;
|
private String id;
|
||||||
private String fileId;
|
private String fileId;
|
||||||
private String tagId;
|
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.resp.ElectromagneticResult;
|
||||||
import com.electromagnetic.industry.software.common.util.*;
|
import com.electromagnetic.industry.software.common.util.*;
|
||||||
import com.electromagnetic.industry.software.manage.config.ElePropertyConfig;
|
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.models.*;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO;
|
import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.other.UploadRecordDTO;
|
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) {
|
private void updateFileRelationInfo(String prjDirPath) {
|
||||||
|
// UNIQUE KEY id1 + id2 prd没有做详细说明,此处先按照最新修改时间原则来做
|
||||||
String path = prjDirPath + File.separator + ED_FILE_RELATION + ".json";
|
String path = prjDirPath + File.separator + ED_FILE_RELATION + ".json";
|
||||||
List<EdFileRelation> relations = JSONUtil.toList(FileUtil.readString(path, Charset.defaultCharset()), EdFileRelation.class);
|
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) {
|
private void updateFileTageInfo(String prjDirPath) {
|
||||||
|
// UNIQUE KEY fileId + tagId
|
||||||
String path = prjDirPath + File.separator + ED_TAG_RELATIONS + ".json";
|
String path = prjDirPath + File.separator + ED_TAG_RELATIONS + ".json";
|
||||||
List<FileTagRelation> relations = JSONUtil.toList(FileUtil.readString(path, Charset.defaultCharset()), FileTagRelation.class);
|
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) {
|
private void updateCollectionInfo(String prjDirPath) {
|
||||||
|
// UNIQUE KEY userId + fileId
|
||||||
String path = prjDirPath + File.separator + ED_FILE_FAVORITE + ".json";
|
String path = prjDirPath + File.separator + ED_FILE_FAVORITE + ".json";
|
||||||
List<EdFileFavorite> edFileFavorites = JSONUtil.toList(FileUtil.readString(path, Charset.defaultCharset()), EdFileFavorite.class);
|
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) {
|
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());
|
AES aes = SecureUtil.aes(FILE_SEC_PASSWD.getBytes());
|
||||||
try (
|
try (
|
||||||
InputStream inputStream = Files.newInputStream(Paths.get(exportZipFile));
|
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);
|
aes.encrypt(inputStream, outputStream, true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue