Ver Fonte

fix: 驿站人员导入添加手机号与身份证正则

zhangying há 1 ano atrás
pai
commit
f2107dc91f

+ 28 - 14
src/main/java/com/hz/employmentsite/services/impl/baseSettings/SiteUserImpl.java

@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 @Service("SiteUserService")
@@ -52,6 +53,11 @@ public class SiteUserImpl implements SiteUserService {
     @Autowired
     private DictionaryService dictionaryService;
 
+    private final String MOBILE_REGEX = "0?(13|14|15|18|17)[0-9]{9}";
+
+    private final String ID_CARD_REGEX = "\\d{17}[\\d|x]|\\d{15}";
+
+
     @Override
     public PageInfo<SiteUserVo> getList(int pageIndex, int pageSize, List<String> siteUserIDList, String siteUserName, String siteID, String roleName, String regionCode, String userNo) {
         PageHelper.startPage(pageIndex, pageSize);
@@ -266,25 +272,33 @@ public class SiteUserImpl implements SiteUserService {
             if (stringUtils.IsNullOrEmpty(item.mobile)) {
                 errorInfo += "请填写联系电话!";
             } else {
-                String siteUserID = pcSiteUsers.stream()
-                        .filter(it -> it.getMobile() != null && it.getMobile().equals(item.getMobile().trim()))
-                        .findFirst()
-                        .orElse(new PcSiteUser())
-                        .getSiteUserID();
-                if (!stringUtils.IsNullOrEmpty(siteUserID)) {
-                    errorInfo += "联系电话已绑定其他驿站人员!";
+                if (Pattern.matches(MOBILE_REGEX, item.mobile)) {
+                    String siteUserID = pcSiteUsers.stream()
+                            .filter(it -> it.getMobile() != null && it.getMobile().equals(item.getMobile().trim()))
+                            .findFirst()
+                            .orElse(new PcSiteUser())
+                            .getSiteUserID();
+                    if (!stringUtils.IsNullOrEmpty(siteUserID)) {
+                        errorInfo += "联系电话已绑定其他驿站人员!";
+                    }
+                } else {
+                    errorInfo += "联系电话格式错误!";
                 }
             }
             if (stringUtils.IsNullOrEmpty(item.idCard)) {
                 errorInfo += "请填写身份证号码!";
             } else {
-                String siteUserID = pcSiteUsers.stream()
-                        .filter(it -> it.getIDCard() != null && it.getIDCard().equals(item.getIdCard().trim()))
-                        .findFirst()
-                        .orElse(new PcSiteUser())
-                        .getSiteUserID();
-                if (!stringUtils.IsNullOrEmpty(siteUserID)) {
-                    errorInfo += "身份证已绑定其他驿站人员!";
+                if (Pattern.matches(ID_CARD_REGEX, item.idCard)) {
+                    String siteUserID = pcSiteUsers.stream()
+                            .filter(it -> it.getIDCard() != null && it.getIDCard().equals(item.getIdCard().trim()))
+                            .findFirst()
+                            .orElse(new PcSiteUser())
+                            .getSiteUserID();
+                    if (!stringUtils.IsNullOrEmpty(siteUserID)) {
+                        errorInfo += "身份证已绑定其他驿站人员!";
+                    }
+                } else {
+                    errorInfo += "身份证格式错误!";
                 }
             }
             if (stringUtils.IsNullOrEmpty(item.roleName)) {