Skip to content

Commit 4722043

Browse files
authored
Merge pull request #11303 from fcfang123/issue-11276
pref:查询项目接口优化 #11276
2 parents 2e127cb + 72f2595 commit 4722043

File tree

10 files changed

+57
-3
lines changed

10 files changed

+57
-3
lines changed

src/backend/ci/core/auth/api-auth/src/main/kotlin/com/tencent/devops/auth/api/service/ServiceMonitorSpaceResource.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ interface ServiceMonitorSpaceResource {
5858
projectCode: String
5959
): Result<String>
6060

61+
@Operation(summary = "获取监控空间业务id")
62+
@POST
63+
@Path("/listMonitorSpaceBizIds")
64+
fun listMonitorSpaceBizIds(
65+
@Parameter(description = "项目ID列表", required = false)
66+
projectCodes: List<String>
67+
): Result<Map<String/*projectCode*/, String/*bizId*/>>
68+
6169
@POST
6270
@Path("/migrateMonitorResource")
6371
@Operation(summary = "迁移监控空间权限资源")

src/backend/ci/core/auth/biz-auth/src/main/kotlin/com/tencent/devops/auth/dao/AuthMonitorSpaceDao.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,19 @@ class AuthMonitorSpaceDao {
4040
}
4141
}
4242

43+
fun list(
44+
dslContext: DSLContext,
45+
projectCodes: List<String>
46+
): Map<String, Long> {
47+
return with(TAuthMonitorSpace.T_AUTH_MONITOR_SPACE) {
48+
dslContext.select(PROJECT_CODE, SPACE_BIZ_ID)
49+
.from(this)
50+
.where(PROJECT_CODE.`in`(projectCodes))
51+
.fetch()
52+
.map { Pair(it.value1(), it.value2()) }.toMap()
53+
}
54+
}
55+
4356
fun update(
4457
dslContext: DSLContext,
4558
projectCode: String,

src/backend/ci/core/auth/biz-auth/src/main/kotlin/com/tencent/devops/auth/provider/rbac/service/RbacPermissionAuthMonitorSpaceService.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,13 @@ class RbacPermissionAuthMonitorSpaceService constructor(
143143
return "-${dbMonitorSpaceRecord.spaceBizId}"
144144
}
145145

146+
override fun listMonitorSpaceBizIds(projectCode: List<String>): Map<String, String> {
147+
return authMonitorSpaceDao.list(
148+
dslContext = dslContext,
149+
projectCodes = projectCode
150+
).mapValues { "-${it.value}" }
151+
}
152+
146153
private fun updateMonitorSpace(
147154
projectCode: String,
148155
monitorSpaceUpdateInfo: MonitorSpaceUpdateInfo,

src/backend/ci/core/auth/biz-auth/src/main/kotlin/com/tencent/devops/auth/provider/sample/service/SampleAuthMonitorSpaceService.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ class SampleAuthMonitorSpaceService : AuthMonitorSpaceService {
1616

1717
override fun getMonitorSpaceBizId(projectCode: String): String = ""
1818

19+
override fun listMonitorSpaceBizIds(projectCode: List<String>): Map<String, String> {
20+
return emptyMap()
21+
}
22+
1923
override fun getMonitorSpaceDetail(spaceUid: String): MonitorSpaceDetailVO? = null
2024

2125
override fun getMonitorGroupConfig(groupCode: String): String? = null

src/backend/ci/core/auth/biz-auth/src/main/kotlin/com/tencent/devops/auth/resources/service/ServiceMonitorSpaceResourceImpl.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ class ServiceMonitorSpaceResourceImpl @Autowired constructor(
4343
return Result(monitorSpaceService.getMonitorSpaceBizId(projectCode))
4444
}
4545

46+
override fun listMonitorSpaceBizIds(projectCodes: List<String>): Result<Map<String, String>> {
47+
return Result(monitorSpaceService.listMonitorSpaceBizIds(projectCodes))
48+
}
49+
4650
override fun migrateMonitorResource(
4751
projectCodes: List<String>,
4852
asyncMigrateOtherGroup: Boolean?

src/backend/ci/core/auth/biz-auth/src/main/kotlin/com/tencent/devops/auth/service/AuthMonitorSpaceService.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ interface AuthMonitorSpaceService {
2727
*/
2828
fun getMonitorSpaceBizId(projectCode: String): String
2929

30+
/**
31+
* 获取监控空间业务id列表
32+
* */
33+
fun listMonitorSpaceBizIds(projectCode: List<String>): Map<String, String>
34+
3035
/**
3136
* 获取监控空间详情
3237
*/

src/backend/ci/core/common/common-auth/common-auth-api/src/main/kotlin/com/tencent/devops/common/auth/api/pojo/ProjectConditionDTO.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,7 @@ data class ProjectConditionDTO(
3232
@get:Schema(title = "是否启用")
3333
val enabled: Boolean? = null,
3434
@get:Schema(title = "渠道代码")
35-
val channelCode: String? = null
35+
val channelCode: String? = null,
36+
@get:Schema(title = "remoteDev相关")
37+
val queryRemoteDevFlag: Boolean? = null
3638
)

src/backend/ci/core/project/api-project/src/main/kotlin/com/tencent/devops/project/pojo/ProjectByConditionDTO.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@ data class ProjectByConditionDTO(
1313
@get:Schema(title = "环境路由")
1414
val routerTag: String?,
1515
@get:Schema(title = "bgId")
16-
val bgId: Long? = null
16+
val bgId: Long? = null,
17+
@get:Schema(title = "remotedev管理员")
18+
val remotedevManager: String? = null
1719
)

src/backend/ci/core/project/biz-project/src/main/kotlin/com/tencent/devops/project/dao/ProjectDao.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,9 @@ class ProjectDao {
196196
)
197197
}
198198
}
199+
if (queryRemoteDevFlag == true) {
200+
conditions.add(JooqUtils.jsonExtractAny<Boolean>(PROPERTIES, "\$.remotedev").isTrue)
201+
}
199202
}
200203
}
201204
return conditions

src/backend/ci/core/project/biz-project/src/main/kotlin/com/tencent/devops/project/service/impl/AbsProjectServiceImpl.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1044,6 +1044,7 @@ abstract class AbsProjectServiceImpl @Autowired constructor(
10441044
limit: Int,
10451045
offset: Int
10461046
): List<ProjectByConditionDTO> {
1047+
logger.info("list projects by condition:$projectConditionDTO|$limit|$offset")
10471048
return projectDao.listProjectsByCondition(
10481049
dslContext = dslContext,
10491050
projectConditionDTO = projectConditionDTO,
@@ -1055,7 +1056,12 @@ abstract class AbsProjectServiceImpl @Autowired constructor(
10551056
englishName = it.englishName,
10561057
permission = true,
10571058
routerTag = buildRouterTag(it.routerTag),
1058-
bgId = it.bgId
1059+
bgId = it.bgId,
1060+
remotedevManager = it.properties?.let { properties ->
1061+
JsonUtil.to(
1062+
properties, ProjectProperties::class.java
1063+
)
1064+
}?.remotedevManager
10591065
)
10601066
}
10611067
}

0 commit comments

Comments
 (0)