/* * Author: Bubba Li * Created Date: 01/25/2022 * Purpose: Utility class for AWS Servicw * Test Class: AWSServiceTool * History: * 01/25/2022 - Bubba Li - Initial Code. * * */ public without sharing class AWSServiceTool { public static List getNoPIContact(String searchContactName,String accountId){ if(searchContactName!='' || accountId!=''){ String noPISQL = 'select Id,Name,Email,Phone,Account.Name,MobilePhone from Contact where Account_Record_Type_DeveloperName__c in('+'\'Agency\''+','+'\'Dealer\''+')'; if(String.isNotEmpty(accountId)){ noPISQL += ' and AccountId=\''+accountId+'\''; } if(String.isNotEmpty(searchContactName)){ noPISQL += ' and Name like \'%'+searchContactName+'%\''; } system.debug('noPISQL = ' + noPISQL); List partnerContactList = Database.query(noPISQL); return partnerContactList; } return new List(); } public static String getAWSToken(){ AWS_Integration_Info__mdt awsConfiguration = [SELECT App_Id__c,Token_URL__c,App_Secret__c,Host_URL__c FROM AWS_Integration_Info__mdt WHERE DeveloperName = 'AWS_Default_Configuration']; if (awsConfiguration == null) { System.debug('AWS_Integration_Info__mdt没配置'); return null; } String awsAppId = awsConfiguration.App_Id__c; String awsAppSecret = awsConfiguration.App_Secret__c; Http http = new Http(); HttpRequest request = new HttpRequest(); String url = awsConfiguration.Token_URL__c; request.setEndpoint(url); request.setMethod('GET'); if(Test.isRunningTest()){ return 'UTToken'; } HttpResponse response = http.send(request); Map results = (Map) JSON.deserializeUntyped(response.getBody()); String token = (String)results.get('object'); return token; } @future(callout=true) public static void deleteFileAddress(Set fileAddressIds){ //1. Get file address id system.debug('fileAddressId = '+ JSON.serialize(fileAddressIds)); PIHelper.PIIntegration documentPI=PIHelper.getPIIntegrationInfo('Document'); //2. Delete aws file doucment and post aws service Http http = new Http(); HttpRequest request = new HttpRequest(); String url = documentPI.deleteUrl; request.setEndpoint(url); request.setMethod('POST'); request.setHeader('pi-token',documentPI.token); request.setHeader('Content-Type', 'application/json'); request.setBody(JSON.serialize(fileAddressIds)); HttpResponse response = http.send(request); system.debug('response = ' + response); if(response.getStatusCode() == 200){ Map results = (Map) JSON.deserializeUntyped(response.getBody()); if(results.get('status')=='0'){ System.debug('成功删除'); } } } }