diff --git a/src/main/java/net/geedge/asw/module/workspace/service/impl/WorkspaceServiceImpl.java b/src/main/java/net/geedge/asw/module/workspace/service/impl/WorkspaceServiceImpl.java index 9a4a3af..1f6b139 100644 --- a/src/main/java/net/geedge/asw/module/workspace/service/impl/WorkspaceServiceImpl.java +++ b/src/main/java/net/geedge/asw/module/workspace/service/impl/WorkspaceServiceImpl.java @@ -1,6 +1,7 @@ package net.geedge.asw.module.workspace.service.impl; import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.log.Log; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -12,6 +13,8 @@ import net.geedge.asw.module.workspace.entity.WorkspaceEntity; import net.geedge.asw.module.workspace.entity.WorkspaceMemberEntity; import net.geedge.asw.module.workspace.service.IWorkspaceMemberService; import net.geedge.asw.module.workspace.service.IWorkspaceService; +import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.api.errors.GitAPIException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -23,6 +26,8 @@ import java.util.Map; @Service public class WorkspaceServiceImpl extends ServiceImpl implements IWorkspaceService { + private final static Log log = Log.get(); + @Autowired private IWorkspaceService workspaceService; @@ -57,6 +62,16 @@ public class WorkspaceServiceImpl extends ServiceImpl().in(WorkspaceMemberEntity::getWorkspaceId, workspaceIds)); + + List entityList = workspaceService.list(new LambdaQueryWrapper().in(WorkspaceEntity::getId, workspaceIds)); + if (T.CollUtil.isNotEmpty(entityList)) { + workspaceService.removeBatchByIds(workspaceIds); + workspaceMemberService.remove(new LambdaQueryWrapper().in(WorkspaceMemberEntity::getWorkspaceId, workspaceIds)); + + // remove git repo + for (WorkspaceEntity entity : entityList) { + T.FileUtil.del(T.FileUtil.file(T.WebPathUtil.getRootPath(), "workspace", entity.getId())); + } + } } private void validateWorkspaceInfo(WorkspaceEntity workspace, boolean isUpdate) {