From ba1c90575c47f9cb5c2ce0a20da90d3b1739b5fa Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期二, 26 四月 2022 11:47:45 +0800
Subject: [PATCH] 0425 Commit
---
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..03de8b7
--- /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 end
+
+//add for pipl sushanhu 20220311 end
+}
\ No newline at end of file
--
Gitblit v1.9.1