From 02ddc35714cbd1688b7cb057f770f1410de79dab Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期五, 11 三月 2022 12:19:33 +0800 Subject: [PATCH] PIPL Updated Code 20220311 --- force-app/main/default/classes/NFM503InfoFileBatch.cls | 184 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 142 insertions(+), 42 deletions(-) diff --git a/force-app/main/default/classes/NFM503InfoFileBatch.cls b/force-app/main/default/classes/NFM503InfoFileBatch.cls index 4ffb76d..d9199c8 100644 --- a/force-app/main/default/classes/NFM503InfoFileBatch.cls +++ b/force-app/main/default/classes/NFM503InfoFileBatch.cls @@ -1,8 +1,18 @@ global class NFM503InfoFileBatch implements Database.Batchable<sObject>, Database.AllowsCallouts, Database.Stateful { public String TenId; public String bidInfoFileID; + //add staic sushanhu 20220302 start + public static String transUrl; + public static String transId; + public static String token; + //add staic sushanhu 20220302 end Boolean IsNeedExecute = false; //2021-06-28 mzy WLIG-BYHD79 SFDC鐜batch鍚堝苟璋冩煡 鏄惁绗﹀悎鎵ц鏉′欢 - + //add nfm 503 aws response start sushanhu 20220301 + global class File{ + public String key; + public String name; + } + //add nfm 503 aws response sushanhu 20220301 end //2021-06-28 mzy update 鍗冮噷椹�-Batch start global NFM503InfoFileBatch() { this.IsNeedExecute = true; @@ -33,9 +43,12 @@ global void execute(Database.BatchableContext BC, list<bidInfoFile__c> bidInfoFileList) { Savepoint sp; bidInfoFile__c bidInfoFile = bidInfoFileList[0]; - + List<String> queryfileList = new List<String>(); + queryfileList.add(bidInfoFile.infoAddress__c); try { - String token; + //update 鍚宻taic 20220302 satrt + // String token; + //update 鍚宻taic 20220302 end Datetime oldTime; // 浠庤浆鎹㈣〃涓幏鍙杢oken BatchIF_Transfer__c token503 = [Select ID, NFM501_Token__c @@ -56,7 +69,9 @@ } // System.debug('++++1++++' + token + ' : ' + timeslot); if (string.isblank(token) || timeslot > 1800000) { - NFMUtil.response response = NFMUtil.receiveToken(); + //UP TO AWAS TOKEN 20220225 SUSHANHU START + NFMUtil.response response = NFMUtil.getAWSToken(); + //UP TO AWAS TOKEN 20220225 SUSHANHU END if (String.isBlank(response.responseBody)) { bidInfoFile.ErrorMessage__c = '503token:' + response.status; } @@ -65,53 +80,133 @@ token503.NFM501_Token__c = token; oldTime503.NFM501_Gain_End_Time__c = oldTime; } - // 瀛樻斁瓒呰繃12M鐨勯檮浠� - List<Attachment> TenOtherAttList = new List<Attachment>(); - // 瀛樻斁鎵�鏈夐檮浠� - List<String> FileList = new List<String>(); - // 濡傛灉鏂囦欢澶у皬瓒呰繃12M鏇存柊 - List< Tender_information__c> updateTenderList = new List< Tender_information__c>(); - // 鑾峰彇鎺ュ彛3涓暟鎹� - NFMUtil.response503 response = NFMUtil.getFileData(token, bidInfoFile.infoAddress__c); - // 鏂囦欢澶у皬瓒呰繃12M - if (response.Name.equals('鏂囦欢澶у皬瓒呰繃12M')) { - id tendID = bidInfoFile.Tender_information__c; - Tender_information__c tempTender = new Tender_information__c(); - tempTender.id = tendID; - tempTender.File_Surpass_12M__c = true; - if (String.isBlank(tempTender.Overstep_12M_infofile__c)) { - tempTender.Overstep_12M_infofile__c = bidInfoFile.infoAddress__c; - } else { - if (!tempTender.Overstep_12M_infofile__c.contains(bidInfoFile.infoAddress__c)) { - // List<String> urlList = singleFile.split(','); - tempTender.Overstep_12M_infofile__c += bidInfoFile.infoAddress__c + ','; - } - } - updateTenderList.add(tempTender); + // // 瀛樻斁瓒呰繃12M鐨勯檮浠� + // List<Attachment> TenOtherAttList = new List<Attachment>(); + // // 瀛樻斁鎵�鏈夐檮浠� + // List<String> FileList = new List<String>(); + // // 濡傛灉鏂囦欢澶у皬瓒呰繃12M鏇存柊 + // List< Tender_information__c> updateTenderList = new List< Tender_information__c>(); + // // 鑾峰彇鎺ュ彛3涓暟鎹� + // NFMUtil.response503 response = NFMUtil.getFileData(token, bidInfoFile.infoAddress__c); + //UP TO NEW AWS method sushanhu start 20220301 + // List< Tender_information__c> updateTenderList = new List< Tender_information__c>(); + List<FileAddress__c> fileList = new List<FileAddress__c>(); + PIHelper.piIntegration pi =PIHelper.getPIIntegrationInfo('NFM503'); + transUrl =pi.searchUrl; + NFMUtil.response response = NFMUtil.getAWSQLMData(pi.newUrl ,JSON.serialize(queryfileList), token); + system.debug('aws result'+response.responseBody); + + Map<String, Object> result = (Map<String, Object>)JSON.deserializeUntyped(response.responseBody); + system.debug('NFM503 aws result--'+response.responseBody+'status'+response.status); + transId =(String)result.get('txId'); + //UP TO NEW AWS method sushanhu start 20220301 + // 鏂板緱瀛樺偍 涓嶉渶瑕佸垽鏂枃浠惰秴杩�12m + // // 鏂囦欢澶у皬瓒呰繃12M + // if (response.Name.equals('鏂囦欢澶у皬瓒呰繃12M')) { + // id tendID = bidInfoFile.Tender_information__c; + // Tender_information__c tempTender = new Tender_information__c(); + // tempTender.id = tendID; + // tempTender.File_Surpass_12M__c = true; + // if (String.isBlank(tempTender.Overstep_12M_infofile__c)) { + // tempTender.Overstep_12M_infofile__c = bidInfoFile.infoAddress__c; + // } else { + // if (!tempTender.Overstep_12M_infofile__c.contains(bidInfoFile.infoAddress__c)) { + // // List<String> urlList = singleFile.split(','); + // tempTender.Overstep_12M_infofile__c += bidInfoFile.infoAddress__c + ','; + // } + // } + // updateTenderList.add(tempTender); + // } + // // 灏嗚幏鍙栧埌鐨勬暟鎹瓨鎴愰檮浠� + // Attachment WebAtt = new Attachment(); + // WebAtt.ParentId = bidInfoFile.Tender_information__c; + // WebAtt.Body = response.responseBody; + // WebAtt.Name = bidInfoFile.Tender_information__r.InfoType__c + ':' + response.Name; + // if (!response.Name.equals('鏂囦欢澶у皬瓒呰繃12M')) { + // TenOtherAttList.add(WebAtt); + // } + // sp = Database.setSavepoint(); + + // if (updateTenderList.size() > 0) { + // update updateTenderList; + // } + + // System.debug('----1----' + TenOtherAttList); + // if (TenOtherAttList.size() > 0 ) { + // upsert TenOtherAttList; + // } + + // bidInfoFileList[0].isProcessed__c = true; + // bidInfoFileList[0].ErrorMessage__c = ''; + + // update bidInfoFileList; + // if (System.Test.isRunningTest()) { + // throw new ControllerUtil.myException('aaa'); + // } + // return; + String statusCode =String.valueOf(result.get('status')) ; + system.debug('statuscode aws-- '+statusCode); + if (!'0'.equals(statusCode)) { + System.debug('response.responseBody:' + response.responseBody); + return; } - // 灏嗚幏鍙栧埌鐨勬暟鎹瓨鎴愰檮浠� - Attachment WebAtt = new Attachment(); - WebAtt.ParentId = bidInfoFile.Tender_information__c; - WebAtt.Body = response.responseBody; - WebAtt.Name = bidInfoFile.Tender_information__r.InfoType__c + ':' + response.Name; - if (!response.Name.equals('鏂囦欢澶у皬瓒呰繃12M')) { - TenOtherAttList.add(WebAtt); - } + Map<String, Object> fileMap = (Map<String, Object >)result.get('object'); + system.debug('fileMap'+fileMap.toString()); + Map<String, Object> fileVO =(Map<String, Object>)fileMap.get(bidInfoFile.infoAddress__c); + + String Name =(String)fileVO.get('name'); + // if (Name.equals('鏂囦欢澶у皬瓒呰繃12M')) { + // id tendID = bidInfoFile.Tender_information__c; + // Tender_information__c tempTender = new Tender_information__c(); + // tempTender.id = tendID; + // tempTender.File_Surpass_12M__c = true; + // if (String.isBlank(tempTender.Overstep_12M_infofile__c)) { + // tempTender.Overstep_12M_infofile__c = bidInfoFile.infoAddress__c; + // } else { + // if (!tempTender.Overstep_12M_infofile__c.contains(bidInfoFile.infoAddress__c)) { + // // List<String> urlList = singleFile.split(','); + // tempTender.Overstep_12M_infofile__c += bidInfoFile.infoAddress__c + ','; + // } + // } + // updateTenderList.add(tempTender); + // } + + //灏嗚幏鍙栫殑AWS鏂囦欢鍦板潃瀛樺偍 + FileAddress__c file = new FileAddress__c(); + file.ParentRecordId__c = bidInfoFile.Tender_information__c; + file.FileName__c = bidInfoFile.Tender_information__r.InfoType__c + ':' + Name; + file.DownloadLink__c =pi.undeleteUrl+(String)fileVO.get('key')+'&fileName='+file.FileName__c; + file.ViewLink__c = pi.queryUrl+(String)fileVO.get('key'); + file.AWS_File_Key__c =(String)fileVO.get('key'); + fileList.add(file); sp = Database.setSavepoint(); - if (updateTenderList.size() > 0) { - update updateTenderList; - } - - System.debug('----1----' + TenOtherAttList); - if (TenOtherAttList.size() > 0 ) { - upsert TenOtherAttList; + System.debug('----1----' + fileList); + if (fileList.size() > 0 ) { + upsert fileList; } bidInfoFileList[0].isProcessed__c = true; bidInfoFileList[0].ErrorMessage__c = ''; update bidInfoFileList; + // add 纭浜嬪姟 sushanhu 20220302 start + List<String> sfRecordIds = new List<String>(); + for (FileAddress__c fileAddress : fileList) { + sfRecordIds.add(fileAddress.Id); + system.debug('fileAddress.Id---'+fileAddress.Id); + } + system.debug('鎴愬姛鐨則oken'+token); + + PIHelper.confirmFileTrans('NFM503',1,JSON.serialize(sfRecordIds),transId,token,transUrl); + + // if (!confirm) { + // //鍥炴粴 + // if (sp != null) { + // Database.rollback(sp); + // } + // } + // add 纭浜嬪姟 sushanhu 20220302 end if (System.Test.isRunningTest()) { throw new ControllerUtil.myException('aaa'); } @@ -120,7 +215,12 @@ if (sp != null) { Database.rollback(sp); } + //add 纭浜嬪姟 20220302 sushanhu start + system.debug('澶辫触鐨則oken'+token); + PIHelper.confirmFileTrans('NFM503',0,'',transId,token,transUrl); + //add 纭浜嬪姟 20220302 sushanhu end bidInfoFile.ErrorMessage__c = '503鎶涘嚭寮傚父锛�' + ex.getMessage() + '\n' + ex.getStackTraceString(); + system.debug('ErrorMessage'+bidInfoFile.ErrorMessage__c); } update bidInfoFile; } -- Gitblit v1.9.1