@ -55,54 +55,38 @@ public class SysRegisterService
* 注 册
* 注 册
* /
* /
@Transactional ( rollbackFor = Exception . class )
@Transactional ( rollbackFor = Exception . class )
public String register ( RegisterBody registerBody )
public String register ( RegisterBody registerBody ) {
{
String msg = "" , username = registerBody . getUsername ( ) , password = registerBody . getPassword ( ) ;
String msg = "" , username = registerBody . getUsername ( ) , password = registerBody . getPassword ( ) ;
SysUser sysUser = new SysUser ( ) ;
SysUser sysUser = new SysUser ( ) ;
sysUser . setUserName ( username ) ;
sysUser . setUserName ( username ) ;
// 验证码开关
// 验证码开关
boolean captchaEnabled = configService . selectCaptchaEnabled ( ) ;
boolean captchaEnabled = configService . selectCaptchaEnabled ( ) ;
if ( captchaEnabled )
if ( captchaEnabled ) {
{
validateCaptcha ( username , registerBody . getCode ( ) , registerBody . getUuid ( ) ) ;
validateCaptcha ( username , registerBody . getCode ( ) , registerBody . getUuid ( ) ) ;
}
}
if ( StringUtils . isEmpty ( username ) )
if ( StringUtils . isEmpty ( username ) ) {
{
msg = "用户名不能为空" ;
msg = "用户名不能为空" ;
}
} else if ( StringUtils . isEmpty ( password ) ) {
else if ( StringUtils . isEmpty ( password ) )
{
msg = "用户密码不能为空" ;
msg = "用户密码不能为空" ;
}
} else if ( username . length ( ) < UserConstants . USERNAME_MIN_LENGTH
else if ( username . length ( ) < UserConstants . USERNAME_MIN_LENGTH
| | username . length ( ) > UserConstants . USERNAME_MAX_LENGTH ) {
| | username . length ( ) > UserConstants . USERNAME_MAX_LENGTH )
{
msg = "账户长度必须在2到20个字符之间" ;
msg = "账户长度必须在2到20个字符之间" ;
}
} else if ( password . length ( ) < UserConstants . PASSWORD_MIN_LENGTH
else if ( password . length ( ) < UserConstants . PASSWORD_MIN_LENGTH
| | password . length ( ) > UserConstants . PASSWORD_MAX_LENGTH ) {
| | password . length ( ) > UserConstants . PASSWORD_MAX_LENGTH )
{
msg = "密码长度必须在5到20个字符之间" ;
msg = "密码长度必须在5到20个字符之间" ;
}
} else if ( ! userService . checkUserNameUnique ( sysUser ) ) {
else if ( ! userService . checkUserNameUnique ( sysUser ) )
{
msg = "保存用户'" + username + "'失败,注册账号已存在" ;
msg = "保存用户'" + username + "'失败,注册账号已存在" ;
}
} else {
else
{
sysUser . setNickName ( username ) ;
sysUser . setNickName ( username ) ;
sysUser . setPassword ( SecurityUtils . encryptPassword ( password ) ) ;
sysUser . setPassword ( SecurityUtils . encryptPassword ( password ) ) ;
boolean regFlag = userService . registerUser ( sysUser ) ;
boolean regFlag = userService . registerUser ( sysUser ) ;
//注册绑定角色
//注册绑定角色
roleBinding ( sysUser , "rew_excellent_category" ) ;
roleBinding ( sysUser , registerBody . getRoleKey ( ) ) ;
if ( ! regFlag )
if ( ! regFlag ) {
{
msg = "注册失败,请联系系统管理人员" ;
msg = "注册失败,请联系系统管理人员" ;
}
} else {
else
{
AsyncManager . me ( ) . execute ( AsyncFactory . recordLogininfor ( username , Constants . REGISTER , MessageUtils . message ( "user.register.success" ) ) ) ;
AsyncManager . me ( ) . execute ( AsyncFactory . recordLogininfor ( username , Constants . REGISTER , MessageUtils . message ( "user.register.success" ) ) ) ;
}
}
}
}
@ -139,17 +123,14 @@ public class SysRegisterService
* @param uuid 唯 一 标 识
* @param uuid 唯 一 标 识
* @return 结 果
* @return 结 果
* /
* /
public void validateCaptcha ( String username , String code , String uuid )
public void validateCaptcha ( String username , String code , String uuid ) {
{
String verifyKey = CacheConstants . CAPTCHA_CODE_KEY + StringUtils . nvl ( uuid , "" ) ;
String verifyKey = CacheConstants . CAPTCHA_CODE_KEY + StringUtils . nvl ( uuid , "" ) ;
String captcha = redisCache . getCacheObject ( verifyKey ) ;
String captcha = redisCache . getCacheObject ( verifyKey ) ;
redisCache . deleteObject ( verifyKey ) ;
redisCache . deleteObject ( verifyKey ) ;
if ( captcha = = null )
if ( captcha = = null ) {
{
throw new CaptchaExpireException ( ) ;
throw new CaptchaExpireException ( ) ;
}
}
if ( ! code . equalsIgnoreCase ( captcha ) )
if ( ! code . equalsIgnoreCase ( captcha ) ) {
{
throw new CaptchaException ( ) ;
throw new CaptchaException ( ) ;
}
}
}
}