public with sharing class DealerPersonnelController { public DealerPersonnelController() { } @AuraEnabled public static String processData(String fileData,String sobjectName,List fields) { system.debug('fileData===============>'+fileData); String errorMage = ''; String str = ''; try { if(fileData != null){ String[] fileLines = new String[]{}; fileLines = fileData.split('\n'); system.debug('fileLines===================>'+fileLines); // 记录类型 List recordTypeList = new List(); // 客户名 List accountNameList = new List(); // 导入的数据 List> inputList = new List>(); for (Integer i = 1,j = fileLines.size(); i < j; i++) { List inputValues = new List(); inputValues = fileLines[i].split(','); System.debug('inputValues=============>'+inputValues); if(inputValues != null){ if(inputValues[0] == '' || inputValues[0] == null){ errorMage += 'errorMage: 第' + i + '行,记录类型不能为空!'; errorMage += '='; } if(inputValues[1] == '' || inputValues[1]== null){ errorMage += 'errorMage: 第' + i + '行,姓氏不能为空!'; errorMage += '='; } if(inputValues[2] == '' || inputValues[2] == null){ errorMage += 'errorMage: 第' + i + '行,名字不能为空!'; errorMage += '='; } if(inputValues[3] == '' || inputValues[3] ==null){ errorMage += 'errorMage: 第' + i + '行,手机不能为空!'; errorMage += '='; } boolean mobileNumberFlag = mobileNumberVerification(inputValues[3]); System.debug('mobileNumberFlag=============>'+mobileNumberFlag); if(mobileNumberFlag == false){ errorMage += 'errorMage: 你的手机号码不太正确,请检查您的手机是否正确!'; errorMage += '='; } if(inputValues[4] == '' || inputValues[4] == null){ errorMage += 'errorMage: 第' + i + '行,邮箱不能为空!'; errorMage += '='; } boolean mailboxFlag = mailboxVerification(inputValues[4]); System.debug('mailboxFlag=============>'+mailboxFlag); if(mailboxFlag == false){ errorMage += 'errorMage: 你的邮箱不太正确,请检查您的邮箱格式!'; errorMage += '='; } if(inputValues[5] == '' || inputValues[5] == null){ errorMage += 'errorMage: 第' + i + '行,客户名不能为空!'; errorMage += '='; } str = inputValues[5]; recordTypeList.add(inputValues[0]); accountNameList.add(str); //导入的数据 inputList.add(inputvalues); System.debug('inputValues[0]===============>'+ inputValues[0]); System.debug('inputValues[1]===============>'+ inputValues[1]); System.debug('inputValues[2]===============>'+ inputValues[2]); System.debug('inputValues[3]===============>'+ inputValues[3]); System.debug('inputValues[4]===============>'+ inputValues[4]); System.debug('inputValues[5]===============>'+ inputValues[5]); System.debug('inputValues[6]===============>'+ inputValues[6]); } } Map accountMap = new Map(); List accountIdList = new List(); Map recordTypeMap = new Map(); List recordTypeIdList = new List(); List accountList = [select id, Name from Account where Name in: accountNameList]; List rectCo = [select Id,Name from RecordType where IsActive = true and SobjectType = 'Contact' and Name in: recordTypeList]; for(Account ac : accountList){ accountMap.put(ac.Name, ac); accountIdList.add(ac.Id); } system.debug('accountList===============>'+accountList); system.debug('accountNameList===============>'+accountNameList); system.debug('accountMap===============>'+accountMap); for(RecordType re : rectCo){ recordTypeMap.put(re.Name, re); recordTypeIdList.add(re.Id); } List cnList = new List(); Integer lineNumber = 1; for(List lineList :inputList){ Contact con = new Contact(); if(recordTypeMap.containsKey(lineList[0])){ con.RecordTypeId = recordTypeMap.get(lineList[0]).id; }else{ errorMage += 'error: 第'+ lineNumber +'行数据,记录类型'+lineList[0]+'不存在'; errorMage += '='; } if(lineList[1] != null && lineList[1] != ''){ con.LastName = lineList[1]; }else{ errorMage += 'error: 第'+ lineNumber +'行数据,姓氏'+lineList[1]+'不存在'; errorMage += '='; } if(lineList[2] != null && lineList[2] != ''){ con.FirstName = lineList[2]; }else{ errorMage += 'error: 第'+ lineNumber +'行数据,名字'+lineList[2]+'不存在'; errorMage += '='; } if(lineList[3] != null && lineList[3] != ''){ if(mobileNumberVerification(lineList[3])){ con.MobilePhone = lineList[3]; }else{ errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[3]+'不正确!'; errorMage += '='; } }else{ errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[3]+'不存在'; errorMage += '='; } if(lineList[4] != null && lineList[4] != ''){ if(mailboxVerification(lineList[4])){ con.Email = lineList[4]; }else{ errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[4]+'不正确!'; errorMage += '='; } }else{ errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[4]+'不存在'; errorMage += '='; } if(accountMap.containsKey(lineList[5])){ con.AccountId = accountMap.get(lineList[5]).id; }else{ errorMage += 'error: 第'+ lineNumber +'行数据,客户名'+lineList[5]+'不存在'; errorMage += '='; } if(lineList[6] == 'TRUE'){ con.Agency_User__c = true; }else{ con.Agency_User__c = false; } lineNumber++; cnList.add(con); } if(errorMage != ''){ system.debug('errorMage==========>'+errorMage); return errorMage; } // 新增周报明细 if(cnList.size() > 0 ){ insertContact(cnList); } } return 'success'; } catch (Exception e) { System.debug('exception'+e); return 'exception'+e; } } // 电子邮件的验证 public static boolean mailboxVerification(String mailbox){ String check = '^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$'; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher(mailbox); if (matcher.matches()){ return true; } return false; } // 手机号的验证 public static boolean mobileNumberVerification(String phoneNumber){ String check = '^((17[0-9])|(14[0-9])|(13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$'; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher(phoneNumber); if(matcher.matches()){ return true; } return false; } //新增客户人员; public static void insertContact(List data) { // System.debug('data==============>'+data); // List lastNameList = new List(); // List firstNameList = new List(); // for(Contact con:data){ // lastNameList.add(con.LastName); // firstNameList.add(con.FirstName); // } // List contactList = [select id, Name,Agency_User__c from contact where LastName in: lastNameList AND FirstName in: firstNameList]; // if(contactList.size() >= 0){ // return ''; // } // System.debug('strNameList==============>'+strNameList); insert data; } }