From 2d4a8d2dcad5a17127d2c73c48ddc4b67ec79448 Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期三, 06 四月 2022 11:51:58 +0800 Subject: [PATCH] PIPLDeploy0405 --- force-app/main/default/classes/NFM503InfoFileBatch.cls | 210 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 160 insertions(+), 50 deletions(-) diff --git a/force-app/main/default/classes/NFM503InfoFileBatch.cls b/force-app/main/default/classes/NFM503InfoFileBatch.cls index 4ffb76d..25c2b6b 100644 --- a/force-app/main/default/classes/NFM503InfoFileBatch.cls +++ b/force-app/main/default/classes/NFM503InfoFileBatch.cls @@ -1,8 +1,20 @@ 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; + public static integer isSuccess=0; + public static List<String> sfRecordIds =new List<String>(); + //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; @@ -18,8 +30,8 @@ global Database.QueryLocator start(Database.BatchableContext bc) { String query = 'select Id, Tender_information__c, infoAddress__c, ' + - 'Tender_information__r.InfoType__c, isProcessed__c, ' + - ' ErrorMessage__c from bidInfoFile__c where isProcessed__c = false '; + 'Tender_information__r.InfoType__c, isProcessed__c, ' + + ' ErrorMessage__c from bidInfoFile__c where isProcessed__c = false '; if (String.isNotBlank(TenId)) { query += 'and Tender_information__r.Id =: TenId'; } @@ -33,9 +45,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 @@ -55,77 +70,172 @@ timeslot = newTime.getTime() - oldTime.getTime(); } // System.debug('++++1++++' + token + ' : ' + timeslot); + PIHelper.piIntegration pi =PIHelper.getPIIntegrationInfo('NFM503'); if (string.isblank(token) || timeslot > 1800000) { - NFMUtil.response response = NFMUtil.receiveToken(); - if (String.isBlank(response.responseBody)) { - bidInfoFile.ErrorMessage__c = '503token:' + response.status; - } - token = response.responseBody; + //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; + // } + token = pi.token; oldTime = Datetime.now(); 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>(); + 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 + + if (fileList.size() > 0 ) { + for (FileAddress__c fileAddress : fileList) { + system.debug('fileAddress.Id---'+json.serialize(fileAddress)); + sfRecordIds.add(fileAddress.Id); + system.debug('fileAddress.Id---'+fileAddress.Id); + } + } + system.debug('鎴愬姛鐨則oken'+token); + isSuccess =1; + + // if (!confirm) { + // //鍥炴粴 + // if (sp != null) { + // Database.rollback(sp); + // } + // } + // add 纭浜嬪姟 sushanhu 20220302 end if (System.Test.isRunningTest()) { throw new ControllerUtil.myException('aaa'); } - return; + // return; } catch (Exception ex) { 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; } global void finish(Database.BatchableContext BC) { - + // add confirm transaction for pipl sushanhu 20220314 start + if (isSuccess==0) { + PIHelper.confirmFileTrans('NFM503',isSuccess,'',transId,token,transUrl); + }else { + PIHelper.confirmFileTrans('NFM503',isSuccess,JSON.serialize(sfRecordIds),transId,token,transUrl); + } + + // add confirm transaction for pipl sushanhu 20220314 end } } \ No newline at end of file -- Gitblit v1.9.1