fix(系统设置): 文件管理移动存储库

--bug=1032981 --user=宋天阳 【项目设置】文件管理-存储库文件批量移动至普通模块-后台报错-前端无提示
https://www.tapd.cn/55049933/s/1438065
This commit is contained in:
song-tianyang 2023-11-20 16:01:59 +08:00 committed by 建国
parent 6dd115cb5e
commit 00b6e27e29
6 changed files with 25 additions and 4 deletions

View File

@ -25,4 +25,6 @@ public interface BaseFileMetadataMapper {
List<String> selectRefIdsByIds(@Param("ids") List<String> nodeIds);
List<String> selectIllegalModuleIdListByProjectId(String projectId);
long countRepositoryFileByIds(@Param("ids") List<String> metadataIds);
}

View File

@ -165,6 +165,15 @@
WHERE project_id = #{0}
AND module_id = '';
</select>
<select id="countRepositoryFileByIds" resultType="java.lang.Long">
SELECT count(id)
FROM file_metadata
WHERE id in
<foreach collection="ids" item="value" separator="," open="(" close=")">
#{value}
</foreach>
AND storage = 'GIT';
</select>
<update id="updateModuleIdByProjectId">
update file_metadata

View File

@ -233,10 +233,15 @@ public class FileMetadataService {
public void move(MoveFIleMetadataRequest request) {
//不可移动到存储库模块节点
FileModule fileModule = fileModuleService.get(request.getModuleId());
if (fileModule != null && !org.apache.commons.collections.CollectionUtils.isEmpty(request.getMetadataIds()) && StringUtils.isNotEmpty(request.getModuleId())) {
if (StringUtils.equals(fileModule.getModuleType(), FileModuleTypeConstants.REPOSITORY.getValue())) {
if (fileModule != null && CollectionUtils.isNotEmpty(request.getMetadataIds())) {
if (fileModule.getModuleType() != null && StringUtils.equals(fileModule.getModuleType(), FileModuleTypeConstants.REPOSITORY.getValue())) {
MSException.throwException(Translator.get("can_not_move_to_repository_node"));
} else {
//检查所选id中是否含有存储库文件
long repositoryFileCount = baseFileMetadataMapper.countRepositoryFileByIds(request.getMetadataIds());
if (repositoryFileCount > 0) {
MSException.throwException(Translator.get("can_not_move_to_repository_file"));
}
baseFileMetadataMapper.move(request);
}
}

View File

@ -397,6 +397,7 @@ no_tcp_mock_port=No idle tcp port, please contact administrators.
name_already_exists_in_module=Name already exists in same module
repository_module_already_exists=The repository name already exists at the same project
can_not_move_to_repository_node=Can not move to repository node
can_not_move_to_repository_file=Can not move repository file
# issue template copy
target_issue_template_not_checked=Cannot copy, target project not checked
copy_template_name_too_long=Copy error, template name too long

View File

@ -405,4 +405,6 @@ version_name_is_null=版本名称不能为空
current_version_already_exists=当前版本已存在
Prepare=未开始
Underway=进行中
Completed=已完成
Completed=已完成
can_not_move_to_repository_node=不能移动到存储库节点
can_not_move_to_repository_file=不能移动存储库中的文件

View File

@ -404,4 +404,6 @@ version_name_is_null=版本名稱不能為空
current_version_already_exists=當前版本已存在
Prepare=未開始
Underway=進行中
Completed=已完成
Completed=已完成
can_not_move_to_repository_node=不能移動到存儲庫節點
can_not_move_to_repository_file=不能移動存儲庫中的文件