From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新
---
force-app/main/default/classes/PIHelper.cls | 89 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 74 insertions(+), 15 deletions(-)
diff --git a/force-app/main/default/classes/PIHelper.cls b/force-app/main/default/classes/PIHelper.cls
index 48cc2cd..69fac60 100644
--- a/force-app/main/default/classes/PIHelper.cls
+++ b/force-app/main/default/classes/PIHelper.cls
@@ -8,6 +8,7 @@
*
* */
global without sharing class PIHelper {
+ public static Set<String> displayByOrderNumberObject = new set<String>{'Report__c'};
public static String getObjectKeyPrefix(String objName){
try{
schema.sObjectType sObjType = Schema.getGlobalDescribe().get(objName);
@@ -18,19 +19,22 @@
}
}
// confirm file transaction
- @future(callout =true)
+ // @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;
+ // 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;
@@ -44,7 +48,9 @@
result = (Boolean)results.get('success');
System.debug('result = ' + result);
traLog.Status__c = 'success';
- traLog.Response__c=response.getBody();
+ 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();
@@ -59,6 +65,7 @@
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 {
@@ -70,6 +77,8 @@
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;
@@ -83,7 +92,8 @@
result = (Boolean)results.get('success');
System.debug('result = ' + result);
traLog.Status__c = 'success';
- traLog.Response__c=response.getBody();
+ 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();
@@ -92,25 +102,57 @@
}
// Use this log method
public static void saveTransLog(String module,String awsDataId,String sfId, String transId,String content,String status,String respMsg){
+ try{
+ Transaction_Log__c traLog = new Transaction_Log__c();
+ traLog.AWS_Data_Id__c = awsDataId;
+ traLog.SFRecordId__c = sfId;
+ traLog.Module__c = 'Upsert SF ' + module;
+ traLog.TransId__c = transId;
+ traLog.Status__c = status;
+ // traLog.Request__c = content;
+ // traLog.Response__c = respMsg;
+ traLog.Interface_URL__c = traLog.Module__c;
+ insert traLog;
+ }catch(Exception e){
+ system.debug('Exception from insert log:'+e.getMessage());
+ }
+ }
+ //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();
- traLog.AWS_Data_Id__c = awsDataId;
- traLog.SFRecordId__c = sfId;
- traLog.Module__c = 'Upsert SF ' + module;
+ if (model==0) {
+ traLog.Module__c = 'ConfirmFileTransaction '+module;
+ }else {
+ traLog.Module__c = 'Confirm Transaction '+module;
+ }
+ traLog.Interface_URL__c = transUrl;
traLog.TransId__c = transId;
- traLog.Request__c = content;
- traLog.Status__c = status;
- traLog.Response__c = respMsg;
- traLog.Interface_URL__c = traLog.Module__c;
+ 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
- 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,Full_View_Unified_Contact_URL__c,TransactionURL__c from PI_Policy_Configuration__c where Sobject_Type__c =: sobjectType];
- System.debug('config = ' + config);
+ System.debug('thhsobjectType = ' + sobjectType);
+ PI_Policy_Configuration__c config = [SELECT Full_Report_URL__c,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,Sobject_Name__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,Full_View_Unified_Contact_URL__c,TransactionURL__c,Full_New_Encrypt_URL__c FROM PI_Policy_Configuration__c WHERE Sobject_Type__c =:sobjectType];
+ 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;
@@ -132,10 +174,14 @@
request.setEndpoint(url);
request.setMethod('GET');
HttpResponse response = http.send(request);
+ 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());
+
Transaction_Log__c traLog = new Transaction_Log__c();
traLog.Module__c = 'Get Token';
traLog.Status__c = 'fail';
@@ -147,7 +193,10 @@
//Insert Get Token Log
//鑾峰彇鏁忔劅瀛楁
- 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];
+ 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];
+ if(displayByOrderNumberObject.contains(sobjectType)){
+ 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 order by Order_Number__c];
+ }
List<String> vLookUpFields = new List<String>();
List<String> PIFields = new List<String>();
for (PI_Field_Policy_Detail__c PIDetail : piIntegration.PIDetails) {
@@ -161,25 +210,31 @@
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;
+ piIntegration.reportUrl = (String.isEmpty(config.Full_Report_URL__c)||String.isBlank(config.Full_Report_URL__c))?'':config.Full_Report_URL__c;//Add By Li Jun for report function 20220509
piIntegration.token = token;
piIntegration.awsAppId = awsAppId;
piIntegration.awsAppSecret = awsAppSecret;
piIntegration.vLookUpFields = vLookUpFields;
piIntegration.PIFields = PIFields;
piIntegration.sobjectPrefix = getObjectKeyPrefix(sobjectType);
+ piIntegration.awsTableName = config.Sobject_Name__c;
System.debug('piIntegration' + piIntegration);
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;}
@@ -188,14 +243,18 @@
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;}
public String awsAppSecret{set;get;}
public String transactionUrl{set;get;}
+ public String reportUrl{set;get;}//Add By Li Jun for report function 20220509
public List<String> vLookUpFields{set;get;}
public List<String> PIFields{set;get;}
public List<PI_Field_Policy_Detail__c > PIDetails{set;get;}
+ public String awsTableName{set;get;}
}
global class TransRequestBody{
public Integer isSuccess{set;get;}
--
Gitblit v1.9.1