Browse Source

校验用户是否被注册

zhoutg 6 năm trước cách đây
mục cha
commit
e00ba2280e

+ 1 - 0
user-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -39,6 +39,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/user/getUserAndOrg").permitAll()
                 .antMatchers("/user/getUserByOrgName").permitAll()
                 .antMatchers("/user/resetPassword").permitAll()
+                .antMatchers("/user/verifyUser").permitAll()
                 .antMatchers("/**").authenticated();
         //        .antMatchers("/**").permitAll();
     }

+ 1 - 1
user-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -83,7 +83,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/user/index", request)
                 || matchers("/user/getUserByOrgName", request)
                 || matchers("/user/getUserAndOrg", request)
-
+                || matchers("/user/verifyUser", request)
                 || matchers("/", request)) {
             return true;
         }

+ 24 - 2
user-service/src/main/java/com/diagbot/facade/UserFacade.java

@@ -59,12 +59,14 @@ import com.diagbot.vo.UserExportVO;
 import com.diagbot.vo.UserInfoAuditVO;
 import com.diagbot.vo.UserInfoOrganizationsVO;
 import com.diagbot.vo.UserSaveVO;
+import com.diagbot.vo.UsernameVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.factory.PasswordEncoderFactories;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.stereotype.Component;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Date;
@@ -72,8 +74,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletResponse;
-
 /**
  * @Description: 用户业务层
  * @author: gaodm
@@ -143,6 +143,28 @@ public class UserFacade extends UserServiceImpl {
     }
 
 
+    /**
+     * 校验用户(手机号)是否注册
+     *
+     * @param usernameVO 参数
+     * @return 返回状态
+     */
+    public Boolean verifyUser(UsernameVO usernameVO) {
+        String username = usernameVO.getUsername();
+        if(StringUtil.isEmpty(username)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "请输入手机号");
+        }
+        if(!RegexValidateUtil.checkMobileNumber(username)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "请输入正确的手机号");
+        }
+        User bean = findByName(username);
+        if (bean != null) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该手机已注册");
+        }
+        return true;
+    }
+
+
     /**
      * @param page       分页参数
      * @param userSaveVO 参数

+ 7 - 7
user-service/src/main/java/com/diagbot/vo/UserSaveVO.java

@@ -15,21 +15,21 @@ import javax.validation.constraints.Pattern;
 @Setter
 public class UserSaveVO {
 
-    @NotBlank(message = "请输入密码!")
+    @NotBlank(message = "请输入密码")
     @Pattern(regexp = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$", message = "密码必须数字和字母组成,并且要同时含有数字和字母,且长度要在6-16位之间")
     private String password;
-    @NotBlank(message = "请输入手机号!")
+    @NotBlank(message = "请输入手机号")
     private String username;
-    @NotBlank(message = "请输入机构名称!")
+    @NotBlank(message = "请输入机构名称")
     private String organization;
-    @NotBlank(message = "请输入联系人姓名!")
+    @NotBlank(message = "请输入联系人姓名")
     private String linkman;
-    @NotBlank(message = "请输入邮箱!")
+    @NotBlank(message = "请输入邮箱")
     private String email; //邮箱
     //图片验证码唯一标志
-    @NotBlank(message = "图片验证码唯一标志不能为空!")
+    @NotBlank(message = "图片验证码唯一标志不能为空")
     private String imgId;
     //验证码
-    @NotBlank(message = "请输入图形验证码!")
+    @NotBlank(message = "请输入图形验证码")
     private String code;
 }

+ 11 - 0
user-service/src/main/java/com/diagbot/web/UserController.java

@@ -54,6 +54,7 @@ public class UserController {
     @Autowired
     private PermissionFacade permissionFacade;
 
+
     @ApiOperation(value = "注册[by:zhoutg]",
             notes = "username:用户名,必填<br>" +
                     "password:密码,必填<br> " +
@@ -71,6 +72,16 @@ public class UserController {
     }
 
 
+    @ApiOperation(value = "校验用户(手机号)是否注册[by:zhoutg]",
+            notes = "username:用户名(手机号),必填<br>")
+    @PostMapping("/verifyUser")
+    @SysLogger("verifyUser")
+    public RespDTO<Boolean> verifyUser(@RequestBody UsernameVO usernameVO) {
+        Boolean res = userFacade.verifyUser(usernameVO);
+        return RespDTO.onSuc(res);
+    }
+
+
     @ApiOperation(value = "登录获取jwt[by:zhoutg]",
             notes = "username:用户名,必填<br>" +
                     "password:密码, 必填<br> ")