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/NFM502Controller.cls |  195 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 139 insertions(+), 56 deletions(-)

diff --git a/force-app/main/default/classes/NFM502Controller.cls b/force-app/main/default/classes/NFM502Controller.cls
index 47c0ebf..128ebe1 100644
--- a/force-app/main/default/classes/NFM502Controller.cls
+++ b/force-app/main/default/classes/NFM502Controller.cls
@@ -1,6 +1,10 @@
 public with sharing class NFM502Controller implements Queueable {
-
 	public String rowData_id;
+	//add staic sushanhu 20220302 start
+	public static String transUrl;
+	public static String transId;
+	public static String token;
+	//add staic sushanhu 20220302 end
 	public NFM502Controller(String rowData_id) {
 		this.rowData_id = rowData_id;
 	}
@@ -46,7 +50,9 @@
 
 		// Savepoint sp = Database.setSavepoint();
 		try {
-			String token;
+			//update 鍚宻taic 20220302 satrt
+			// String token;
+			//update 鍚宻taic 20220302 end
 			Datetime oldTime;
 			// 浠庤浆鎹㈣〃涓幏鍙杢oken
 			BatchIF_Transfer__c token502 = [Select ID, NFM501_Token__c
@@ -75,11 +81,13 @@
 			}
 			// System.debug('++++1++++' + token + '  : ' + timeslot);
 			if (string.isblank(token) || timeslot > 1800000) {
-				NFMUtil.response response = NFMUtil.receiveToken();
+				// NFMUtil.response response = NFMUtil.receiveToken();
+				//update to aws token sushanhu 20220301  start
+				NFMUtil.response response = NFMUtil.getAWSToken();
 				//鍒ゆ柇rowdata涓暟鎹幏鍙栨垚鍔熶笌鍚︼紝濡傛灉澶辫触閲嶅彂涓夋锛屽鏋滃ぇ浜庝笁娆″垯鎵嬪姩鎿嶄綔
 				if (String.isBlank(response.responseBody)) {
 					System.debug('response.responseBody:' + response.responseBody);
-					iflog502.ErrorLog__c = '502token:' + response.status;
+					iflog502.ErrorLog__c = '502token:' + response.responseBody;
 					// rowData.NFM501_Web_Annex_Count__c = 0;
 					if (!Manual_execution502) {
 						NFM501Controller.againSendRequest(iflog502, 'NFM501_Web_Annex_Count__c', rowData);
@@ -92,6 +100,7 @@
 				oldTime = Datetime.now();
 				token502.NFM501_Token__c = token;
 				oldTime502.NFM501_Gain_End_Time__c = oldTime;
+				//update to aws token sushanhu 20220301  end
 			}
 
 			//鍏宠仈闄勪欢涓庢嫑鎶曟爣椤圭洰锛堥�氳繃Id锛�
@@ -116,7 +125,12 @@
 			}
 
 			//寰幆URL
-			List<Attachment> TenAttList = new List<Attachment>();
+			// List<Attachment> TenAttList = new List<Attachment>();
+			//update to aws pi sushanhu 20220301 start
+			List<FileAddress__c> fileList = new List<FileAddress__c>();
+			List<String> queryUrlList = new List<String>();
+			Map<String, NFM501Controller.ListItem> queryMap = new Map<String, NFM501Controller.ListItem>();
+			//update to aws pi sushanhu 20220301 end
 			for (NFM501Controller.ListItem QLMWebAtt : getQLMData502.data.list1) {
 				if (QLMWebAtt.projectId == null) {
 					iflog502.ErrorLog__c += 'Error! [' + QLMWebAtt.projectId + ']NotExist. This information is skipped.\n';
@@ -129,54 +143,111 @@
 					                        ']Is 棣欐腐鐗瑰埆琛屾斂鍖�(婢抽棬鐗瑰埆琛屾斂鍖�,鍙版咕鐪�). This information is skipped.\n';
 					continue;
 				}
-				//璋冪敤鎺ュ彛3
-				NFMUtil.response response = NFMUtil.getQLMData(NFMUtil.NFM502_ENDPOINT + QLMWebAtt.infoQianlimaUrl, token);
-				if (String.isBlank(response.responseBody)) {
-					System.debug('response.responseBody:' + response.responseBody);
-					iflog502.ErrorLog__c = '502鎺ュ彛璋冪敤锛�' + response.status;
-					rowData.NFM501_Web_Annex_Count__c = 0;
-					if (!Manual_execution502) {
-						NFM501Controller.againSendRequest(iflog502, 'NFM501_Web_Annex_Count__c', rowData);
-					}
-					//鏇存柊鏃ュ織鏁版嵁
-					update token502;
-					update oldTime502;
-					return;
-				}
+				//update to aws pi sushanhu 20220301 start
+				queryUrlList.add(QLMWebAtt.infoQianlimaUrl);
+				queryMap.put(QLMWebAtt.infoQianlimaUrl,QLMWebAtt);
+				//update to aws pi sushanhu 20220301 start
+			// 	//璋冪敤鎺ュ彛3
+			// 	NFMUtil.response response = NFMUtil.getQLMData(NFMUtil.NFM502_ENDPOINT + QLMWebAtt.infoQianlimaUrl, token);
+			// 	if (String.isBlank(response.responseBody)) {
+			// 		System.debug('response.responseBody:' + response.responseBody);
+			// 		iflog502.ErrorLog__c = '502鎺ュ彛璋冪敤锛�' + response.status;
+			// 		rowData.NFM501_Web_Annex_Count__c = 0;
+			// 		if (!Manual_execution502) {
+			// 			NFM501Controller.againSendRequest(iflog502, 'NFM501_Web_Annex_Count__c', rowData);
+			// 		}
+			// 		//鏇存柊鏃ュ織鏁版嵁
+			// 		update token502;
+			// 		update oldTime502;
+			// 		return;
+			// 	}
 
-				//瑙f瀽鍚庣殑code鎶ラ敊澶勭悊
-				string NFM502responseBody = response.responseBody;
-				Map<String, Object> Body502 = (Map<String, Object>) JSON.deserializeUntyped(NFM502responseBody);
-				if (!Body502.get('code').equals('0')) {
-					System.debug('-------9-------');
-					iflog502.ErrorLog__c = '502瑙f瀽锛�' + Body502.get('msg').tostring() ;
-					if (!Manual_execution502) {
-						NFM501Controller.againSendRequest(iflog502, 'NFM501_Web_Annex_Count__c', rowData);
-					}
-					update token502;
-					update oldTime502;
-					return;
-				}
-				System.debug('Body502.data:' + Body502.get('data').tostring() + '---------'
-				             + Body502.get('msg').tostring() + '-------' + Body502.get('code').tostring());
+			// 	//瑙f瀽鍚庣殑code鎶ラ敊澶勭悊
+			// 	string NFM502responseBody = response.responseBody;
+			// 	Map<String, Object> Body502 = (Map<String, Object>) JSON.deserializeUntyped(NFM502responseBody);
+			// 	if (!Body502.get('code').equals('0')) {
+			// 		System.debug('-------9-------');
+			// 		iflog502.ErrorLog__c = '502瑙f瀽锛�' + Body502.get('msg').tostring() ;
+			// 		if (!Manual_execution502) {
+			// 			NFM501Controller.againSendRequest(iflog502, 'NFM501_Web_Annex_Count__c', rowData);
+			// 		}
+			// 		update token502;
+			// 		update oldTime502;
+			// 		return;
+			// 	}
+			// 	System.debug('Body502.data:' + Body502.get('data').tostring() + '---------'
+			// 	             + Body502.get('msg').tostring() + '-------' + Body502.get('code').tostring());
 
-				//鑾峰彇缃戦〉淇℃伅杞瓨涓洪檮浠�
-				//鎴垏鏁版嵁锛堜娇鏁版嵁鎴愪负瑙f瀽鐨勬牸寮忥級
-				Integer start = NFM502responseBody.indexOf('"infoHtml":"');
-				Integer theEnd = NFM502responseBody.lastIndexOf('"},"msg');
-				NFM502responseBody = NFM502responseBody.substring(start + 12, theEnd);
-				//灏嗗叾杞崲涓洪檮浠�
-				// System.debug('---------' + NFM502responseBody);
-				Attachment WebAtt = new Attachment();
-				// System.debug('projectId:' + QLMWebAtt.projectId);
-				if (TenMap.containskey(QLMWebAtt.projectId)) {
-					WebAtt.ParentId = TenMap.get(QLMWebAtt.projectId).Id;
-					WebAtt.Body = Blob.valueOf(NFM502responseBody);
-					WebAtt.Name = TenMap.get(QLMWebAtt.projectId).InfoType__c + ':' + QLMWebAtt.infoTitle + '.html';
-					TenAttList.add(WebAtt);
+			// 	//鑾峰彇缃戦〉淇℃伅杞瓨涓洪檮浠�
+			// 	//鎴垏鏁版嵁锛堜娇鏁版嵁鎴愪负瑙f瀽鐨勬牸寮忥級
+			// 	Integer start = NFM502responseBody.indexOf('"infoHtml":"');
+			// 	Integer theEnd = NFM502responseBody.lastIndexOf('"},"msg');
+			// 	NFM502responseBody = NFM502responseBody.substring(start + 12, theEnd);
+			// 	//灏嗗叾杞崲涓洪檮浠�
+			// 	// System.debug('---------' + NFM502responseBody);
+			// 	Attachment WebAtt = new Attachment();
+			// 	// System.debug('projectId:' + QLMWebAtt.projectId);
+				// if (TenMap.containskey(QLMWebAtt.projectId)) {
+				// 	WebAtt.ParentId = TenMap.get(QLMWebAtt.projectId).Id;
+				// 	WebAtt.Body = Blob.valueOf(NFM502responseBody);
+				// 	WebAtt.Name = TenMap.get(QLMWebAtt.projectId).InfoType__c + ':' + QLMWebAtt.infoTitle + '.html';
+				// 	TenAttList.add(WebAtt);
+				// }
+			 }
+			//update to aws pi  sushanhu 20220301 start
+			PIHelper.piIntegration pi =PIHelper.getPIIntegrationInfo('NFM502');
+			transUrl=pi.searchUrl;
+			//璋冪敤鎺ュ彛3
+			system.debug('Payload for NFM 520:'+JSON.serialize(queryUrlList));
+			NFMUtil.response response = NFMUtil.getAWSQLMData(pi.newUrl ,JSON.serialize(queryUrlList), token);
+			Map<String, Object> result = (Map<String, Object>)JSON.deserializeUntyped(response.responseBody);
+			String statusCode =(String)result.get('status');
+			transId =(String)result.get('txId');
+			if (!'0'.equals(statusCode)) {
+				System.debug('response.responseBody:' + response.responseBody);
+				iflog502.ErrorLog__c = '502鎺ュ彛璋冪敤锛�' + (String)result.get('message');
+				rowData.NFM501_Web_Annex_Count__c = 0;
+				if (!Manual_execution502) {
+					NFM501Controller.againSendRequest(iflog502, 'NFM501_Web_Annex_Count__c', rowData);
 				}
+				//鏇存柊鏃ュ織鏁版嵁
+				update token502;
+				update oldTime502;
+				return;
 			}
 
+			//瑙f瀽鍚庣殑code鎶ラ敊澶勭悊
+			string NFM502responseBody = response.responseBody;
+			Map<String, Object> Body502 = (Map<String, Object>) JSON.deserializeUntyped(NFM502responseBody);
+			if (!String.valueOf(Body502.get('status')).equals('0')) {
+				System.debug('-------9-------');
+				iflog502.ErrorLog__c = '502瑙f瀽锛�' + Body502.get('message').tostring() ;
+				if (!Manual_execution502) {
+					NFM501Controller.againSendRequest(iflog502, 'NFM501_Web_Annex_Count__c', rowData);
+				}
+				update token502;
+				update oldTime502;
+				return;
+			}
+			System.debug('Body502.data:' + Body502.get('object').tostring() + '---------'
+						 + Body502.get('message').tostring() + '-------' + Body502.get('status').tostring());
+
+			//鑾峰彇aws杩斿洖鐨勫湴鍧�骞跺瓨鍌�
+			
+			Map<String, Object> fileMap = (Map<String, Object >)result.get('object');
+			for(String url:queryUrlList){
+				NFM501Controller.ListItem QLMWebAtt = queryMap.get(url);
+				if (TenMap.containskey(QLMWebAtt.projectId)) {
+					FileAddress__c file =new FileAddress__c();
+					file.ParentRecordId__c = TenMap.get(QLMWebAtt.projectId).Id;
+					file.FileName__c = TenMap.get(QLMWebAtt.projectId).InfoType__c + ':' + QLMWebAtt.infoTitle + '.html';
+					file.DownloadLink__c =pi.undeleteUrl+(String)fileMap.get(url)+'&fileName='+file.FileName__c;
+					file.ViewLink__c = pi.queryUrl+(String)fileMap.get(url) ;
+					file.AWS_File_Key__c =(String)fileMap.get(url) ;
+					fileList.add(file);
+				}
+			}
+			
 			//鍒犻櫎鍚屽悕鐨勯檮浠�
 			List<String> UrlList = new List<String>();
 			for (NFM501Controller.ListItem UrlName : getQLMData502.data.list1) {
@@ -185,22 +256,34 @@
 				}
 			}
 
-			List<Attachment> DeleAttList = [select id, name, ParentId from Attachment
-			                                where name in :UrlList and ParentId in :TenIdSet];
-			if (DeleAttList.size() > 0) {
-				delete DeleAttList;
+			List<FileAddress__c> DeleFileList = [select id, FileName__c, ParentRecordId__c from FileAddress__c
+			                                where FileName__c in :UrlList and ParentRecordId__c in :TenIdSet];
+			if (DeleFileList.size() > 0) {
+				delete DeleFileList;
 			}
-			System.debug('----1----' + TenAttList);
-			if (TenAttList.size() > 0) {
-				upsert TenAttList;
+			System.debug('----1----' + fileList);
+			if (fileList.size() > 0) {
+				upsert fileList;
 			}
-
+			//纭浜嬪姟
+			List<String> sfRecordIds = new List<String>();
+			for (FileAddress__c file : fileList) {
+				sfRecordIds.add(file.Id);
+			}
+			//update to aws pi  sushanhu 20220301 end
+			 PIHelper.confirmFileTrans('NFM502',1,JSON.serialize(sfRecordIds),transId,token,transUrl);
+			// if (!confirm) {
+			// 	//鍥炴粴
+			// }
 			rowData.NFM501_Web_Annex_Count__c = 0;
 		} catch (Exception ex) {
 			// Database.rollback(sp);
 			// System.debug(Logginglevel.ERROR, 'QLMData_' + rowData.MessageGroupNumber__c + ':' + ex.getMessage());
 			// System.debug(Logginglevel.ERROR, 'QLMData_' + rowData.MessageGroupNumber__c + ':' + ex.getStackTraceString());
 			// logstr += '\n' + ex.getMessage();
+			//add 浜嬪姟纭 sushanhu 20220302 satrt
+			 PIHelper.confirmFileTrans('NFM502',0,'',transId,token,transUrl);
+			//add 浜嬪姟纭 sushanhu 20220302 end
 			iflog502.ErrorLog__c = '502鎶涘嚭寮傚父锛�' + ex.getMessage() + '\n'
 			                       + ex.getStackTraceString() + '\n' + iflog502.ErrorLog__c;
 			if (!Manual_execution502) {

--
Gitblit v1.9.1