初始化 c 端的登录逻辑

This commit is contained in:
wangwenbin10
2021-10-09 08:24:17 +08:00
parent 53bda604b0
commit 28fdc8e42e
19 changed files with 221 additions and 70 deletions

View File

@ -1,6 +1,7 @@
package cn.iocoder.yudao.adminserver.modules.system.controller.logger.vo.loginlog;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@ -11,4 +12,8 @@ import lombok.ToString;
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SysLoginLogCreateReqVO extends SysLoginLogBaseVO {
}
@ApiModelProperty(value = "用户编号", example = "1")
private Long userId;
}

View File

@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.security.core.service.SecurityAuthFrameworkSer
import javax.validation.Valid;
/**
* 认证 Service 接口
* 管理后台的认证 Service 接口
*
* 提供用户的账号密码登录、token 的校验等认证相关的功能
*

View File

@ -38,6 +38,7 @@ import org.springframework.util.Assert;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import static cn.iocoder.yudao.adminserver.modules.system.enums.SysErrorCodeConstants.*;
@ -154,14 +155,24 @@ public class SysAuthServiceImpl implements SysAuthService {
}
private void createLoginLog(String username, SysLoginLogTypeEnum logTypeEnum, SysLoginResultEnum loginResult) {
// 获得用户
SysUserDO user = userService.getUserByUsername(username);
// 插入登录日志
SysLoginLogCreateReqVO reqVO = new SysLoginLogCreateReqVO();
reqVO.setLogType(logTypeEnum.getType());
reqVO.setTraceId(TracerUtils.getTraceId());
if (user != null) {
reqVO.setUserId(user.getId());
}
reqVO.setUsername(username);
reqVO.setUserAgent(ServletUtils.getUserAgent());
reqVO.setUserIp(ServletUtils.getClientIP());
reqVO.setResult(loginResult.getResult());
loginLogService.createLoginLog(reqVO);
// 更新最后登录时间
if (user != null && Objects.equals(SysLoginResultEnum.SUCCESS.getResult(), loginResult.getResult())) {
}
}
/**

View File

@ -24,17 +24,10 @@ public class SysLoginLogServiceImpl implements SysLoginLogService {
@Resource
private SysLoginLogMapper loginLogMapper;
@Resource
private SysUserService userService;
@Override
public void createLoginLog(SysLoginLogCreateReqVO reqVO) {
SysLoginLogDO loginLog = SysLoginLogConvert.INSTANCE.convert(reqVO);
// 获得用户
SysUserDO user = userService.getUserByUsername(reqVO.getUsername());
if (user != null) {
loginLog.setUserId(user.getId());
}
loginLog.setUserType(UserTypeEnum.ADMIN.getValue());
// 插入
loginLogMapper.insert(loginLog);

View File

@ -20,7 +20,7 @@ import java.util.List;
import java.util.Map;
/**
* 用户 Service 接口
* 后台用户 Service 接口
*
* @author 芋道源码
*/