From 8d30d7103c818d328cd09e750f19130c3042c8c8 Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Mon, 13 Dec 2021 09:49:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9F=A5=E8=AF=A2=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/devops/application/project_app.go | 9 +++++++++ server/devops/infrastructure/persistence/db_repo.go | 6 ++++++ server/devops/infrastructure/persistence/redis_repo.go | 3 +++ 3 files changed, 18 insertions(+) diff --git a/server/devops/application/project_app.go b/server/devops/application/project_app.go index eef0a076..3922c5f4 100644 --- a/server/devops/application/project_app.go +++ b/server/devops/application/project_app.go @@ -41,12 +41,18 @@ type projectAppImpl struct { projectRepo repository.Project projectEnvRepo repository.ProjectEnv projectMemberRepo repository.ProjectMemeber + machineRepo repository.Machine + redisRepo repository.Redis + dbRepo repository.Db } var ProjectApp Project = &projectAppImpl{ projectRepo: persistence.ProjectRepo, projectEnvRepo: persistence.ProjectEnvRepo, projectMemberRepo: persistence.ProjectMemberRepo, + machineRepo: persistence.MachineDao, + redisRepo: persistence.RedisDao, + dbRepo: persistence.DbDao, } // 分页获取项目信息列表 @@ -73,6 +79,9 @@ func (p *projectAppImpl) SaveProject(project *entity.Project) { } func (p *projectAppImpl) DelProject(id uint64) { + biz.IsTrue(p.machineRepo.Count(&entity.Machine{ProjectId: id}) == 0, "请先删除该项目关联的机器信息") + biz.IsTrue(p.redisRepo.Count(&entity.Redis{ProjectId: id}) == 0, "请先删除该项目关联的redis信息") + biz.IsTrue(p.dbRepo.Count(&entity.Db{ProjectId: id}) == 0, "请先删除该项目关联的数据库信息") p.projectRepo.Delete(id) p.projectEnvRepo.DeleteEnvs(id) p.projectMemberRepo.DeleteMems(id) diff --git a/server/devops/infrastructure/persistence/db_repo.go b/server/devops/infrastructure/persistence/db_repo.go index 9fef18b2..f88bcdea 100644 --- a/server/devops/infrastructure/persistence/db_repo.go +++ b/server/devops/infrastructure/persistence/db_repo.go @@ -22,9 +22,15 @@ func (d *dbRepo) GetDbList(condition *entity.Db, pageParam *model.PageParam, toE if condition.ProjectId != 0 { sql = fmt.Sprintf("%s AND d.project_id = %d", sql, condition.ProjectId) } + if condition.EnvId != 0 { + sql = fmt.Sprintf("%s AND d.env_id = %d", sql, condition.EnvId) + } if condition.Host != "" { sql = sql + " AND d.host LIKE '%" + condition.Host + "%'" } + if condition.Database != "" { + sql = sql + " AND d.database LIKE '%" + condition.Database + "%'" + } sql = sql + " ORDER BY d.create_time DESC" return model.GetPageBySql(sql, pageParam, toEntity) } diff --git a/server/devops/infrastructure/persistence/redis_repo.go b/server/devops/infrastructure/persistence/redis_repo.go index f8e7842b..ee719119 100644 --- a/server/devops/infrastructure/persistence/redis_repo.go +++ b/server/devops/infrastructure/persistence/redis_repo.go @@ -22,6 +22,9 @@ func (r *redisRepo) GetRedisList(condition *entity.Redis, pageParam *model.PageP if condition.ProjectId != 0 { sql = fmt.Sprintf("%s AND d.project_id = %d", sql, condition.ProjectId) } + if condition.EnvId != 0 { + sql = fmt.Sprintf("%s AND d.env_id = %d", sql, condition.EnvId) + } if condition.Host != "" { sql = sql + " AND d.host LIKE '%" + condition.Host + "%'" }