SalesForce:从经典到照明

SalesForce:从经典到照明,salesforce,salesforce-lightning,Salesforce,Salesforce Lightning,如果我的问题如此愚蠢,我深表歉意,但我的编程技能实在有限,我正赶着去做PoC 我有下面为经典开发的apex类。我想让它的工作与照明,我不知道如果我唯一需要更换的是url的。我已经为我的PoC创建了一个开发人员帐户,每次我启动这个类时,我都会被重定向到Classic public class LookupByUrlParamController { String accountName; String accountNumber; String phone; St

如果我的问题如此愚蠢,我深表歉意,但我的编程技能实在有限,我正赶着去做PoC

我有下面为经典开发的apex类。我想让它的工作与照明,我不知道如果我唯一需要更换的是url的。我已经为我的PoC创建了一个开发人员帐户,每次我启动这个类时,我都会被重定向到Classic

public class LookupByUrlParamController {

    String accountName;
    String accountNumber;
    String phone;
    String website;
    String email;
    String socialhandle;
    
    public LookupByUrlParamController () { }

    public String redirectToAccount() {
        
        Account account;
        
        Map<String,String> params = ApexPages.currentPage().getParameters();
        if(params.size() > 0) {
            accountName = params.get('account_name');
            accountNumber = params.get('account_number');
            phone = params.get('phone');   
            website =  params.get('website');   
            email =  params.get('email');
            socialhandle =  params.get('SocialHandle');
        }
        
        try {
            if(accountName != null) {
                account = [select ID from Account where name = :accountName limit 1];   
            } 
        } catch (System.queryException e) {//no entry found for lookup item, display empty account page
            return 'https://na7.salesforce.com/001/e';
        }    
          
        try {
            if(accountNumber != null) {
                account = [select ID from Account where AccountNumber = :accountNumber limit 1];   
            }
         } catch (System.queryException e) {//no entry found for lookup item, display empty account page
            return 'https://na7.salesforce.com/001/e';
         }   
            
        try {
             if(phone != null) {
                
                String npa;
                String nnx;
                String extension;
        
                //  Added logic for NA phone numbers

                if (phone.length() == 10) {
                    npa = phone.substring(0,3);
                    nnx = phone.substring(3,6);
                    extension = phone.substring(6,10);
                    phone = '(' + npa + ') ' + nnx + '-' + extension;
                }

                account = [select ID from Account where phone = :phone limit 1]; 
             }
        } catch (System.queryException e) {//no entry found for lookup item, display empty account page
            return 'https://na7.salesforce.com/001/e';
        }        
            
        try {     
             if(website != null) {
                account = [select ID from Account where website = :website limit 1]; 
             }
         } catch (System.queryException e) {//no entry found for lookup item, display empty account page
            return 'https://na7.salesforce.com/001/e';
         }       
            
         try {
              if(email != null) {
                account = [select ID from Account where email__c = :email limit 1]; 
              }
         } catch (System.queryException e) {//no entry found for lookup item, display empty account page
             return 'https://na7.salesforce.com/001/e';
         }   
             
         try {
              if(socialhandle != null) {
                account = [select ID from Account where SocialHandle__c = :socialhandle limit 1]; 
              }
         } catch (System.queryException e) {//no entry found for twitter handle lookup item, display empty account page
             return 'https://na7.salesforce.com/001/e';
         }      
       
        
        String accountUrl;
        if(account != null) {
            accountUrl = '/' + account.Id;
        } else {
            accountUrl = '/';
        }
        
        return accountUrl;
    }   

    public static testMethod void testLookupByUrlParamAccount() {
        LookupByUrlParamController controller = new LookupByUrlParamController();
        controller.accountName = 'Avaya';
        String redirectUrl = controller.redirectToAccount();
        System.assertEquals(redirectUrl, '/001A0000007UkkFIAS');
    }
    
    public static testMethod void testLookupByUrlParamInvalidAccount() {
        LookupByUrlParamController controller = new LookupByUrlParamController();
        controller.accountName = '';
        String redirectUrl = controller.redirectToAccount();
        System.assertEquals(redirectUrl, 'https://na7.salesforce.com/001/e');
    }
    
    public static testMethod void testLookupByUrlParamPhone() {
        LookupByUrlParamController controller = new LookupByUrlParamController();
        controller.phone = '1234';
        String redirectUrl = controller.redirectToAccount();
        System.assertEquals(redirectUrl, '/001A0000007UkkFIAS');
    }
    
     public static testMethod void testLookupByUrlParamWherePhoneNumberIs10Chars() {
        LookupByUrlParamController controller = new LookupByUrlParamController();
        controller.phone = '1234567891';
        String redirectUrl = controller.redirectToAccount();
        System.assertEquals(redirectUrl, 'https://na7.salesforce.com/001/e');//no record found
       
    }
    
    public static testMethod void testLookupByUrlParamInvalidPhoneNumber() {
        LookupByUrlParamController controller = new LookupByUrlParamController();
        controller.phone = '';
        String redirectUrl = controller.redirectToAccount();
        System.assertEquals(redirectUrl, '/001A0000015EKVPIA4');
        
    }
    
    public static testMethod void testLookupByUrlParamAccountNumber() {
        LookupByUrlParamController controller = new LookupByUrlParamController();
        controller.accountNumber = '4321';
        String redirectUrl = controller.redirectToAccount();
        System.assertEquals(redirectUrl, '/001A0000007UkkFIAS');
    }
    
    public static testMethod void testLookupByUrlParam() {
        LookupByUrlParamController controller = new LookupByUrlParamController();
        String redirectUrl = controller.redirectToAccount();
        System.assertEquals(redirectUrl, '/');
    }
    
}
公共类LookupByUrlParamController{
字符串accountName;
字符串accountNumber;
字符串电话;
字符串网站;
字符串电子邮件;
字符串社会句柄;
公共LookupByUrlParamController(){}
公共字符串重定向到帐户(){
账户;
Map params=ApexPages.currentPage().getParameters();
如果(参数大小()>0){
accountName=params.get('account_name');
accountNumber=params.get('account_number');
phone=params.get('phone');
website=params.get('website');
email=params.get('email');
socialhandle=params.get('socialhandle');
}
试一试{
if(accountName!=null){
account=[从帐户中选择ID,其中名称=:accountName limit 1];
} 
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}    
试一试{
if(accountNumber!=null){
account=[从AccountNumber=:AccountNumber limit 1]的帐户中选择ID];
}
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}   
试一试{
如果(电话!=null){
字符串npa;
字符串nnx;
字符串扩展;
//增加了NA电话号码的逻辑
if(phone.length()==10){
npa=电话子串(0,3);
nnx=电话子串(3,6);
分机=电话子串(6,10);
电话='('+npa+)'+nnx+'-'+分机;
}
帐户=[从帐户中选择ID,其中电话=:电话限制1];
}
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}        
试试{
如果(网站!=null){
账户=[从账户中选择ID,其中网站=:网站限制1];
}
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}       
试一试{
如果(电子邮件!=null){
account=[从帐户中选择ID,其中email_uuc=:email limit 1];
}
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}   
试一试{
if(socialhandle!=null){
account=[从帐户中选择ID,其中SocialHandle__c=:SocialHandle limit 1];
}
}catch(System.queryException e){//未找到twitter句柄查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}      
字符串accountUrl;
如果(帐户!=null){
accountUrl='/'+account.Id;
}否则{
accountUrl='/';
}
返回accountUrl;
}   
公共静态testMethod void testLookupByUrlParamAccount(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.accountName='Avaya';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,“/001A000007UKFIAS”);
}
公共静态testMethod void testLookupByUrlParamInvalidAccount(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.accountName='';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,'https://na7.salesforce.com/001/e');
}
公共静态测试方法void testlookupyurlparamphone(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.phone='1234';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,“/001A000007UKFIAS”);
}
公共静态测试方法void testLookupByUrlParamWherePhoneNumberIs10Chars(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.phone='1234567891';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,'https://na7.salesforce.com/001/e“);//未找到任何记录
}
公共静态测试方法void TestLookupByrlParamInvalidPhoneNumber(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.phone='';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,“/001A0000015EKVPIA4”);
}
公共静态testMethod void testLookupByUrlParamAccountNumber(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.accountNumber='4321';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,“/001A000007UKFIAS”);
}
公共静态测试方法void testLookupB