/*
|
* 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<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\''+','+'\'Dealer\''+')';
|
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(){
|
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('成功删除');
|
}
|
}
|
}
|
}
|