From 248433c920f935ffcaee52b240f0c162decc1564 Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期一, 09 五月 2022 15:16:45 +0800 Subject: [PATCH] NFMUtilUpdate --- force-app/main/default/classes/AWSServiceTool.cls | 137 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 137 insertions(+), 0 deletions(-) diff --git a/force-app/main/default/classes/AWSServiceTool.cls b/force-app/main/default/classes/AWSServiceTool.cls new file mode 100644 index 0000000..190c925 --- /dev/null +++ b/force-app/main/default/classes/AWSServiceTool.cls @@ -0,0 +1,137 @@ +/* + * 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 Boolean getAWSServiceStatus(){ + AWS_Integration_Info__mdt awsConfiguration = [SELECT Enable_AWS_Service__c FROM AWS_Integration_Info__mdt WHERE DeveloperName = 'AWS_Default_Configuration']; + if (awsConfiguration == null) { + System.debug('AWS_Integration_Info__mdt娌¢厤缃�'); + return false; + } + return awsConfiguration.Enable_AWS_Service__c; + } + 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)){ + String[] accountIds = accountId.split(','); + String accounts = ''; + for(String s : accountIds){ + accounts += ',\''+s+'\''; + } + accounts = accounts.substring(1); + System.debug('accounts = ' + accounts); + noPISQL += ' and AccountId in ('+accounts+')'; + } + 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('鎴愬姛鍒犻櫎'); + } + } + } + //add for pipl sushanhu 20220311 start + public static response sendToPiAWS(String rowDataStr, String endpoint,String awsToken) { + + Http http = new Http(); + HttpRequest req = new HttpRequest(); + HTTPResponse res; + String resb; + req.setHeader('Content-Type', 'application/json'); + req.setTimeout(120000); + req.setEndpoint(endpoint); + req.setMethod('POST'); + req.setHeader('pi-token', awsToken); + req.setBody(rowDataStr); + res = http.send(req); + string ress = String.valueOf(res.getStatusCode()) ; + resb = res.getBody(); + system.debug('ress:' + ress); + return new response(ress, resb); +} + + public class response { + public string status; + public string responseBody; + public response(string status, string responseBody ) { + this.status = status; + this.responseBody = responseBody; + } + } +//add for pipl sushanhu 20220311 end +//add for pipl sushanhu 20220311 start + public class NFMResponse{ + public Boolean SFStatus; + public String SFMessage; + public StaticResponse staticResponse; + } + public class StaticResponse{ + public string status; + public String Message; + public StaticResponse(){ + status='0'; + Message=''; + } + } + public static NFMResponse getNFMResponse(){ + NFMResponse result=new NFMResponse(); + result.staticResponse =new StaticResponse(); + return result; + + } +//add for pipl sushanhu 20220311 en + + +} \ No newline at end of file -- Gitblit v1.9.1