From fc8a8cea62e5d248834482a1ade9db6ab0758bf2 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期日, 24 四月 2022 18:55:04 +0800 Subject: [PATCH] 20220424FixIssue --- force-app/main/default/classes/ContactTriggerHandler.cls | 129 ++++++++++++++++++++++++++---------------- 1 files changed, 79 insertions(+), 50 deletions(-) diff --git a/force-app/main/default/classes/ContactTriggerHandler.cls b/force-app/main/default/classes/ContactTriggerHandler.cls index e8fc656..3c3c299 100644 --- a/force-app/main/default/classes/ContactTriggerHandler.cls +++ b/force-app/main/default/classes/ContactTriggerHandler.cls @@ -13,18 +13,21 @@ this.oldList = (List < Contact > ) Trigger.old; } protected override void beforeInsert() { - mobileNumberVerification(); - sendToComPlat(); + if(Test.isRunningTest()||UserInfo.getUserId()!=System.Label.ByPassTrigger){ //Add by Li Jun for PIPL 20220331 + mobileNumberVerification(); + } } protected override void afterInsert() { syncToAgencyContact(); updateDealerNum(); + sendToComPlat(); } protected override void afterUpdate() { syncToAgencyContact(); updateDealerNum(); + sendToComPlat(); } protected override void beforeUpdate() { @@ -32,7 +35,6 @@ UpdateProcessingWork(); // 鏈嶅姟鎶�甯� 2018/12/24 end mobileNumberVerification(); - sendToComPlat(); } @@ -138,13 +140,41 @@ // ) ) ) { - Agency_Contact__c acObj = new Agency_Contact__c(Agency_ID__c = '000000000000000', Contact__c = nObj.Id, ContactId18__c = nObj.Id, Agency_Hospital__c = null, Name = nObj.LastName + ((String.isBlank(nObj.FirstName) == false) ? ' ' + nObj.FirstName : ''), Department_Class__c = nObj.Strategic_dept_Class__c, Type__c = nObj.Type__c, Doctor_Division1__c = nObj.Doctor_Division1__c); + //Agency_Contact__c acObj = new Agency_Contact__c(Agency_ID__c = '000000000000000', Contact__c = nObj.Id, ContactId18__c = nObj.Id, Agency_Hospital__c = null, Name = nObj.LastName + ((String.isBlank(nObj.FirstName) == false) ? ' ' + nObj.FirstName : ''), Department_Class__c = nObj.Strategic_dept_Class__c, Type__c = nObj.Type__c, Doctor_Division1__c = nObj.Doctor_Division1__c); + Agency_Contact__c acObj = new Agency_Contact__c( + Agency_ID__c = '000000000000000', + Contact__c = nObj.Id, + ContactId18__c = nObj.Id, + Agency_Hospital__c = null, + Name = nObj.LastName, + Name_Encrypted__c = nObj.LastName_Encrypted__c, + Department_Class__c = nObj.Strategic_dept_Class__c, + Type__c = nObj.Type__c, + Type_Encrypted__c = nObj.Type_Encrypted__c, + Doctor_Division1__c = nObj.Doctor_Division1__c, + Doctor_Division1_Encrypted__c = nObj.Doctor_Division1_Encrypted__c + ); targetContactMap.put(nObj.Id, acObj); } } } if (targetContactMap.size() > 0) { - upsert targetContactMap.values() ContactId18__c; + List<Agency_Contact__c> temp = targetContactMap.values(); + upsert temp ContactId18__c; + system.debug('temp='+temp); + EncryptInsert(temp); + } + } + + static void EncryptInsert(List<Agency_Contact__c> aclist){ + if(!(system.isFuture() || system.isBatch())){ + AwsServiceTool2.EncryptPushFuture(Json.serialize(aclist), 'Agency_Contact__c'); + }else{ + //Add By Li Jun for sync agency contact to aws 20220424 start + if(!Test.isRunningTest()){ + SyncAccountContactToAWS.assignOnceOneMinuteLater(); + } + //Add By Li Jun for sync agency contact to aws 20220424 end } } @@ -257,12 +287,13 @@ } } //鎵嬫満鍙峰敮涓�鏍¢獙-鍖婚櫌涓嬫柊寤哄鎴蜂汉鍛樻牎楠屼娇鐢ㄥ姞瀵嗘墜鏈哄彿,缁忛攢鍟嗕娇鐢ㄦ櫘閫氭墜鏈哄彿 thh 20220328 start - ID recordTypeId = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); + ID DoctorRecordTypeId = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Doctor').getRecordTypeId(); + ID AgencyRecordTypeId = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); for (Contact contactnew : newList) { // 鎵嬫満鍙锋湁鍊煎苟涓旇仈绯讳汉鏈夋晥锛岃仈绯讳汉鐨勫鎴锋湁鏁堬紝杩涜鎵嬫満鍙风爜楠岃瘉 if (('鏈夋晥'.equals(contactnew.Isactive__c) || '鏈夊姽'.equals(contactnew.Isactive__c)) && ('鏈夊姽'.equals(accMap.get(contactnew.AccountId)) || '鏈夋晥'.equals(accMap.get(contactnew.AccountId)))) { - if(contactnew.RecordTypeId.equals(recordTypeId)){ + if(AgencyRecordTypeId.equals(contactnew.RecordTypeId)){ if(String.isNotBlank(contactnew.MobilePhone)){ Matcher isMobilePhone = pattern.matcher(contactnew.MobilePhone); if (isMobilePhone.matches()) { @@ -274,7 +305,7 @@ } else { contactnew.UniqueNumber__c = null; } - } else{ + } else if(DoctorRecordTypeId.equals(contactnew.RecordTypeId)){ if(String.isNotBlank(contactnew.MobilePhone_Encrypted__c)){ contactnew.UniqueNumber__c = contactnew.MobilePhone_Encrypted__c; } else { @@ -339,12 +370,9 @@ } } - - } - - public static Map<Id,Id> NFM606_IdMap = new Map<Id,Id>(); + // 606鎺ュ彛璋冪敤闂淇 thh 20220330 start private void sendToComPlat() { List<Id> contactIdList = new List<Id>(); List<String> interfaceUserUpsertContact = new List<String>(); @@ -375,62 +403,63 @@ || old.ContactType__c != local.ContactType__c//浜哄憳绫诲瀷 ) { - //624璋冪敤606闂淇 thh 20220328 start - if (!local.IsFromSPO__c && !'01210000000QtkyAAC'.equals(local.RecordTypeId)) { + //鑾峰彇瀹㈡埛浜哄憳鐨勮褰曠被鍨婭D thh 20220330 start + ID InternalStaffRecordTypeId = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Internal_staff').getRecordTypeId(); + ID DoctorRecordTypeId = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Doctor').getRecordTypeId(); + ID AgencyRecordTypeId = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); + //鑾峰彇瀹㈡埛浜哄憳鐨勮褰曠被鍨婭D thh 20220330 end + System.debug('local.UnifiedI_Contact_ID__c1:' + local.UnifiedI_Contact_ID__c); + System.debug('local.MobilePhone1:' + local.MobilePhone); + if (!local.IsFromSPO__c && !InternalStaffRecordTypeId.equals(local.RecordTypeId)) { // 鍖婚櫌 瀹㈡埛浜哄憳 缁熶竴骞冲彴缂栫爜鏈夊�� 鍙戦�� PO - if ('01210000000QfWdAAK'.equals(local.RecordTypeId) && String.isNotBlank(local.UnifiedI_Contact_ID__c)) { + if (DoctorRecordTypeId.equals(local.RecordTypeId) && String.isNotBlank(local.UnifiedI_Contact_ID__c)) { if (!NFM606_IdMap.containsKey(local.Id)) { - // if(UserInfo.getProfileId().equals(System.Label.ProfileId_SystemAdmin)){ - // interfaceUserUpsertContact.add(local.Id); - // } else { - // contactIdList.add(local.Id); - // } - local.trigger606Flag__c = true; + if(UserInfo.getUserId().equals(System.Label.interfaceUserID)){ + interfaceUserUpsertContact.add(local.Id); + } else { + contactIdList.add(local.Id); + } NFM606_IdMap.put(local.Id, local.Id); } } // 缁忛攢鍟� 瀹㈡埛浜哄憳 鎵嬫満鍙风爜鏈夊�� 鍙戦�� PO - if ('01210000000QfWiAAK'.equals(local.RecordTypeId) && String.isNotBlank(local.MobilePhone)) { + if (AgencyRecordTypeId.equals(local.RecordTypeId) && String.isNotBlank(local.MobilePhone)) { if (!NFM606_IdMap.containsKey(local.Id)) { - // if(UserInfo.getProfileId().equals(System.Label.ProfileId_SystemAdmin)){ - // interfaceUserUpsertContact.add(local.Id); - // } else { - // contactIdList.add(local.Id); - // } - local.trigger606Flag__c = true; + if(UserInfo.getUserId().equals(System.Label.interfaceUserID)){ + interfaceUserUpsertContact.add(local.Id); + } else { + contactIdList.add(local.Id); + } NFM606_IdMap.put(local.Id, local.Id); } } } - //624璋冪敤606闂淇 thh 20220328 end + } } //606鏍囪 - // if(!System.Test.isRunningTest()){ - // // NFM606Controller.executeNotFuture('', contactIdList); - // //624璋冪敤606闂淇 thh 20220325 start - // if (contactIdList.size() > 0) { - // // NFM606Controller.callout('', contactIdList); - // //娣诲姞future 鍒ゆ柇 add for pipl sushanhu 20220317 start - // if (!(System.isFuture()||System.isBatch())) { - // NFM606Controller.callout('', contactIdList); - // } else{ - // NFM606Controller.executeNotFuture('', contactIdList); - // } - // //娣诲姞future 鍒ゆ柇 add for pipl sushanhu 20220317 end - // } - // if (interfaceUserUpsertContact.size() > 0) { - // NFM606Controller.executeNotFuture('', interfaceUserUpsertContact); + if(!System.Test.isRunningTest()){ + // NFM606Controller.executeNotFuture('', contactIdList); + if (contactIdList.size() > 0) { + // NFM606Controller.callout('', contactIdList); + //娣诲姞future 鍒ゆ柇 add for pipl sushanhu 20220317 start + // if (!(System.isFuture()||System.isBatch())) { + NFM606Controller.callout('', contactIdList); + // } else{ + // NFM606Controller.executeNotFuture('', contactIdList); + // } + //娣诲姞future 鍒ゆ柇 add for pipl sushanhu 20220317 end + } + if (interfaceUserUpsertContact.size() > 0) { + NFM606Controller.executeNotFuture('', interfaceUserUpsertContact); //娣诲姞future 鍒ゆ柇 add for pipl sushanhu 20220316 start // if (!(System.isFuture()||System.isBatch())) { - // NFM606Controller.executeNotFuture('', interfaceUserUpsertContact); + // NFM606Controller.executeNotFuture('', interfaceUserUpsertContact); // } //娣诲姞future 鍒ゆ柇 add for pipl sushanhu 20220316 end - - // } - //624璋冪敤606闂淇 thh 20220325 end - // } - + } + } } + // 606鎺ュ彛璋冪敤闂淇 thh 20220330 end } \ No newline at end of file -- Gitblit v1.9.1