1、创建需求时,如果需求附件文件夹未创建就进行创建
This commit is contained in:
@@ -1271,7 +1271,65 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 项目层级文件夹和需求文件夹中,新增一层【需求附件】文件夹
|
||||
String projectNodeId = req.getProjectId();
|
||||
BatchCreateNormalDirReq batchCreateNormalDirReq = new BatchCreateNormalDirReq();
|
||||
SdmResponse<FileMetadataInfoResp> fileMetadataInfoResp = dataFeignClient.queryFileMetadataInfo(projectNodeId, NodeTypeEnum.PROJECT.getValue(), 0L);
|
||||
if (fileMetadataInfoResp.getData() == null) {
|
||||
log.error("fileMetadataInfoResp为空,projectNodeId为:{}",projectNodeId);
|
||||
return SdmResponse.failed("新增需求失败!");
|
||||
}
|
||||
// 查询需求附件的uuid,元数据表中【parentId是project的元数据主键id且originalName为:需求附件】
|
||||
FileMetadataInfoResp projectMetadataInfo = fileMetadataInfoResp.getData();
|
||||
SdmResponse<List<FileMetadataInfoResp>> listSdmResponse = dataFeignClient.listDir(DirTypeEnum.PROJECT_NODE_DIR.getValue(), projectMetadataInfo.getId());
|
||||
if (!listSdmResponse.isSuccess() || CollectionUtils.isEmpty(listSdmResponse.getData())) {
|
||||
log.error("listSdmResponse为空,project的元数据主键id为:{}",projectMetadataInfo.getId());
|
||||
return SdmResponse.failed("新增需求失败!");
|
||||
}
|
||||
List<FileMetadataInfoResp> childrenMetadataInfoList = listSdmResponse.getData();
|
||||
FileMetadataInfoResp demandAttachFileMetadataInfoResp = childrenMetadataInfoList.stream().filter(metadataInfo -> AttachFileTypeEnum.DEMAND_FILE.getValue().equals(metadataInfo.getOriginalName())).findFirst().orElse(null);
|
||||
Long demandAttachFileMetadataInfoId;
|
||||
if (ObjectUtils.isEmpty(demandAttachFileMetadataInfoResp)) {
|
||||
log.info("未查询到需求附件文件夹,当前项目下的子文件夹为:{}",childrenMetadataInfoList);
|
||||
// 项目层级文件夹和需求文件夹中,新增一层【需求附件】文件夹
|
||||
List<FolderItemReq> demandAttachFolderItemReqList = new ArrayList<>();
|
||||
BatchCreateNormalDirReq demandAttachBatchCreateNormalDirReq = new BatchCreateNormalDirReq();
|
||||
demandAttachBatchCreateNormalDirReq.setParentUUId(projectNodeId);
|
||||
FolderItemReq demandAttachFolderItemReq = new FolderItemReq();
|
||||
demandAttachFolderItemReq.setFolderName(AttachFileTypeEnum.DEMAND_FILE.getValue());
|
||||
demandAttachFolderItemReq.setFolderUuid(RandomUtil.generateString(32));
|
||||
demandAttachFolderItemReqList.add(demandAttachFolderItemReq);
|
||||
demandAttachBatchCreateNormalDirReq.setFolderItems(demandAttachFolderItemReqList);
|
||||
log.info("创建需求附件文件夹请求参数:{}", demandAttachBatchCreateNormalDirReq);
|
||||
BatchCreateNormalDirResp batchCreateNormalDirResp;
|
||||
try {
|
||||
SdmResponse<BatchCreateNormalDirResp> response = dataFeignClient.batchCreateNormalDirs(demandAttachBatchCreateNormalDirReq);
|
||||
log.info("创建需求附件文件夹响应:{}", response);
|
||||
if (!response.isSuccess() || ObjectUtils.isEmpty(response.getData())) {
|
||||
log.error("调用创建需求附件文件夹接口失败,原因为:{}", response.getMessage());
|
||||
return SdmResponse.failed("创建需求附件文件夹失败:,原因为:" + response.getMessage());
|
||||
}
|
||||
batchCreateNormalDirResp = response.getData();
|
||||
} catch (Exception e) {
|
||||
log.error("调用创建需求附件文件夹接口失败", e);
|
||||
return SdmResponse.failed("创建需求附件文件夹失败:" + e.getMessage());
|
||||
}
|
||||
|
||||
if (ObjectUtils.isEmpty(batchCreateNormalDirResp)) {
|
||||
log.error("batchCreateNormalDirResp为空");
|
||||
return SdmResponse.failed("创建需求附件文件夹失败");
|
||||
}
|
||||
List<BatchCreateNormalDirResp.DirInfo> successList = batchCreateNormalDirResp.getSuccessList();
|
||||
if (CollectionUtils.isEmpty(successList)) {
|
||||
log.error("successList为空");
|
||||
return SdmResponse.failed("创建需求附件文件夹失败");
|
||||
}
|
||||
// 需求附件文件夹的元数据主键id
|
||||
demandAttachFileMetadataInfoId = successList.get(0).getId();
|
||||
}else {
|
||||
demandAttachFileMetadataInfoId = demandAttachFileMetadataInfoResp.getId();
|
||||
}
|
||||
batchCreateNormalDirReq.setParentUUId(req.getProjectId());
|
||||
FolderItemReq folderItemReq = new FolderItemReq();
|
||||
folderItemReq.setFolderName(req.getDemandName());
|
||||
|
||||
Reference in New Issue
Block a user