From f127c76b19f5316032d4bed127a1dde710c48d74 Mon Sep 17 00:00:00 2001
From: Li Jun <buli@deloitte.com.cn>
Date: 星期四, 24 三月 2022 10:10:36 +0800
Subject: [PATCH] PIPLFunctionFixBug0324
---
force-app/main/default/classes/DeveloperUtility.cls | 75 ++++++++++++++++++++++++++++++++++++-
1 files changed, 72 insertions(+), 3 deletions(-)
diff --git a/force-app/main/default/classes/DeveloperUtility.cls b/force-app/main/default/classes/DeveloperUtility.cls
index f8f0662..63de686 100644
--- a/force-app/main/default/classes/DeveloperUtility.cls
+++ b/force-app/main/default/classes/DeveloperUtility.cls
@@ -1,6 +1,16 @@
public class DeveloperUtility {
- public static List<HTTPResponse> CreateFields(string sobject_name,string [] fields){
+ public static List<HTTPResponse> CreateFields(string sobject_name,string [] fields, boolean create_field,boolean create_config){
+
+ PI_Policy_Configuration__c ppc = null;
+ if(create_config){
+ List<PI_Policy_Configuration__c> ppcs = [select id from PI_Policy_Configuration__c where Sobject_Type__c = :sobject_name];
+ if(ppcs.size()>0){
+ ppc = ppcs[0];
+ }
+ }
+
+ List<PI_Field_Policy_Detail__c> ds = new List<PI_Field_Policy_Detail__c>();
List<HTTPResponse> results = new List<HTTPResponse>();
for(string f : fields){
string old_label = f.removeEnd('__c').replace('_',' ');
@@ -10,8 +20,39 @@
system.debug('old_label='+old_label);
system.debug('label='+label);
system.debug('name='+name);
- results.add(CreateField(sobject_name,label,name,description,'Text'));
+ if(create_field){
+ system.debug(CreateField(sobject_name,label,name,description,'Text'));
+ }
+
+
+ if(create_config){
+ PI_Field_Policy_Detail__c d = new PI_Field_Policy_Detail__c();
+ d.SF_Field_API_Name__c = f;
+ d.SF_Field_Encrypted_API__c = name;
+ d.AWS_Field_API__c = f;
+ d.AWS_Encrypted_Field_API__c = name;
+ d.Field_Type__c = 'String';
+ d.Enable_Encrypt__c = true;
+ if(ppc!=null){
+ d.PI_Policy_Configuration__c = ppc.Id;
+ }
+
+ ds.add(d);
+ }
+
}
+
+ if(ppc==null){
+ ppc = new PI_Policy_Configuration__c();
+ ppc.Sobject_Type__c = sobject_name;
+ insert ppc;
+ for(PI_Field_Policy_Detail__c d : ds){
+ d.PI_Policy_Configuration__c = ppc.Id;
+ }
+ }
+
+ insert ds;
+
return results;
}
@@ -54,9 +95,37 @@
req.setBody(b);
req.setCompressed(false);
- req.setEndpoint('https://ocsm--pipl.my.salesforce.com/services/Soap/m/25.0');
+ req.setEndpoint('https://'+System.URL.getOrgDomainUrl().getHost()+'/services/Soap/m/25.0');
HTTPResponse resp = h.send(req);
+ System.debug(resp.getStatus());
System.debug(resp.getBody());
return resp;
}
+
+ public static string ToolingQuery(string query){
+
+ system.debug('query='+query);
+ String baseURL = 'https://'+System.URL.getOrgDomainUrl().getHost()+'/services/data/v41.0/tooling/query?q='+ query.replace(' ', '+');
+ HttpResponse resp = null;
+ HttpRequest req = new HttpRequest();
+ req.setMethod('GET');
+
+ req.setHeader('Authorization', 'Bearer ' + UserInfo.getsessionid());
+ req.setEndpoint(baseURL);
+
+ Http client = new Http();
+ resp = client.send(req);
+
+ system.debug(resp.getStatus());
+ system.debug(resp.getStatusCode());
+ if(resp.getStatus() == 'OK'){
+ string s = resp.getBody();
+ system.debug(resp.getBody());
+ return s;
+ }else{
+ system.debug('status is not ok,error:'+resp.getBody());
+ return null;
+ }
+
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1