global class FileBatchDeleteController { //先删除salesforce的附件 WebService static String fileSFDelete(List idList){ Savepoint sp = Database.setSavepoint(); try{ //sf删除 Database.delete(idList); return 'success'; }catch(Exception e){ Database.rollback(sp); System.debug('失败原因是 : ' + e.getMessage()); return '失败原因是 : ' + e.getMessage(); } } //再删除AWS那边的附件 WebService static String fileAWSDelete(List keyList){ try { // System.debug('keyList = ' + keyList); // Map> keyMap = new Map>(); // keyMap.put('keys' , keyList); String keyJson = JSON.serialize(keyList); System.debug('keyJson = ' + keyJson); String deleteUrl = ''; PIHelper.PIIntegration staticResource = null; 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 'AWS_Integration_Info__mdt没配置'; }else { deleteUrl = awsConfiguration.Host_URL__c + '/api/file/delete'; staticResource = PIHelper.getPIIntegrationInfo('Document'); } Http http = new Http(); HttpRequest request = new HttpRequest(); // 设置网络服务接口的地址 request.setEndpoint(deleteUrl); // 设置REST方法 request.setMethod('POST'); // 设置请求的Header,类型为JSON request.setHeader('Content-Type', 'application/json'); // 设置请求的token request.setHeader('pi-token', staticResource.token); // 将一个JSON对象传入请求的Body,设置编程语言的名字 request.setBody(keyJson); // 发送HTTP请求 HttpResponse response = http.send(request); System.debug(response); // 检查HTTP通信结果状态代码 if (response.getStatusCode() == 200) { //在控制台输出通信结果 System.debug(response.getBody()); } return 'success'; } catch (Exception e) { System.debug('失败原因是 : ' + e.getMessage()); return '失败原因是 : ' + e.getMessage(); } } }