UserService 刪除使用者查詢許可權 deleteUserPermission分析

一曲微茫發表於2024-11-21

好的,根據您提供的 userService.docx 文件內容,我提取了 deleteUserPermission 方法,並對其進行詳細分析。以下是提取的方法及其相關部分:

提取的 deleteUserPermission 方法

@Override
@Transactional(rollbackFor = Exception.class)
public DelUserPermissionResponse deleteUserPermission(DelUserPermissionRequest request) {
    String userName = request.getUserName();
    List<String> indexPatternNameList = request.getIndexPatternNameList();
    DelUserPermissionResponse response = new DelUserPermissionResponse();
    if (StringUtils.isEmpty(userName) || CollectionUtils.isEmpty(indexPatternNameList)) {
        log.error("刪除使用者關聯索引請求引數為空");
        throw new TitanException("所傳引數為空!");
    }
    List<Long> indexIdList = indexPatternService.getIndexPatternIdByNameList(indexPatternNameList);
    userPermissionService.deleteUserPermissionForUser(request.getUserName(), indexIdList);
    RespUtils.setSuccess(response);
    return response;
}

方法分析

輸入引數

  • DelUserPermissionRequest request:包含請求引數,主要包括 userName(使用者名稱)和 indexPatternNameList(索引模式名稱列表)。

輸出引數

  • DelUserPermissionResponse response:包含操作結果的響應物件。

方法步驟

  1. 建立響應物件

    DelUserPermissionResponse response = new DelUserPermissionResponse();
    
  2. 引數校驗

    if (StringUtils.isEmpty(userName) || CollectionUtils.isEmpty(indexPatternNameList)) {
        log.error("刪除使用者關聯索引請求引數為空");
        throw new TitanException("所傳引數為空!");
    }
    
    • 檢查 userName 是否為空字串。
    • 檢查 indexPatternNameList 是否為空或為空列表,如果為空則丟擲異常。
  3. 獲取索引模式ID列表

    List<Long> indexIdList = indexPatternService.getIndexPatternIdByNameList(indexPatternNameList);
    
    • 呼叫 indexPatternService.getIndexPatternIdByNameList 方法獲取索引模式ID列表。
  4. 刪除使用者許可權

    userPermissionService.deleteUserPermissionForUser(request.getUserName(), indexIdList);
    
    • 呼叫 userPermissionService.deleteUserPermissionForUser 方法刪除使用者對指定索引模式的許可權。
  5. 設定響應物件

    RespUtils.setSuccess(response);
    
    • 設定響應物件的操作成功標誌。
  6. 返回響應物件

    return response;
    

詳細分析

1. 引數校驗

  • 使用者名稱校驗:確保 userName 不為空字串。
  • 索引模式名稱列表校驗:確保 indexPatternNameList 不為空且不為空列表。

2. 獲取索引模式ID列表

  • 呼叫服務方法:呼叫 indexPatternService.getIndexPatternIdByNameList 方法獲取索引模式ID列表。

3. 刪除使用者許可權

  • 呼叫服務方法:呼叫 userPermissionService.deleteUserPermissionForUser 方法刪除使用者對指定索引模式的許可權。

4. 設定響應物件

  • 設定成功標誌:設定響應物件的操作成功標誌。

5. 返回響應物件

  • 返回結果:返回包含操作結果的響應物件。

總結

deleteUserPermission 方法的主要功能是刪除使用者對指定索引模式的許可權。具體步驟包括:

  1. 引數校驗:確保請求引數不為空。
  2. 獲取索引模式ID列表:呼叫服務方法獲取索引模式ID列表。
  3. 刪除使用者許可權:呼叫服務方法刪除使用者對指定索引模式的許可權。
  4. 設定響應物件:設定響應物件的操作成功標誌。
  5. 返回響應物件:返回包含操作結果的響應物件。

透過這個方法,可以有效地管理使用者的許可權,確保使用者能夠正確地訪問所需的索引和資源。

相關文章