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