吸收数字员工管理端技能安装权限预览

This commit is contained in:
baiyanyun
2026-06-15 10:51:48 +08:00
parent 6ad88cb6c4
commit 053a321ec1
7 changed files with 74 additions and 4 deletions

View File

@@ -177,6 +177,18 @@ public class DigitalEmployeeAdminWorkbenchRowDto {
private String policySource;
@JsonProperty("policy_status")
private String policyStatus;
@JsonProperty("skill_install_request_id")
private String skillInstallRequestId;
@JsonProperty("skill_upgrade_request_id")
private String skillUpgradeRequestId;
@JsonProperty("permission_policy_id")
private String permissionPolicyId;
@JsonProperty("install_action_disabled")
private Boolean installActionDisabled;
@JsonProperty("upgrade_action_disabled")
private Boolean upgradeActionDisabled;
@JsonProperty("permission_edit_disabled")
private Boolean permissionEditDisabled;
@JsonProperty("tool_name")
private String toolName;
@JsonProperty("server_id")

View File

@@ -1158,6 +1158,12 @@ public class DigitalEmployeeSyncApplicationServiceImpl implements DigitalEmploye
.permissionScope(firstString(businessView.get("permission_scope"), businessView.get("permissionScope"), payload.get("permission_scope"), payload.get("permissionScope")))
.policySource(firstString(businessView.get("policy_source"), businessView.get("policySource"), businessView.get("source"), payload.get("policy_source"), payload.get("policySource"), payload.get("source")))
.policyStatus(firstString(businessView.get("policy_status"), businessView.get("policyStatus"), payload.get("policy_status"), payload.get("policyStatus")))
.skillInstallRequestId(firstString(businessView.get("skill_install_request_id"), businessView.get("skillInstallRequestId"), payload.get("skill_install_request_id"), payload.get("skillInstallRequestId")))
.skillUpgradeRequestId(firstString(businessView.get("skill_upgrade_request_id"), businessView.get("skillUpgradeRequestId"), payload.get("skill_upgrade_request_id"), payload.get("skillUpgradeRequestId")))
.permissionPolicyId(firstString(businessView.get("permission_policy_id"), businessView.get("permissionPolicyId"), payload.get("permission_policy_id"), payload.get("permissionPolicyId")))
.installActionDisabled(nullableBooleanValue(firstPresent(businessView.get("install_action_disabled"), businessView.get("installActionDisabled"), payload.get("install_action_disabled"), payload.get("installActionDisabled"))))
.upgradeActionDisabled(nullableBooleanValue(firstPresent(businessView.get("upgrade_action_disabled"), businessView.get("upgradeActionDisabled"), payload.get("upgrade_action_disabled"), payload.get("upgradeActionDisabled"))))
.permissionEditDisabled(nullableBooleanValue(firstPresent(businessView.get("permission_edit_disabled"), businessView.get("permissionEditDisabled"), payload.get("permission_edit_disabled"), payload.get("permissionEditDisabled"))))
.toolName(firstString(businessView.get("tool_name"), businessView.get("toolName"), payload.get("tool_name"), payload.get("toolName")))
.serverId(firstString(businessView.get("server_id"), businessView.get("serverId"), payload.get("server_id"), payload.get("serverId")))
.auditArchiveId(firstString(businessView.get("audit_archive_id"), businessView.get("auditArchiveId"), payload.get("audit_archive_id"), payload.get("auditArchiveId")))
@@ -1401,6 +1407,12 @@ public class DigitalEmployeeSyncApplicationServiceImpl implements DigitalEmploye
|| StringUtils.isNotBlank(row.getSkillVersion())
|| StringUtils.isNotBlank(row.getInstallStatus())
|| StringUtils.isNotBlank(row.getPermissionScope())
|| StringUtils.isNotBlank(row.getSkillInstallRequestId())
|| StringUtils.isNotBlank(row.getSkillUpgradeRequestId())
|| StringUtils.isNotBlank(row.getPermissionPolicyId())
|| row.getInstallActionDisabled() != null
|| row.getUpgradeActionDisabled() != null
|| row.getPermissionEditDisabled() != null
|| StringUtils.isNotBlank(row.getToolName())
|| StringUtils.isNotBlank(row.getServerId());
}

View File

@@ -638,7 +638,9 @@ class DigitalEmployeeSyncApplicationServiceImplTest {
"skill_version", "1.2.3",
"install_status", "installed",
"permission_scope", "browser.open,browser.screenshot",
"policy_source", "local"
"policy_source", "local",
"skill_install_request_id", "install-req-1",
"install_action_disabled", true
),
Map.of("id", "event-skill-catalog-1", "kind", "skill_catalog_snapshot")),
record("outbox-skill-policy", "event", "event-skill-policy-1", 101L, new Date(11_000),
@@ -652,7 +654,11 @@ class DigitalEmployeeSyncApplicationServiceImplTest {
"skill_version", "1.2.3",
"policy_source", "remote",
"policy_status", "disabled",
"permission_scope", "browser.open"
"permission_scope", "browser.open",
"skill_upgrade_request_id", "upgrade-req-1",
"permission_policy_id", "permission-policy-1",
"upgrade_action_disabled", true,
"permission_edit_disabled", true
),
Map.of("id", "event-skill-policy-1", "kind", "skill_policy_snapshot")),
record("outbox-notification", "notification", "notification-1", 101L, new Date(12_000),
@@ -679,8 +685,14 @@ class DigitalEmployeeSyncApplicationServiceImplTest {
assertThat(result.getRecords().get(0).getInstallStatus()).isEqualTo("installed");
assertThat(result.getRecords().get(0).getPermissionScope()).isEqualTo("browser.open,browser.screenshot");
assertThat(result.getRecords().get(0).getPolicySource()).isEqualTo("local");
assertThat(result.getRecords().get(0).getSkillInstallRequestId()).isEqualTo("install-req-1");
assertThat(result.getRecords().get(0).getInstallActionDisabled()).isTrue();
assertThat(result.getRecords().get(1).getPolicySource()).isEqualTo("remote");
assertThat(result.getRecords().get(1).getPolicyStatus()).isEqualTo("disabled");
assertThat(result.getRecords().get(1).getSkillUpgradeRequestId()).isEqualTo("upgrade-req-1");
assertThat(result.getRecords().get(1).getPermissionPolicyId()).isEqualTo("permission-policy-1");
assertThat(result.getRecords().get(1).getUpgradeActionDisabled()).isTrue();
assertThat(result.getRecords().get(1).getPermissionEditDisabled()).isTrue();
}
@Test