对批发 CBDC 示例应用程序进行故障排除

如果在中转过程中丢失数据,则可以手动输入帐户和令牌数据。

批发 CBDC 示例应用程序将账户和令牌数据存储在 Oracle Visual Builder 中的业务对象中。具体而言,帐户详细信息存储在 AccountStatus 业务对象中,令牌详细信息存储在 EarmarkingList 业务对象中。首次暂存应用程序时,这些业务对象为空。当您通过初始化令牌和创建帐户与应用程序交互时,数据将保存到这些业务对象。

如果再次暂存应用程序,并且未选择在暂存中保留现有数据,则会重置业务对象。这可能会导致业务对象与分类账之间的数据不匹配,进而导致应用程序出现故障。

您可以通过以下方法防止出现此问题:在重新暂存应用程序之前备份所有暂存数据,以及使用 Oracle Visual Builder 中的数据管理器工具在环境之间导出和导入业务对象数据。

如果在重新暂存应用程序时错误地选择使用干净数据库暂存应用程序或将暂存数据替换为开发数据,则必须通过完成以下步骤手动重新输入帐户和令牌详细信息。

  1. 使用批发 CBDC Postman 集合或机密批发 CBDC Postman 集合中的 getAllActiveAccounts 和 getAllSuspendedAccounts 端点来获取有关网络中所有帐户的信息。在机密模式下,必须为每个组织单独调用这些端点,因为您只能按组织检索账户数据。编译结果以列出整个网络中的所有帐户。
  2. 按下表中所述填充 AccountStatus 业务对象。
    AccountStatus 字段 源字段 说明
    bankAccountID account_id  
    bankName org_id  
    bankStatus Active 如果信息来自 getAllActiveAccounts 端点,则为 InActive(如果信息来自 getAllSuspendedAccounts 端点)。
    bankTokenID token_id  
    bankUserID user_id  
    bankUserRole role_name, non_account_role_name 有关角色映射信息,请参见下表。
    groupName application_groups  
    userRole 有关角色映射信息,请参见下表。
    customAccountId   自定义账户 ID
    euserids   与用户关联的注册 ID。使用逗号 (,) 分隔多个登记。
    条件 值
    role_name 为空且 non_account_role_name 为空 否
    role_name 为 NULL 且 non_account_role_name = token_admin 令牌管理
    role_name 为 NULL 且 non_account_role_name = org_admin 组织管理
    role_name 为 NULL 且 non_account_role_name = token_auditor 令牌审计者
    role_name 为 NULL 且 non_account_role_name = org_auditor 组织审核员
    non_account_role_name 为空且 role_name 不为空 role_name 的值
  3. 将 AccountStatus 业务对象中的所有其他字段留空。
  4. 使用 CurrencyCodeDetails 业务对象可获取有关令牌的信息,并用此信息填充 EarmarkingList 业务对象,如下表所述。您必须重新输入以前已初始化的所有令牌的信息。
    EarmarkingList 字段 源 说明 范例
    currencyCode CurrencyCodeDetails 中的 currencyName 批发 CBDC 应用程序使用的令牌 ID 美元
    currencyString CurrencyCodeDetails 中的 currencyDesc 批发 CBDC 应用程序使用的令牌说明 美国元
    earmarkingString   初始化令牌时输入的用途字段 [用户定义]