|  |  | 
 |  |  |  *  | 
 |  |  |  * */ | 
 |  |  | public without sharing class AWSServiceTool { | 
 |  |  |     public static List<Contact>  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\''+','+'\'Office\''+',\'AgencyContact\''+')'; | 
 |  |  |             if(String.isNotEmpty(accountId)){ | 
 |  |  |                 noPISQL += ' and AccountId=\''+accountId+'\''; | 
 |  |  |             } | 
 |  |  |             if(String.isNotEmpty(searchContactName)){ | 
 |  |  |                 noPISQL += ' and Name like \'%'+searchContactName+'%\''; | 
 |  |  |             } | 
 |  |  |             system.debug('noPISQL = ' + noPISQL); | 
 |  |  |             List<Contact> partnerContactList = Database.query(noPISQL); | 
 |  |  |             return partnerContactList; | 
 |  |  |         } | 
 |  |  |         return new List<Contact>(); | 
 |  |  |     } | 
 |  |  |     public static String getAWSToken(){ | 
 |  |  |         String app_id = '6LzizcRf7h8yLx28'; | 
 |  |  |         String app_secret = 'UkLohQcHNjg164SdRc7gnS4rgu4d7FjINM3mtzRbyTS6IrUP5V'; | 
 |  |  |         String url = 'https://52.83.101.205/api/token/getToken?app_id=' + app_id + '&app_secret=' + app_secret; | 
 |  |  |         HttpRequest req = new HttpRequest(); | 
 |  |  |         req.setEndpoint(url); | 
 |  |  |         req.setMethod('GET'); | 
 |  |  |         Http h = new Http(); | 
 |  |  |         HttpResponse res = h.send(req); | 
 |  |  |         return res.getBody(); | 
 |  |  |         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<String, Object> results = (Map<String, Object>) JSON.deserializeUntyped(response.getBody()); | 
 |  |  |         String token = (String)results.get('object'); | 
 |  |  |         return token; | 
 |  |  |     } | 
 |  |  |     @future(callout=true) | 
 |  |  |     public static void deleteFileAddress(Set<String> 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<String, Object> results = (Map<String, Object>) JSON.deserializeUntyped(response.getBody()); | 
 |  |  |             if(results.get('status')=='0'){ | 
 |  |  |                 System.debug('成功删除'); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |