From b823c7f3569cf9368e2245846e918f78f32e903a Mon Sep 17 00:00:00 2001
From: GWY <guweiyiscp096@foxmail.com>
Date: 星期五, 15 四月 2022 11:38:47 +0800
Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlympusSSBG

---
 force-app/main/default/classes/PIHelper.cls |  145 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 140 insertions(+), 5 deletions(-)

diff --git a/force-app/main/default/classes/PIHelper.cls b/force-app/main/default/classes/PIHelper.cls
index 3572a68..117d9aa 100644
--- a/force-app/main/default/classes/PIHelper.cls
+++ b/force-app/main/default/classes/PIHelper.cls
@@ -17,7 +17,88 @@
             return '';
         }    
     }
+    // confirm file transaction
+    // @future(callout =true)
+    public static void confirmFileTrans(String module,Integer isSuccess, String   sfRecordId ,String transId ,String token,String transUrl){
+        Boolean result =false;
+        Transaction_Log__c traLog = new Transaction_Log__c();
+        traLog.Module__c = 'ConfirmFileTransaction '+module;
+        traLog.Interface_URL__c = transUrl;
+        traLog.TransId__c = transId;
+        // traLog.SFRecordId__c=sfRecordId;
+        Integer MaxLogColumnLength = 131072;
+        try {
+            Http http = new Http();
+            HttpRequest request = new HttpRequest();
+            request.setEndpoint(transUrl);
+            request.setMethod('POST');
+            request.setHeader('pi-token',token);
+            request.setHeader('Content-Type', 'application/json');
+            TransRequestBody requestBody =new TransRequestBody();
+            requestBody.isSuccess=isSuccess;
+            requestBody.sfRecordId=sfRecordId;
+            requestBody.txId =transId;
+            request.setBody(JSON.serialize(requestBody));
+            system.debug('request---'+request.tostring());
+            HttpResponse response = http.send(request);
+            system.debug('token--'+token);
+            system.debug('confirm result--'+response.getBody());
+            Map<String, Object> results = (Map<String, Object>) JSON.deserializeUntyped(response.getBody());
+            result = (Boolean)results.get('success');
+            System.debug('result = ' + result);
+            traLog.Status__c = 'success';
+            String res=response.getBody();
+            traLog.Response__c=res.substring(0, (res.length() > MaxLogColumnLength ? MaxLogColumnLength : res.length()));
+           
+        } catch (Exception e) {  
+            traLog.Status__c = 'fail';
+            traLog.Response__c = e.getMessage();    
+        }
+        insert traLog;
+    }
+     // confirm tx transaction
 
+    public static void confirmTrans(String module,Integer isSuccess, String   sfRecordId ,String transId ,String token,String transUrl,List<idList> idList){
+        Boolean result =false;
+        Transaction_Log__c traLog = new Transaction_Log__c();
+        traLog.Module__c = 'Confirm Transaction '+module;
+        traLog.Interface_URL__c = transUrl;
+        traLog.TransId__c = transId;
+        Integer MaxLogColumnLength = 131072;
+        if (!String.isEmpty(sfRecordId)) {
+        traLog.SFRecordId__c=sfRecordId;
+        }else {
+        traLog.SFRecordId__c=JSON.serialize(idList);
+        }
+        
+        try {
+            Http http = new Http();
+            HttpRequest request = new HttpRequest();
+            request.setEndpoint(transUrl);
+            request.setMethod('POST');
+            request.setHeader('pi-token',token);
+            request.setHeader('Content-Type', 'application/json');
+            TransactionRequestBody requestBody =new TransactionRequestBody();
+            requestBody.isSuccess=isSuccess;
+            requestBody.sfRecordId=sfRecordId;
+            requestBody.idList=idList;
+            requestBody.txId =transId;
+            request.setBody(JSON.serialize(requestBody));
+            system.debug('request---'+request.tostring());
+            HttpResponse response = http.send(request);
+            system.debug('confirm result--'+response.getBody());
+            Map<String, Object> results = (Map<String, Object>) JSON.deserializeUntyped(response.getBody());
+            result = (Boolean)results.get('success');
+            System.debug('result = ' + result);
+            traLog.Status__c = 'success';
+            String res=response.getBody();
+            traLog.Response__c=res.substring(0, (res.length() > MaxLogColumnLength ? MaxLogColumnLength : res.length()));
+        } catch (Exception e) {  
+            traLog.Status__c = 'fail';
+            traLog.Response__c = e.getMessage();    
+        }
+        insert traLog;
+    }
     // Use this log method
     public static void saveTransLog(String module,String awsDataId,String sfId, String transId,String content,String status,String respMsg){
         Transaction_Log__c traLog = new Transaction_Log__c();
@@ -31,14 +112,42 @@
         traLog.Interface_URL__c = traLog.Module__c;
         insert traLog;
     }
