用户登录新增邮箱登录
parent
12638f2f6d
commit
6c8e02a17e
|
@ -31,6 +31,7 @@ public class TokenController {
|
|||
@PostMapping("login")
|
||||
public Result<?> login (@RequestBody LoginBody form) {
|
||||
// 用户登录
|
||||
form.setEmail(form.getUsername()+"@qq.com");
|
||||
LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword());
|
||||
// 获取登录token
|
||||
return Result.success(tokenService.createToken(userInfo));
|
||||
|
|
|
@ -16,6 +16,19 @@ public class LoginBody {
|
|||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getUsername () {
|
||||
return username;
|
||||
}
|
||||
|
|
|
@ -83,10 +83,14 @@ public class SysLoginService {
|
|||
Result<LoginUser> userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER);
|
||||
|
||||
if (StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData())) {
|
||||
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在");
|
||||
throw new ServiceException("登录用户:" + username + " 不存在");
|
||||
if (username.contains("@")){
|
||||
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录邮箱不存在");
|
||||
throw new ServiceException("登录邮箱:" + username + " 不存在");
|
||||
}else {
|
||||
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在");
|
||||
throw new ServiceException("登录用户:" + username + " 不存在");
|
||||
}
|
||||
}
|
||||
|
||||
if (Result.FAIL == userResult.getCode()) {
|
||||
throw new ServiceException(userResult.getMsg());
|
||||
}
|
||||
|
@ -101,8 +105,15 @@ public class SysLoginService {
|
|||
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员");
|
||||
throw new ServiceException("对不起,您的账号:" + username + " 已停用");
|
||||
}
|
||||
if (username.contains("@")){
|
||||
user.setEmail(null);
|
||||
}
|
||||
passwordService.validate(user, password);
|
||||
recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功");
|
||||
if (username.contains("@")){
|
||||
recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "邮箱登录成功");
|
||||
}else {
|
||||
recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "账号登录成功");
|
||||
}
|
||||
return userInfo;
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,12 @@ public class SysPasswordService {
|
|||
retryCount = retryCount + 1;
|
||||
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, String.format("密码输入错误%s次", retryCount));
|
||||
redisService.setCacheObject(getCacheKey(username), retryCount, lockTime, TimeUnit.MINUTES);
|
||||
throw new ServiceException("用户不存在/密码错误");
|
||||
|
||||
if (user.getEmail()==null){
|
||||
throw new ServiceException("邮箱不存在/密码错误");
|
||||
}else {
|
||||
throw new ServiceException("用户不存在/密码错误");
|
||||
}
|
||||
} else {
|
||||
clearLoginRecordCache(username);
|
||||
}
|
||||
|
|
|
@ -9,6 +9,8 @@ import com.muyu.common.system.domain.LoginUser;
|
|||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户服务
|
||||
*
|
||||
|
@ -16,6 +18,8 @@ import org.springframework.web.bind.annotation.*;
|
|||
*/
|
||||
@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
|
||||
public interface RemoteUserService {
|
||||
@PostMapping("/user/UserList")
|
||||
public Result<List<SysUser>>userList(@RequestBody SysUser sysUser);
|
||||
/**
|
||||
* 通过用户名查询用户信息
|
||||
*
|
||||
|
|
|
@ -9,6 +9,8 @@ import org.slf4j.LoggerFactory;
|
|||
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户服务降级处理
|
||||
*
|
||||
|
@ -22,6 +24,11 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
|
|||
public RemoteUserService create (Throwable throwable) {
|
||||
log.error("用户服务调用失败:{}", throwable.getMessage());
|
||||
return new RemoteUserService() {
|
||||
@Override
|
||||
public Result<List<SysUser>> userList(SysUser sysUser) {
|
||||
return Result.error("获取用户列表失败:" + throwable.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<LoginUser> getUserInfo (String username, String source) {
|
||||
return Result.error("获取用户失败:" + throwable.getMessage());
|
||||
|
|
|
@ -75,6 +75,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
|
|||
*/
|
||||
public int updateUser (SysUser user);
|
||||
|
||||
List<SysUser>SysUserById(@Param("id") Long id);
|
||||
/**
|
||||
* 修改用户头像
|
||||
*
|
||||
|
|
|
@ -190,6 +190,12 @@
|
|||
</foreach>
|
||||
)
|
||||
</select>
|
||||
<select id="SysUserById" resultType="com.muyu.common.system.domain.SysUser">
|
||||
select user_id, dept_id, user_name, nick_name, email, avatar, phonenumber, sex, password, status, create_by,
|
||||
create_time, del_flag, login_ip, login_date, remark
|
||||
from sys_user
|
||||
where user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<insert id="insertUser" parameterType="com.muyu.common.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
|
||||
insert into sys_user(
|
||||
|
|
Loading…
Reference in New Issue