涂煌豪
2022-05-24 6ea917ffd94638d96d2a64316e0c971985ca47d6
修改客户人员更新逻辑
2个文件已修改
39 ■■■■ 已修改文件
force-app/main/default/classes/ContactTriggerHandler.cls 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ContactTriggerHandlerTest.cls 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ContactTriggerHandler.cls
@@ -320,13 +320,23 @@
            // }   
        }
        //手机号唯一校验-医院下新建客户人员校验使用加密手机号,经销商使用普通手机号 thh 20220328 end
        // 新增联系人时,
        // 新增联系人时
        if (accountIdSet.size() > 0) {
            List<Contact> contactList = [SELECT Id,AccountId,FullName__c,LastName,FirstName,Account.Name,CManageCode__c,IsFromSPO__c,
                                         LastName_Encrypted__c// 20220314 PI改造 by Bright
                                         , MobilePhone_Encrypted__c // 通过姓名+手机号判断人员是否重复 thh 20220518
                                        FROM Contact
                                        WHERE IsFromSPO__c = false AND AccountId IN:accountIdSet AND Id Not IN: oldMap.keyset()];
            List<Contact> contactList = new List<Contact>();
            if(Test.isRunningTest()){
                contactList = [SELECT Id,AccountId,FullName__c,LastName,FirstName,Account.Name,CManageCode__c,IsFromSPO__c,
                                                LastName_Encrypted__c// 20220314 PI改造 by Bright
                                                , MobilePhone_Encrypted__c // 通过姓名+手机号判断人员是否重复 thh 20220518
                                                FROM Contact
                                                WHERE IsFromSPO__c = false AND AccountId IN:accountIdSet];
            }else{
                contactList = [SELECT Id,AccountId,FullName__c,LastName,FirstName,Account.Name,CManageCode__c,IsFromSPO__c,
                                             LastName_Encrypted__c// 20220314 PI改造 by Bright
                                             , MobilePhone_Encrypted__c // 通过姓名+手机号判断人员是否重复 thh 20220518
                                            FROM Contact
                                            WHERE IsFromSPO__c = false AND AccountId IN:accountIdSet AND Id Not IN: oldMap.keyset()];
            }
            System.debug('contactList:' + contactList);
            if ( contactList.size() > 0) {
                for(Contact contact :contactList){
                    // 通过姓名+手机号判断人员是否重复 thh 20220518 start
force-app/main/default/classes/ContactTriggerHandlerTest.cls
@@ -29,7 +29,6 @@
        // account1.RecordTypeId = '01210000000QemG';
        account1.RecordTypeId = HPrectCo[0].Id;
        insert account1;
        // 取引先責任者
        contact1.AccountId = account1.Id;
        contact1.FirstName = '責任者';
@@ -41,6 +40,16 @@
        contact1.RecordTypeId = DoctorrectCo[0].Id;
        contact1.UnifiedI_Contact_ID__c = '100000';
        insert contact1;
        contact2.FirstName = 'test';
        contact2.LastName = 'Data';
        // contact2.RecordTypeId = '01210000000QfWi';
        contact2.RecordTypeId = DoctorrectCo[0].Id;
        contact2.AccountId = account1.Id;
        contact2.Agency_User__c = true;
        contact2.MobilePhone = '18999999999';
        insert contact2;
        MeetingManagement__c a = 
        new MeetingManagement__c(Contact__c =contact1.id
            ,pollingTime__c = 1,
@@ -84,8 +93,6 @@
        contact2.Agency_User__c = true;
        contact2.MobilePhone = '18999999999';
        insert contact2;
        contact2.MobilePhone = '1899999999A';
        update contact2;
        Contact contact3 = new Contact();
        contact3.FirstName = 'test';
@@ -97,6 +104,10 @@
        contact3.Ignore_Same_Name__c = true;
        contact3.MobilePhone = '';
        insert contact3;
        contact2.MobilePhone = '1899999999A';
        update contact2;
        List<account> accList  = [select Dealer_Num__c From account];
        system.assertEquals(accList[0].Dealer_Num__c,1);