+    //save qianlima log method add sushanhu 20220324
+    // model 0 涓烘枃浠� 1涓烘暟鎹�
+    public static void insertConfirmTrans(String module,Integer isSuccess, String   sfRecordId ,String transId ,Integer model,String transUrl,List<idList> idList){
+        Boolean result =false;
+        Transaction_Log__c traLog = new Transaction_Log__c();
+        if (model==0) {
+            traLog.Module__c = 'ConfirmFileTransaction '+module;
+        }else {
+            traLog.Module__c = 'Confirm Transaction '+module;
+        }
+        traLog.Interface_URL__c = transUrl;
+        traLog.TransId__c = transId;
+        Integer MaxLogColumnLength = 131072;
+        if (!String.isEmpty(sfRecordId)) {
+            traLog.Request__c=sfRecordId.substring(0, (sfRecordId.length() > MaxLogColumnLength ? MaxLogColumnLength : sfRecordId.length()));
+        }else {
+            String sfIds =JSON.serialize(idList);
+            traLog.Request__c=sfIds.substring(0, (sfIds.length() > MaxLogColumnLength ? MaxLogColumnLength : sfIds.length()));
+        }
+        if(isSuccess==0){
+            traLog.Status__c = 'fail';
+        } else {
+            traLog.Status__c='success';
+        }  
+        insert traLog;
+    }
     public static PIIntegration getPIIntegrationInfo(String sobjectType){
         PIIntegration piIntegration = new PIIntegration();
         //鏌ヨurl
+        System.debug('thhsobjectType = ' + sobjectType);
+        // PI_Policy_Configuration__c config = [SELECT Full_New_URL__c,Full_New_Encrypt_URL__c,Full_Update_Encrypt_URL__c,Full_Search_URL__c,Full_Update_URL__c,Full_Undelete_URL__c,Full_Read_URL__c,Full_Delete_URL__c,Full_View_Unified_Contact_URL__c,TransactionURL__c FROM PI_Policy_Configuration__c WHERE Sobject_Type__c =:sobjectType];
         PI_Policy_Configuration__c config = [select Full_New_URL__c,Full_Search_URL__c,Full_Update_URL__c,Full_Undelete_URL__c,Full_Read_URL__c,Full_Delete_URL__c,TransactionURL__c from PI_Policy_Configuration__c where Sobject_Type__c =: sobjectType];
-        System.debug('config = ' + config);
+        System.debug('thhconfig = ' + config);
 
         //鑾峰彇appid鍜宎ppsecret
-        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'];
+        AWS_Integration_Info__mdt awsConfiguration = [SELECT App_Id__c,Max_Query_Number__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;
@@ -60,13 +169,14 @@
             request.setEndpoint(url);
             request.setMethod('GET');
             HttpResponse response = http.send(request);
-            System.debug('response = ' + response);
+			system.debug('response.getBody()='+response.getBody());
             Map<String, Object> results = (Map<String, Object>) JSON.deserializeUntyped(response.getBody());
             token = (String)results.get('object');
             System.debug('token = ' + token);
         }catch(Exception e){
-            // System.debug(e.getMessage());
-            // System.debug(e.getStackTraceString());
+            system.debug(e.getMessage());
+            system.debug(e.getStackTraceString());
+            
             Transaction_Log__c traLog = new Transaction_Log__c();
             traLog.Module__c = 'Get Token';
             traLog.Status__c = 'fail';
@@ -78,6 +188,7 @@
         //Insert Get Token Log
 
         //鑾峰彇鏁忔劅瀛楁
+        // piIntegration.PIDetails = [select id,PI_Policy_Configuration__r.Full_New_URL__c,PI_Policy_Configuration__r.Full_New_Encrypt_URL__c,PI_Policy_Configuration__r.Full_Update_Encrypt_URL__c, Enable_Encrypt__c, SF_Field_API_Name__c,SF_Field_Encrypted_API__c, AWS_Field_API__c,AWS_Encrypted_Field_API__c,Field_Type__c from PI_Field_Policy_Detail__c  where PI_Policy_Configuration_Name__c =:sobjectType and Enable_Encrypt__c=true];
         piIntegration.PIDetails = [select id,PI_Policy_Configuration__r.Full_New_URL__c, Enable_Encrypt__c, SF_Field_API_Name__c,SF_Field_Encrypted_API__c, AWS_Field_API__c,AWS_Encrypted_Field_API__c,Field_Type__c from PI_Field_Policy_Detail__c  where PI_Policy_Configuration_Name__c =:sobjectType and Enable_Encrypt__c=true];
         List<String> vLookUpFields = new List<String>();
         List<String> PIFields = new List<String>();
@@ -92,11 +203,15 @@
         System.debug('PIFields = ' + PIFields.toString());
 
         //濉厖鏁版嵁
+        piIntegration.maxQueryNumber = Integer.valueof(awsConfiguration.Max_Query_Number__c);
         piIntegration.newUrl = config.Full_New_URL__c;
         piIntegration.updateUrl = config.Full_Update_URL__c;
         piIntegration.queryUrl = config.Full_Read_URL__c;
         piIntegration.deleteUrl = config.Full_Delete_URL__c;
         piIntegration.undeleteUrl = config.Full_Undelete_URL__c;
+        // piIntegration.viewUnifiedContactUrl = config.Full_View_Unified_Contact_URL__c;
+        // piIntegration.newEncryptUrl = config.Full_New_Encrypt_URL__c;
+        // piIntegration.updateEncryptUrl = config.Full_Update_Encrypt_URL__c;
         piIntegration.transactionURL = config.TransactionURL__c;
         piIntegration.hostUrl = awsConfiguration.Host_URL__c;
         piIntegration.searchUrl = config.Full_Search_URL__c;
@@ -110,6 +225,7 @@
         return piIntegration;
     }
     global class PIIntegration{
+        public Integer maxQueryNumber{set;get;}
         public String sobjectPrefix{set;get;}
         public String searchUrl{set;get;}
         public String newUrl{set;get;}
@@ -117,6 +233,9 @@
         public String queryUrl{set;get;}
         public String deleteUrl{set;get;}
         public String undeleteUrl{set;get;}
+        public String viewUnifiedContactUrl{set;get;}
+        public String newEncryptUrl{set;get;}
+        public String updateEncryptUrl{set;get;}
         public String hostUrl{set;get;}
         public String token{set;get;}
         public String awsAppId{set;get;}
@@ -126,4 +245,20 @@
         public List<String> PIFields{set;get;}
         public List<PI_Field_Policy_Detail__c > PIDetails{set;get;}
     }
+    global class TransRequestBody{
+        public Integer isSuccess{set;get;}
+        public String sfRecordId{set;get;}
+        public String txId{set;get;}
+        
+    }
+    global class TransactionRequestBody{
+        public Integer isSuccess{set;get;}
+        public String sfRecordId{set;get;}
+        public String txId{set;get;}
+        public List<idList> idList{set;get;} 
+    }
+    global class idList{
+        public String awsId{set;get;}
+        public String sfRecordId{set;get;}
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1