From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新
---
force-app/main/default/classes/ConsumApplyTriggerHandler.cls | 371 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 371 insertions(+), 0 deletions(-)
diff --git a/force-app/main/default/classes/ConsumApplyTriggerHandler.cls b/force-app/main/default/classes/ConsumApplyTriggerHandler.cls
index 40b8d41..d110bbb 100644
--- a/force-app/main/default/classes/ConsumApplyTriggerHandler.cls
+++ b/force-app/main/default/classes/ConsumApplyTriggerHandler.cls
@@ -59,6 +59,7 @@
// Check鏈儴鏄惁鍙互閫夋嫨
// checkbenbu();
setRental_Apply_Consum_ApplyId();
+ decryptInsert(newList);//Dennis updated for pi
}
protected override void beforeUpdate() {
checkOneConsumApplyForQIS();
@@ -558,6 +559,167 @@
update raess;
}
}
+ //Dennis updated for pi start
+ public static void decryptInsert(List<Consum_Apply__c> newList){
+ if(!system.isFuture()){
+ List<Consum_Apply__c> fendanList = new List<Consum_Apply__c>();
+ for(Consum_Apply__c ra : newList){
+ if(ra.Old_Consum_Apply__c != null){
+ fendanList.add(ra);
+ }
+ }
+
+ if(fendanList.size() == 0){
+ system.debug('no need split');
+ return;
+ }
+
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-12-01 start
+ //decryptInsertFuture(JSON.serialize(fendanList));
+ Map<String,PIHelper.PIIntegration> staticResource = new Map<String,PIHelper.PIIntegration>();
+ staticResource.put('Consum_Apply__c',PIHelper.getPIIntegrationInfo('Consum_Apply__c'));
+ Map<String, Map<String, PI_Field_Policy_Detail__c>> mmsp = new Map<String, Map<String,PI_Field_Policy_Detail__c>>();
+ for (String key : staticResource.keySet()) {
+ mmsp.put(key, new Map<String,PI_Field_Policy_Detail__c>());
+ for (PI_Field_Policy_Detail__c detail : staticResource.get(key).PIDetails) {
+ mmsp.get(key).put(detail.SF_Field_API_Name__c, detail);
+ }
+ }
+ System.debug('mmsp = ' + mmsp);
+
+
+ List<AWSServiceTool2V2.EncryptPushRequestBody> EncryptPushList = new List<AWSServiceTool2V2.EncryptPushRequestBody>();
+ for(Consum_Apply__c ac : fendanList){
+ Consum_Apply__c oldAc = [select id,AWS_Data_Id__c from Consum_Apply__c where id=:ac.Old_Consum_Apply__c];
+ AWSServiceTool2V2.EncryptPushRequestBody EncryptPush = new AWSServiceTool2V2.EncryptPushRequestBody();
+ EncryptPush.dataId = ac.AWS_Data_Id__c != null ?ac.AWS_Data_Id__c:'';
+ EncryptPush.sfRecordId = ac.Id;
+ EncryptPush.fieldsMapping = new Map<String, List<AWSServiceTool2V2.EncryptPushRes>>();
+ List<AWSServiceTool2V2.EncryptPushRes> resList = new List<AWSServiceTool2V2.EncryptPushRes>();
+ AWSServiceTool2V2.EncryptPushRes res= new AWSServiceTool2V2.EncryptPushRes();
+ res.isQueryDb = true;
+ res.value = '';
+ res.table = staticResource.get('Consum_Apply__c').awsTableName;
+ //res.dataId = ac.Old_Consum_Apply__r.AWS_Data_Id__c;
+ res.dataId = oldAc.AWS_Data_Id__c;
+ res.field = mmsp.get('Consum_Apply__c').get('direct_shippment_address__c').AWS_Field_API__c;
+ resList.add(res);
+
+ List<AWSServiceTool2V2.EncryptPushRes> resList2 = new List<AWSServiceTool2V2.EncryptPushRes>();
+ AWSServiceTool2V2.EncryptPushRes res2= new AWSServiceTool2V2.EncryptPushRes();
+ res2.isQueryDb = true;
+ res2.value = '';
+ res2.table = staticResource.get('Consum_Apply__c').awsTableName;
+ //res2.dataId = ac.Old_Consum_Apply__r.AWS_Data_Id__c;
+ res2.dataId = oldAc.AWS_Data_Id__c;
+ res2.field = mmsp.get('Consum_Apply__c').get('Phone_number__c').AWS_Field_API__c;
+ resList2.add(res2);
+
+ EncryptPush.fieldsMapping.put(mmsp.get('Consum_Apply__c').get('direct_shippment_address__c').AWS_Field_API__c, resList);
+ EncryptPush.fieldsMapping.put(mmsp.get('Consum_Apply__c').get('Phone_number__c').AWS_Field_API__c, resList2);
+ EncryptPushList.add(EncryptPush);
+ }
+ System.debug('EncryptPushListdataId = ' + JSON.serialize(EncryptPushList[0].dataId));
+ System.debug('EncryptPushListsfRecordId = ' + JSON.serialize(EncryptPushList[0].sfRecordId));
+ System.debug('EncryptPushListfieldsMapping = ' + JSON.serialize(EncryptPushList[0].fieldsMapping));
+ System.debug('EncryptPushList = ' + JSON.serialize(EncryptPushList));
+ AwsServiceTool2V2.EncryptPushFutureV2(Json.serialize(EncryptPushList),Json.serialize(fendanList), 'Consum_Apply__c');
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-12-01 end
+ }
+ }
+
+ @future(callout=true)
+ public static void decryptInsertFuture(string json_list){
+ decryptInsertCore(json_list);
+ }
+
+ // List<Consum_Apply__c> temps = [select id,AWS_Data_Id__c,name, direct_shippment_address__c, Direct_Shippment_Address_Encrypt__c, Phone_number__c, Phone_Number_Encrypt__c,CreatedDate from Consum_Apply__c where AWS_Data_Id__c != null order by CreatedDate desc limit 2];
+ public static void decryptInsertCore(string json_list){
+ system.debug('enter decryptInsertCore');
+ //璋冪敤婊ㄧ挏鎺ュ彛鏇存柊
+ PIHelper.PIIntegration staticResource = PIHelper.getPIIntegrationInfo('Consum_Apply__c');
+ system.debug('staticResource.token='+staticResource.token);
+ if(String.isBlank(staticResource.token)){
+ System.debug('鑾峰彇aws token 澶辫触');
+ return;
+ }
+ List<Consum_Apply__c> newList = (List<Consum_Apply__c>)Json.deserialize(json_list, List<Consum_Apply__c>.class);
+ Map<Id,Consum_Apply__c> newMap = new Map<Id,Consum_Apply__c>(newList);
+ List<Map<string,object>> lmso = new List<Map<string,object>>();
+ for(Consum_Apply__c ra : newList){
+ Map<string,object> mso = new Map<string,object>();
+
+ /*if(!string.isBlank(ra.AWS_Data_Id__c)){
+ continue;
+ }*/
+ for(PI_Field_Policy_Detail__c detail : staticResource.PIDetails){
+ if(ra.isSet(detail.SF_Field_API_Name__c)){
+ mso.put(detail.AWS_Field_API__c,ra.get(detail.SF_Field_API_Name__c));
+ mso.put(detail.AWS_Encrypted_Field_API__c,ra.get(detail.SF_Field_Encrypted_API__c));
+ }
+ }
+ mso.put('sfRecordId',ra.Id);
+ lmso.add(mso);
+ }
+
+ if(lmso.size()==0){
+ system.debug('lmso.size()='+lmso.size());
+ return;
+ }
+ string payload = Json.serialize(lmso);
+ system.debug('payload='+payload);
+ String awsApi = staticResource.viewUnifiedContactUrl;
+ NFMUtil.response response = NFMUtil.sendToPiAWS(payload, awsApi,staticResource.token);
+ system.debug(response);
+ Map<string,object> res_obj = (Map<string,object>)Json.deserializeUntyped(response.responseBody);
+ if(res_obj == null || !res_obj.containsKey('object') ){
+ System.debug('res_obj == null || !res_obj.containsKey(\'object\')');
+ return;
+ }
+
+ List<object> objList = (List<object>)res_obj.get('object');
+ if(objList == null){
+ System.debug('objList == null');
+ return;
+ }
+
+ List<Consum_Apply__c> updateList = new List<Consum_Apply__c>();
+ for(object obj : objList){
+ Map<string,object> obj_map = (Map<string,object>)obj;
+ string sfRecordId = null;
+ string dataId = null;
+ if(obj_map.containsKey('sfRecordId')){
+ sfRecordId = string.valueOf(obj_map.get('sfRecordId'));
+ }else{
+ system.debug('obj_map.containsKey(\'sfRecordId\')='+obj_map.containsKey('sfRecordId'));
+ continue;
+ }
+
+ if(obj_map.containsKey('dataId')){
+ dataId = string.valueOf(obj_map.get('dataId'));
+ }else{
+ system.debug('obj_map.containsKey(\'dataId\')='+obj_map.containsKey('dataId'));
+ continue;
+ }
+
+
+ if(newMap.containsKey(sfRecordId)){
+ Consum_Apply__c ra = newMap.get(sfRecordId);
+ ra.AWS_Data_Id__c = dataId;
+ updateList.add(ra);
+ }else{
+ system.debug('newMap.containsKey('+sfRecordId+')='+newMap.containsKey(sfRecordId));
+ continue;
+ }
+ }
+
+ system.debug('updateList.size='+updateList.size());
+ if(updateList.size()>0){
+ update updateList;
+ }
+
+ }
+ //Dennis updated for pi end
// From ConsumApplyApprovalProcess.trigger TODO test
private void approvalCheck() {
@@ -1093,5 +1255,214 @@
i++;
i++;
i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
}
}
\ No newline at end of file
--
Gitblit v1.9.1