管理事务

诉讼或调查是一个容器,用于存储与特定主题(例如诉讼案件或调查)相关的所有数据。诉讼或调查包括:

  • 已保存的搜索查询
  • 保全
  • 共享该诉讼或调查的账号
  • 导出集
  • 审核跟踪

若要使用保险柜资源,该账号必须具有必要的保险柜权限,并且对相应事宜拥有访问权限。若要访问某项诉讼或调查,相应账号必须是该诉讼或调查的创建者、该诉讼或调查的共享对象,或者拥有查看所有诉讼或调查权限。

事项具有以下状态:

说明
打开相应事项处于有效状态,您可以在其中创建保全、运行搜索和导出数据。
已关闭通常,调查结束后,相关事宜会随之结案。

您可以随时重新打开已关闭的诉讼或调查。

已删除您可以删除某项诉讼或调查,使其完全不可用。

已删除的案件会在回收站中保留大约 30 天,在此期间可以恢复。到期后,系统会永久清除相关事项。

事项生命周期

创建诉讼或调查

以下示例会创建一个具有指定名称和说明的新事项。

Java

Matter matter = new Matter();
matter.setName("Matter Name");
matter.setDescription("Matter Description");
Matter createdMatter = client.matters().create(matter).execute();
 

Python

def create_matter(service):
  matter_content = {
      'name': 'Matter Name',
      'description': 'Matter Description',
  }
  matter = service.matters().create(body=matter_content).execute()
  return matter

获取诉讼或调查

事项有两种视图:“基本”(默认)和“完整”。“完整”视图会向“基本”视图添加案例权限

以下示例会检索指定的 Matter。

Java

client.matters().get(matterId).execute(); // Returns BASIC view.
client.matters().get(matterId).setView("BASIC").execute();
client.matters().get(matterId).setView("FULL").execute();

Python

matter_id = getMatterId()
service.matters().get(matterId=matter_id).execute(); // Returns BASIC view.
service.matters().get(matterId=matter_id, view='BASIC').execute();
service.matters().get(matterId=matter_id, view='FULL').execute();

列出事项

以下示例展示了如何列出所有待处理、已结案和已删除的诉讼或调查(每个请求最多 100 项,默认值)。

Java

List mattersList = client.matters().list().execute().getMatters();

Python

mattersList = client.matters().list().execute()

以下示例展示了如何列出多个请求中的所有未结、已结和已删除事项。

Java

ListMattersResponse firstPageResponse = client.matters().list().setPageSize(20).execute();
 
String nextPageToken = firstPageResponse.getNextPageToken());
if (nextPageToken != null) {
  client.matters().list().setPageToken(nextPageToken).setPageSize(20).execute();
}

Python

list_response1 = service.matters().list(
        view='FULL', pageSize=10).execute()
for matter in list_response1['matters']:
    print(matter)

if nextPageToken in list_response1:
    list_response2 = service.matters().list(
        pageSize=10, pageToken=list_response1['nextPageToken']).execute()
    for matter in list_response2['matters']:
      print(matter)

以下示例展示了如何列出处于特定状态的事项。

Java

// Only get open matters.
List openMattersList = client.matters().list().setState("OPEN").execute().getMatters();

// Only get closed matters.
List closedMattersList = client.matters().list().setState("CLOSED").execute().getMatters();

// Only get deleted matters.
List deletedMattersList = client.matters().list().setState("DELETED").execute().getMatters();

Python

# Only get open matters.
openMattersList = client.matters().list(
    state='OPEN').execute()

# Only get closed matters.
closedMattersList = client.matters().list(
    state='CLOSED').execute()

# Only get deleted matters.
deletedMattersList = client.matters().list(
    state='DELETED').execute()

更新诉讼或调查

以下示例会更新相关事项的名称和说明。

Java

String matterId = "matterId";
Matter matter = new Matter().setName("New Name").setDescription("New Description");
vault.matters().update(matterId, matter).execute();

Python

def update_matter(service, matter_id):
    wanted_matter = {
        'name': 'New Matter Name',
        'description': 'New Description'
    }
    updated_matter = service.matters().update(
        matterId=matter_id, body=wanted_matter).execute()
    return updated_matter

关闭诉讼或调查

以下示例展示了如何关闭问题。

Java

String matterId = "matterId";
// If the matter still has holds, this operation will fail.
client.matters().close(matterId, new CloseMatterRequest()).execute();
 

Python

def close_matter(service, matter_id):
    close_response = service.matters().close(
        matterId=matter_id, body={}).execute()
    return close_response['matter']
 

删除、取消删除或重新打开诉讼或调查

以下示例展示了如何删除、取消删除或重新打开支持请求。

Java

Matter matter = client.matters().get(matterId).execute();
 
// Delete the matter.
client.matters().delete(matter.getMatterId());
// Undelete the matter.
client.matters().undelete(matter.getMatterId(), new UndeleteRequest());
// Reopen the matter.
client.matters().reopen(matter.getMatterId(), new ReopenMatterRequest());
 

Python

def reopen_matter(service, matter_id):
    reopen_response = service.matters().reopen(
        matterId=matter_id, body={}).execute()
    return reopen_response['matter']

def delete_matter(service, matter_id):
    service.matters().delete(matterId=matter_id).execute()
    return get_matter(matter_id)

def undelete_matter(service, matter_id):
    undeleted_matter = service.matters().undelete(
        matterId=matter_id, body={}).execute()
    return undeleted_matter

 

资料权限

每个支持请求都有一组权限,用于指定哪些人可以访问或修改该请求。您可以通过查看相应事项的完整视图来查看此信息。

Java

String matterId = "Matter Id";
String accountId = "Account Id";
 
// List permissions for a matter.
Matter matter = client.matters().get(matterId).setView("FULL").execute();
List matterPermissions = matter.getMatterPermissions();
 
// Add a user to the permission set.
client
    .matters()
    .addPermissions(matterId)
    .setMatterPermissionAccountId(accountId)
    .setMatterPermissionRole("COLLABORATOR")
    .execute();
 
// Remove a user from the permission set.
client
    .matters()
    .removePermissions(matterId)
    .setAccountId(accountId)
    .execute();

Python

def list_matter_permission(service, matter_id):
    matter = service.matters().get(matterId=matter_id, view='FULL').execute()
    return matter['matterPermissions']
 
def add_matter_permission(service, matter_id, account_id):
    permission = service.matters().addPermissions(
        matterId=matter_id,
        matterPermission_accountId=account_id,
        matterPermission_role='COLLABORATOR',
        sendEmails='False',
        ccMe='False').execute()
    return permission

def remove_matter_permission(service, matter_id, account_id):
    service.matters().removePermissions(
        matterId=matter_id, accountId=account_id).execute()