caozixuan %!s(int64=3) %!d(string=hai) anos
pai
achega
8ce19444f9

+ 13 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -1169,7 +1169,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         InputStream inputStream = (InputStream) map.get("inputStream");
         List<LinkedMultiValueMap<Integer, Object>> finalList = ExcelUtil.excelReader(inputStream, Lists.newArrayList(SysUserImportDto.class), (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
             List<ExcelError> excelErrorTemp = new ArrayList<>();
-            Map<String,String> checkMap = new HashMap<>();
+            Map<String,String> checkName = new HashMap<>();
+            Map<String,String> checkCode = new HashMap<>();
             for (int i = 0; i < finalExcelList.size(); i++) {
                 LinkedMultiValueMap<Integer, Object> excelMap = finalExcelList.get(i);
                 List<Object> sysUserImportDtoList = excelMap.get(i);
@@ -1182,10 +1183,15 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                     String roleName = sysUserImportDto.getRoleName();
 
                     // 检验excel中
-                    if (checkMap.containsKey(name)){
-                        throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的【name】:" + name);
+                    if (checkName.containsKey(name)){
+                        throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的【姓名】:" + name);
                     }else {
-                        checkMap.put(name,code);
+                        checkName.put(name,code);
+                    }
+                    if (checkCode.containsKey(code)){
+                        throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的【工号】:" + code);
+                    }else {
+                        checkCode.put(code,name);
                     }
 
                     excelErrorTemp.addAll(ExcelUtil.checkExcelField(sysUserImportDto, y, i));
@@ -1195,9 +1201,9 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                     if (Objects.isNull(name) || name.length() > 30){
                         excelErrorTemp.add(new ExcelError(y + 1,"excel第" + (i + 1) + "个sheet第" + (y + 1) + "行[课程名称]不符合输入规范"));
                     }
-//                    if (Objects.isNull(phoneNumber) || !phoneNumber.matches(SystemConstant.REGULAR_EXPRESSION_OF_PHONE)){
-//                        excelErrorTemp.add(new ExcelError(y + 1,"excel第" + (i + 1) + "个sheet第" + (y + 1) + "行[电话号码]不符合输入规范"));
-//                    }
+                    if (Objects.isNull(phoneNumber) || !phoneNumber.matches(SystemConstant.REGULAR_EXPRESSION_OF_PHONE)){
+                        excelErrorTemp.add(new ExcelError(y + 1,"excel第" + (i + 1) + "个sheet第" + (y + 1) + "行[电话号码]不符合输入规范"));
+                    }
                 }
             }
             if (excelErrorTemp.size() > 0) {

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -77,7 +77,7 @@ public class SystemConstant {
     //    public static final int MAX_RETRY_CREATE_PDF_COUNT = 5;
     //英文字母、数字、中文括号、英文括号、下划线(_)、减号(-)、中文横线(—)
     public static final String REGULAR_EXPRESSION_OF_CODE = "[a-zA-Z0-9](\\w+)?-?(\\w+)?—?(\\w+)?(\\((\\w+)?-?(\\w+)?—?(\\w+)?\\))?(\\((\\w+)?-?(\\w+)?—?(\\w+)?\\))?(\\w+)?";
-    public static final String REGULAR_EXPRESSION_OF_PHONE = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\\\d{8}$";
+    public static final String REGULAR_EXPRESSION_OF_PHONE = "((\\d{3,4})|(\\(\\d{3,4}\\)-))?\\d{7,8}";
     public static final String SYS_USER = "sysUser";
 
     /**

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/SysUser.java

@@ -53,8 +53,8 @@ public class SysUser extends BaseEntity implements Serializable {
      * 姓名
      */
     @TableField("code")
-    @NotBlank(message = "请输入工号")
-    @Length(message = "工号不能超过{max}个字符", max = 50)
+//    @NotBlank(message = "请输入工号")
+//    @Length(message = "工号不能超过{max}个字符", max = 50)
     private String code;
     /**
      * 密码

+ 8 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -474,7 +474,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             }).collect(Collectors.toList());
             // TODO: 2021/7/16 校验datasource集合的正确性
             map.put("dataCount", datasource.size());
-            System.out.println("datasource:\n" + datasource);
+//            System.out.println("datasource:\n" + datasource);
 
             for (int y = 0; y < Objects.requireNonNull(sysUserImportDtoList).size(); y++) {
                 SysUserImportDto sysUserImportDto = (SysUserImportDto) sysUserImportDtoList.get(y);
@@ -524,6 +524,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         List<SysUser> userList = new ArrayList<>();
         List<SysUserRole> sysUserRoleList = new ArrayList<>();
         for (UserSaveParams userSaveParams : userSaveParamsList) {
+            String code = userSaveParams.getCode();
+            SysUser check = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId,schoolId).eq(SysUser::getEnable,true).eq(SysUser::getCode,code));
+            if (Objects.nonNull(check)){
+                if (!check.getId().equals(userSaveParams.getId())){
+                    throw ExceptionResultEnum.ERROR.exception("用户工号【" + code +"】重复");
+                }
+            }
             Gson gson = new Gson();
             userSaveParams.setSchoolId(schoolId);
             SysUser userCell = gson.fromJson(gson.toJson(userSaveParams), SysUser.class);