Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.tencent.bk.sdk.iam.service.v2.impl.V2ManagerServiceImpl Maven / Gradle / Ivy
/*
* TencentBlueKing is pleased to support the open source community by making
* 蓝鲸智云-权限中心Java SDK(iam-java-sdk) available.
* Copyright (C) 2017-2021 THL A29 Limited, a Tencent company. All rights reserved.
* Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://opensource.org/licenses/MIT
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
package com.tencent.bk.sdk.iam.service.v2.impl;
import com.fasterxml.jackson.core.type.TypeReference;
import com.tencent.bk.sdk.iam.config.IamConfiguration;
import com.tencent.bk.sdk.iam.constants.ManagerScopesEnum;
import com.tencent.bk.sdk.iam.constants.V2IamUri;
import com.tencent.bk.sdk.iam.dto.CallbackApplicationDTO;
import com.tencent.bk.sdk.iam.dto.GradeManagerApplicationCreateDTO;
import com.tencent.bk.sdk.iam.dto.GradeManagerApplicationUpdateDTO;
import com.tencent.bk.sdk.iam.dto.PageInfoDTO;
import com.tencent.bk.sdk.iam.dto.ResponseData;
import com.tencent.bk.sdk.iam.dto.V2PageInfoDTO;
import com.tencent.bk.sdk.iam.dto.action.GroupAction;
import com.tencent.bk.sdk.iam.dto.application.ApplicationDTO;
import com.tencent.bk.sdk.iam.dto.application.ApplicationVO;
import com.tencent.bk.sdk.iam.dto.manager.AuthorizationScopes;
import com.tencent.bk.sdk.iam.dto.manager.GroupMemberVerifyInfo;
import com.tencent.bk.sdk.iam.dto.manager.ManagerRoleGroup;
import com.tencent.bk.sdk.iam.dto.manager.RoleGroupMemberInfo;
import com.tencent.bk.sdk.iam.dto.manager.dto.CreateManagerDTO;
import com.tencent.bk.sdk.iam.dto.manager.dto.CreateSubsetManagerDTO;
import com.tencent.bk.sdk.iam.dto.manager.dto.GroupMemberRenewApplicationDTO;
import com.tencent.bk.sdk.iam.dto.manager.dto.ManagerMemberGroupDTO;
import com.tencent.bk.sdk.iam.dto.manager.dto.ManagerRoleGroupDTO;
import com.tencent.bk.sdk.iam.dto.manager.dto.SearchGroupDTO;
import com.tencent.bk.sdk.iam.dto.manager.dto.SearchTemplatesDTO;
import com.tencent.bk.sdk.iam.dto.manager.dto.UpdateManagerDTO;
import com.tencent.bk.sdk.iam.dto.manager.dto.UpdateSubsetManagerDTO;
import com.tencent.bk.sdk.iam.dto.manager.vo.CreateVo;
import com.tencent.bk.sdk.iam.dto.manager.vo.ManagerGroupMemberVo;
import com.tencent.bk.sdk.iam.dto.manager.vo.SubjectTemplateVO;
import com.tencent.bk.sdk.iam.dto.manager.vo.V2ManagerRoleGroupVO;
import com.tencent.bk.sdk.iam.dto.response.CallbackApplicationResponese;
import com.tencent.bk.sdk.iam.dto.response.GradeManagerApplicationResponse;
import com.tencent.bk.sdk.iam.dto.response.GroupPermissionDetailResponseDTO;
import com.tencent.bk.sdk.iam.dto.response.ManagerDetailResponse;
import com.tencent.bk.sdk.iam.dto.response.MemberGroupDetailsResponse;
import com.tencent.bk.sdk.iam.dto.response.ResponseDTO;
import com.tencent.bk.sdk.iam.exception.IamException;
import com.tencent.bk.sdk.iam.service.impl.ApigwHttpClientServiceImpl;
import com.tencent.bk.sdk.iam.service.v2.V2ManagerService;
import com.tencent.bk.sdk.iam.util.AuthRequestContext;
import com.tencent.bk.sdk.iam.util.HttpUtils;
import com.tencent.bk.sdk.iam.util.JsonUtil;
import com.tencent.bk.sdk.iam.util.ResponseUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.List;
import java.util.Map;
@Slf4j
public class V2ManagerServiceImpl implements V2ManagerService {
private final ApigwHttpClientServiceImpl apigwHttpClientService;
private final IamConfiguration iamConfiguration;
public V2ManagerServiceImpl(ApigwHttpClientServiceImpl apigwHttpClientService, IamConfiguration iamConfiguration) {
this.apigwHttpClientService = apigwHttpClientService;
this.iamConfiguration = iamConfiguration;
}
@Override
public Integer batchCreateRoleGroupV2(Integer gradeManagerId, ManagerRoleGroupDTO managerRoleGroupDTO) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_GRADE_GROUP_CREATE");
String url = String.format(V2IamUri.V2_MANAGER_GRADE_GROUP_CREATE, iamConfiguration.getSystemId(), gradeManagerId);
String responseStr = apigwHttpClientService.doHttpPost(url, managerRoleGroupDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("create v2 manager role group response|{}", responseStr);
ResponseDTO> responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData().get(0);
}
} else {
log.warn("create v2 manager role group got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("create v2 manager role group failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public void updateRoleGroupV2(Integer groupId, ManagerRoleGroup managerRoleGroup) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_UPDATE");
String responseStr = apigwHttpClientService.doHttpPut(String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_UPDATE, iamConfiguration.getSystemId(), groupId), managerRoleGroup);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("update V2 manager role group response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("update V2 manager role group got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("update V2 manager role group failed", e);
throw new RuntimeException(e);
}
}
@Override
public void deleteRoleGroupV2(Integer groupId) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_DELETE");
String responseStr = apigwHttpClientService.doHttpDelete(String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_DELETE, iamConfiguration.getSystemId(), groupId));
if (StringUtils.isNotBlank(responseStr)) {
log.debug("delete V2 manager role group response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("delete V2 manager role group got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("delete V2 manager role group failed", e);
throw new RuntimeException(e);
}
}
@Override
public void grantRoleGroupV2(Integer groupId, AuthorizationScopes authorizationScopes) {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_GRANT");
String url = String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_GRANT, iamConfiguration.getSystemId(), groupId);
try {
String responseStr = apigwHttpClientService.doHttpPost(url, authorizationScopes);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("grant V2 role group response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("grant V2 role group got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("grant V2 role group failed", e);
throw new RuntimeException(e);
}
}
@Override
public void createRoleGroupMemberV2(Integer groupId, ManagerMemberGroupDTO managerMemberGroupDTO) {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_MEMBER_CREATE");
String url = String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_MEMBER_CREATE, iamConfiguration.getSystemId(), groupId);
try {
String responseStr = apigwHttpClientService.doHttpPost(url, managerMemberGroupDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("create V2 role group member response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("create V2 role group member got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("create V2 role group member failed", e);
throw new RuntimeException(e);
}
}
@Override
public void deleteRoleGroupMemberV2(Integer groupId, String type, String members) {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_MEMBER_DEL");
String url = String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_MEMBER_DEL, iamConfiguration.getSystemId(), groupId, type, members);
try {
String responseStr = apigwHttpClientService.doHttpDelete(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("delete V2 role group member response|{}", responseStr);
System.out.println(responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("delete V2 role group member got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("delete V2 role group member failed", e);
throw new RuntimeException(e);
}
}
@Override
public ManagerGroupMemberVo getRoleGroupMemberV2(Integer groupId, V2PageInfoDTO pageInfoDTO) {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_MEMBER_GET");
String url = v2BuildURLPage(String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_MEMBER_GET, iamConfiguration.getSystemId(), groupId), pageInfoDTO);
try {
String responseStr = apigwHttpClientService.doHttpGet(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("get V2 role group member response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("get V2 role group member got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("get V2 role group member failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public ResponseData listRoleGroupTemplates(Integer groupId, V2PageInfoDTO pageInfoDTO) {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_TEMPLATES_LIST");
String url = v2BuildURLPage(String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_TEMPLATES_LIST, iamConfiguration.getSystemId(), groupId), pageInfoDTO);
try {
String responseStr = apigwHttpClientService.doHttpGet(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("list role group templates response|{}", responseStr);
ResponseDTO> responseInfo = JsonUtil.fromJson(
responseStr,
new TypeReference>>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("list role group templates got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("list role group templates failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public void renewalRoleGroupMemberV2(Integer groupId, ManagerMemberGroupDTO managerMemberGroupDTO) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_MEMBER_RENEWAL");
String responseStr = apigwHttpClientService.doHttpPut(String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_MEMBER_RENEWAL, iamConfiguration.getSystemId(), groupId), managerMemberGroupDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("renewal v2 manager role group response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("renewal v2 manager role group got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("renewal v2 manager role group failed", e);
throw new RuntimeException(e);
}
}
@Override
public void renewalRoleGroupMemberApplication(GroupMemberRenewApplicationDTO groupMemberRenewApplicationDTO) {
try {
AuthRequestContext.setRequestName("V2_GROUPS_RENEW_APPLICATIONS");
String url = String.format(V2IamUri.V2_GROUPS_RENEW_APPLICATIONS, iamConfiguration.getSystemId());
String responseStr = apigwHttpClientService.doHttpPost(url, groupMemberRenewApplicationDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("renewal role group member application response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("renewal role group member application got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("renewal role group member application failed", e);
throw new RuntimeException(e);
}
}
@Override
public List listMemberGroupsDetails(String memberType, String memberId, String groupIds) {
try {
AuthRequestContext.setRequestName("V2_MEMBER_GROUPS_DETAILS_LIST");
String url = String.format(V2IamUri.V2_MEMBER_GROUP_DETAILS_GET,
iamConfiguration.getSystemId(),
memberType,
memberId,
groupIds
);
String responseStr = apigwHttpClientService.doHttpGet(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("list member groups details response|{}", responseStr);
ResponseDTO> responseInfo =
JsonUtil.fromJson(responseStr, new TypeReference>>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("list member groups details got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("list member groups details failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public List getRoleGroupActionV2(Integer groupId) {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_ACTION_GET");
String url = String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_ACTION_GET, iamConfiguration.getSystemId(), groupId);
try {
String responseStr = apigwHttpClientService.doHttpGet(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("get V2 role group action response|{}", responseStr);
ResponseDTO> responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("get V2 role group action got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("get V2 role group action failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public List getGroupPermissionDetail(Integer groupId) {
return getGroupPermissionDetail(groupId, iamConfiguration.getSystemId());
}
@Override
public List getGroupPermissionDetail(Integer groupId, String systemId) {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_PERMISSION_DETAIL_GET");
String url = String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_PERMISSION_DETAIL_GET, systemId, groupId);
try {
String responseStr = apigwHttpClientService.doHttpGet(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("get Group Permission Detail response|{}", responseStr);
ResponseDTO> responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("get Group Permission Detail got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("get Group Permission Detail failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public Map verifyGroupValidMember(String userId, String groupIds) {
try {
AuthRequestContext.setRequestName("V2_VERIFY_GROUP_VALID_MEMBER");
String url = String.format(V2IamUri.V2_VERIFY_GROUP_VALID_MEMBER, iamConfiguration.getSystemId(), userId, groupIds);
String responseStr = apigwHttpClientService.doHttpGet(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("verify group valid member response|{}", responseStr);
ResponseDTO> responseInfo =
JsonUtil.fromJson(responseStr,
new TypeReference>>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("verify group valid member got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("verify group valid member failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public Map verifyGroupValidDepartment(String departmentId, String groupIds) {
try {
AuthRequestContext.setRequestName("V2_VERIFY_GROUP_VALID_DEPARTMENT");
String url = String.format(V2IamUri.V2_VERIFY_GROUP_VALID_DEPARTMENT, iamConfiguration.getSystemId(), departmentId, groupIds);
String responseStr = apigwHttpClientService.doHttpGet(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("verify group valid department response|{}", responseStr);
ResponseDTO> responseInfo =
JsonUtil.fromJson(responseStr,
new TypeReference>>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("verify group valid department got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("verify group valid department failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public Integer createSubsetManager(String gradeManagerId, CreateSubsetManagerDTO createSubsetManagerDTO) throws IOException {
try {
AuthRequestContext.setRequestName("V2_SUBSET_GRADE_MANAGER_CREATE");
String url = String.format(V2IamUri.V2_SUBSET_GRADE_MANAGER_CREATE, iamConfiguration.getSystemId(), gradeManagerId);
String responseStr = apigwHttpClientService.doHttpPost(url, createSubsetManagerDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("create subset manager response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData().getId();
}
} else {
log.warn("create subset manager got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("create subset manager failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public Integer batchCreateSubsetRoleGroup(Integer subsetManagerId, ManagerRoleGroupDTO managerRoleGroupDTO) {
try {
AuthRequestContext.setRequestName("V2_SUBSET_GRADE_MANAGER_GROUP_CREATE");
String url = String.format(V2IamUri.V2_SUBSET_GRADE_MANAGER_GROUP_CREATE, iamConfiguration.getSystemId(), subsetManagerId);
String responseStr = apigwHttpClientService.doHttpPost(url, managerRoleGroupDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("create subset manager role group response|{}", responseStr);
ResponseDTO> responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData().get(0);
}
} else {
log.warn("create subset manager role group got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("create subset manager role group failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public V2ManagerRoleGroupVO getSubsetManagerRoleGroup(Integer subsetManagerId, V2PageInfoDTO pageInfoDTO) {
try {
AuthRequestContext.setRequestName("V2_SUBSET_GRADE_MANAGER_GROUP_GET");
String responseStr = apigwHttpClientService.doHttpGet(v2BuildURLPage(
String.format(V2IamUri.V2_SUBSET_GRADE_MANAGER_GROUP_GET, iamConfiguration.getSystemId(),
subsetManagerId.toString()), pageInfoDTO));
if (StringUtils.isNotBlank(responseStr)) {
log.debug("get subeset manager role group response|{}", responseStr);
ResponseDTO responseInfo =
JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("get subeset manager role group got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("get subeset manager role group failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public ManagerDetailResponse getGradeManagerDetail(String gradeManagerId) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_DETAIL_GET");
String responseStr = apigwHttpClientService.doHttpGet(
String.format(V2IamUri.V2_MANAGER_ROLE_DETAIL_GET, iamConfiguration.getSystemId(), gradeManagerId));
if (StringUtils.isNotBlank(responseStr)) {
log.debug("get subeset manager role group response|{}", responseStr);
ResponseDTO responseInfo =
JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("get grade manager detail got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("get grade manager detail failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public V2ManagerRoleGroupVO getGradeManagerRoleGroupV2(String gradeManagerId, SearchGroupDTO searchGroupDTO, V2PageInfoDTO pageInfoDTO) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_GRADE_GROUP_GET");
String url = v2BuildURLPage(String.format(V2IamUri.V2_MANAGER_GRADE_GROUP_GET, iamConfiguration.getSystemId(), gradeManagerId), pageInfoDTO);
if (searchGroupDTO != null) {
String s = HttpUtils.joinParams(searchGroupDTO);
if (StringUtils.isNotBlank(s))
url = url.concat("&".concat(s));
}
String responseStr = apigwHttpClientService.doHttpGet(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("get subeset manager role group response|{}", responseStr);
ResponseDTO responseInfo =
JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("get subeset manager role group got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("get subeset manager role group failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public SubjectTemplateVO getGradeManagerRoleTemplate(String gradeManagerId, SearchTemplatesDTO searchTemplatesDTO, V2PageInfoDTO pageInfoDTO) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_GRADE_TEMPLATE_GET");
String url = v2BuildURLPage(String.format(V2IamUri.V2_MANAGER_GRADE_TEMPLATE_GET, iamConfiguration.getSystemId(), gradeManagerId), pageInfoDTO);
if (searchTemplatesDTO != null) {
String s = HttpUtils.joinParams(searchTemplatesDTO);
if (StringUtils.isNotBlank(s))
url = url.concat("&".concat(s));
}
String responseStr = apigwHttpClientService.doHttpGet(url);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("get grade manager role template response|{}", responseStr);
ResponseDTO responseInfo =
JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("get grade manager role template response got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("get grade manager role template response failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public GradeManagerApplicationResponse createGradeManagerApplication(GradeManagerApplicationCreateDTO gradeManagerApplicationCreateDTO) {
try {
AuthRequestContext.setRequestName("V2_GRADE_MANAGER_APPLICATION_CREATE");
log.info("iam-sdk gradeManagerApplicationCreateDTO : {}", gradeManagerApplicationCreateDTO);
String url = String.format(V2IamUri.V2_GRADE_MANAGER_APPLICATION_CREATE, iamConfiguration.getSystemId());
String responseStr = apigwHttpClientService.doHttpPost(url, gradeManagerApplicationCreateDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("create grade manager application response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("create grade manager application got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("create grade manager application failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public GradeManagerApplicationResponse updateGradeManagerApplication(String gradeManagerId, GradeManagerApplicationUpdateDTO gradeManagerApplicationUpdateDTO) {
try {
AuthRequestContext.setRequestName("V2_GRADE_MANAGER_APPLICATION_UPDATE");
String url = String.format(V2IamUri.V2_GRADE_MANAGER_APPLICATION_UPDATE, iamConfiguration.getSystemId(), gradeManagerId);
String responseStr = apigwHttpClientService.doHttpPost(url, gradeManagerApplicationUpdateDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("update grade manager application response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("update grade manager application got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("update grade manager application failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public Integer createManagerV2(CreateManagerDTO createManagerDTO) throws IOException {
try {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_CREATE");
String url = String.format(V2IamUri.V2_MANAGER_ROLE_CREATE, iamConfiguration.getSystemId());
String responseStr = apigwHttpClientService.doHttpPost(url, createManagerDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("create manager response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData().getId();
}
} else {
log.warn("create manager got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("create manager failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public void updateManagerV2(String gradeManagerId, UpdateManagerDTO updateManagerDTO) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_UPDATE");
String responseStr = apigwHttpClientService.doHttpPut(String.format(V2IamUri.V2_MANAGER_ROLE_UPDATE, iamConfiguration.getSystemId(), gradeManagerId), updateManagerDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("update manager response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("update manager got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("update manager failed", e);
throw new RuntimeException(e);
}
}
@Override
public void deleteManagerV2(String gradeManagerId) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_DELETE");
String responseStr = apigwHttpClientService.doHttpDelete(String.format(V2IamUri.V2_MANAGER_ROLE_DELETE, iamConfiguration.getSystemId(), gradeManagerId));
if (StringUtils.isNotBlank(responseStr)) {
log.debug("delete V2 grade manager response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("delete V2 grade manager got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("delete V2 grade manager failed", e);
throw new RuntimeException(e);
}
}
@Override
public CallbackApplicationResponese handleCallbackApplication(String callbackId, CallbackApplicationDTO callbackApplicationDTO) {
try {
AuthRequestContext.setRequestName("V2_CALLBACK_APPLICATION_HANDLE");
String url = String.format(V2IamUri.V2_CALLBACK_APPLICATION_HANDLE, iamConfiguration.getSystemId(), callbackId);
String responseStr = apigwHttpClientService.doHttpPost(url, callbackApplicationDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("handle callback application response|{}", responseStr);
ResponseDTO responseInfo =
JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("handle callback application got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("handle callback application failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public Boolean cancelCallbackApplication(String callbackId) {
try {
AuthRequestContext.setRequestName("V2_CALLBACK_APPLICATION_CANCEL");
String responseStr = apigwHttpClientService.doHttpPut(String.format(V2IamUri.V2_CALLBACK_APPLICATION_CANCEL, iamConfiguration.getSystemId(), callbackId));
if (StringUtils.isNotBlank(responseStr)) {
log.debug("cancelCallbackApplication|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
if (StringUtils.isNotBlank(responseInfo.getMessage()) && responseInfo.getMessage().equals("OK"))
return true;
} else {
log.warn("cancelCallbackApplication got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("cancelCallbackApplication error", e);
throw new RuntimeException(e);
}
return false;
}
@Override
public ApplicationVO createRoleGroupApplicationV2(ApplicationDTO applicationDTO) {
try {
AuthRequestContext.setRequestName("V2_MANAGER_ROLE_GROUP_APPLICATIONS_CREATE");
String url = String.format(V2IamUri.V2_MANAGER_ROLE_GROUP_APPLICATIONS_CREATE, iamConfiguration.getSystemId());
String responseStr = apigwHttpClientService.doHttpPost(url, applicationDTO);
if (StringUtils.isNotBlank(responseStr)) {
log.debug("create v2 role group application response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("create v2 role group application got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("create v2 role group application failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public ManagerDetailResponse getSubsetManagerDetail(String subsetManagerId) {
try {
AuthRequestContext.setRequestName("V2_SUBSET_GRADE_MANAGER_DETAIL_GET");
String responseStr = apigwHttpClientService.doHttpGet(
String.format(V2IamUri.V2_SUBSET_GRADE_MANAGER_DETAIL_GET, iamConfiguration.getSystemId(), subsetManagerId));
if (StringUtils.isNotBlank(responseStr)) {
log.debug("get subeset manager detail response|{}", responseStr);
ResponseDTO responseInfo =
JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
return responseInfo.getData();
}
} else {
log.warn("get subeset manager detail got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("get subeset manager detail failed", e);
throw new RuntimeException(e);
}
return null;
}
@Override
public void updateSubsetManager(String subsetManagerId, UpdateSubsetManagerDTO updateSubsetManagerDTO) {
try {
AuthRequestContext.setRequestName("V2_SUBSET_GRADE_MANAGER_UPDATE");
String url = String.format(V2IamUri.V2_SUBSET_GRADE_MANAGER_UPDATE, iamConfiguration.getSystemId(), subsetManagerId);
String responseStr = apigwHttpClientService.doHttpPost(url, updateSubsetManagerDTO);
if (StringUtils.isNotBlank(responseStr)) {
System.out.println(responseStr);
log.debug("update subset manager response|{}", responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("update subset manager got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("update subset manager failed", e);
throw new RuntimeException(e);
}
}
@Override
public void deleteSubsetManager(String subsetManagerId) {
try {
AuthRequestContext.setRequestName("V2_SUBSET_GRADE_MANAGER_DELETE");
String responseStr = apigwHttpClientService.doHttpDelete(String.format(V2IamUri.V2_SUBSET_GRADE_MANAGER_DELETE, iamConfiguration.getSystemId(), subsetManagerId));
if (StringUtils.isNotBlank(responseStr)) {
log.debug("delete V2 subset manager response|{}", responseStr);
System.out.println("delete V2 subset manager response|" + responseStr);
ResponseDTO responseInfo = JsonUtil.fromJson(responseStr, new TypeReference>() {
});
if (responseInfo != null) {
ResponseUtil.checkResponse(responseInfo);
}
} else {
log.warn("delete V2 subset manager got empty response!");
}
} catch (IamException iamException) {
throw iamException;
} catch (Exception e) {
log.error("delete V2 subset manager failed", e);
throw new RuntimeException(e);
}
}
private String buildURLPage(String iamURL, PageInfoDTO pageInfoDTO) {
StringBuffer url = new StringBuffer();
url.append(iamURL);
if (pageInfoDTO != null) {
url.append("?limit=");
url.append(pageInfoDTO.getLimit().toString());
url.append("&offset=");
url.append(pageInfoDTO.getOffset().toString());
}
return url.toString();
}
private String v2BuildURLPage(String iamURL, V2PageInfoDTO pageInfoDTO) {
StringBuffer url = new StringBuffer();
url.append(iamURL);
if (pageInfoDTO != null) {
url.append("?page_size=");
url.append(pageInfoDTO.getPageSize().toString());
url.append("&page=");
url.append(pageInfoDTO.getPage().toString());
}
return url.toString();
}
}