| 
					
				 | 
			
			
				@@ -21,6 +21,7 @@ import java.io.File; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Objects; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Slf4j 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37,6 +38,10 @@ public class TeacherImportAnalysis extends DataAnalysis<TeacherImportAnalysis> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private final Map<String, TeacherImportWrapper.TeacherImport> recordMap = Maps.newHashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private final Map<String, Long> subjectMap = Maps.newHashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private final Map<String, Long> tenantMap = Maps.newHashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final List<String> phones = Lists.newArrayList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final List<String> idCardNos = Lists.newArrayList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final List<String> existPhones = Lists.newArrayList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final List<String> existIdCardNos = Lists.newArrayList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public TeacherImportAnalysis(AnalysisContext context) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         super(context); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -110,12 +115,32 @@ public class TeacherImportAnalysis extends DataAnalysis<TeacherImportAnalysis> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //手机号校验 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (!item.getPhone().matches("^1[3-9]\\d{9}$")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ret.append("手机号格式不正确;"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //校验是否重复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(phones.contains(item.getPhone())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ret.append("手机号重复;"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(existPhones.contains(item.getPhone())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ret.append("手机号已存在;"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        phones.add(item.getPhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (StringUtils.isNotEmpty(item.getIdCardNo())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //身份证校验 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (!item.getIdCardNo().matches("(^\\d{6}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}(\\d|X|x)$)|(^\\d{6}\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}$)")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ret.append("身份证格式不正确;"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //校验是否重复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(idCardNos.contains(item.getIdCardNo())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ret.append("身份证号重复;"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(existIdCardNos.contains(item.getIdCardNo())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ret.append("身份证号已存在;"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        idCardNos.add(item.getIdCardNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (StringUtils.isEmpty(item.getSubjectName())) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -159,9 +184,23 @@ public class TeacherImportAnalysis extends DataAnalysis<TeacherImportAnalysis> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 加载校验数据参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void loadVerifyParamData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //校验数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //获取所有手机号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取所有的手机号和身份证号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> phones = getTeacherImportWrappers().stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .map(TeacherImportWrapper.TeacherImport::getPhone) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .filter(StringUtils::isNotBlank) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .distinct() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(phones)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            existPhones.addAll(easyExcelService.getPhones(phones)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> idCardNos = getTeacherImportWrappers().stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .map(TeacherImportWrapper.TeacherImport::getIdCardNo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .filter(StringUtils::isNotBlank) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .distinct() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(idCardNos)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            existIdCardNos.addAll(easyExcelService.getIdCardNos(idCardNos)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         subjectMap.putAll(easyExcelService.getSubjectMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tenantMap.putAll(easyExcelService.getTenantMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |