步骤
加注解
@Override
@DataScope(deptAlias = "d", userAlias = "u")
public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor)
{
return logininforMapper.selectLogininforList(logininfor);
}
加字段
ALTER TABLE dkd.sys_logininfor
ADD COLUMN dept_id BIGINT COMMENT '部门ID',
ADD COLUMN user_id BIGINT COMMENT '用户ID';
实体属性
/** 部门ID */
private Long deptId;
/**用户ID*/
private Long userId;
public Long getDeptId()
{
return deptId;
}
public void setDeptId(Long deptId)
{
this.deptId = deptId;
}
public Long getUserId()
{
return userId;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
mapper
insert方法
<insert id="insertLogininfor" parameterType="SysLogininfor">
insert into sys_logininfor (user_name, status, ipaddr, login_location, browser, os, msg, login_time,dept_id,user_id)
values (#{userName}, #{status}, #{ipaddr}, #{loginLocation}, #{browser}, #{os}, #{msg}, sysdate(),#{deptId},#{userId})
</insert>
select方法
<select id="selectLogininforList" parameterType="SysLogininfor" resultMap="SysLogininforResult">
select l.info_id, l.user_name, l.ipaddr, l.login_location, l.browser, l.os, l.status, l.msg, l.login_time,
u.user_id, u.dept_id
from sys_logininfor l
left join sys_user u on l.user_id = u.user_id
left join sys_dept d on u.dept_id = d.dept_id
<where>
<if test="ipaddr != null and ipaddr != ''">
AND l.ipaddr like concat('%', #{ipaddr}, '%')
</if>
<if test="status != null and status != ''">
AND l.status = #{status}
</if>
<if test="userName != null and userName != ''">
AND l.user_name like concat('%', #{userName}, '%')
</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
AND l.login_time >= #{params.beginTime}
</if>
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
AND l.login_time <= #{params.endTime}
</if>
<!-- 数据权限过滤 -->
${params.dataScope}
</where>
order by l.info_id desc
</select>
新增方法 将对应的属性设置进去
/**
* 新增系统登录日志
*
* @param logininfor 访问日志对象
*/
@Override
public void insertLogininfor(SysLogininfor logininfor)
{
// 跟距username查询用户id和部门id
SysUser sysUser = userService.selectUserByUserName(logininfor.getUserName());
Optional.ofNullable(sysUser).ifPresent(user -> {
logininfor.setUserId(user.getUserId());
logininfor.setDeptId(user.getDeptId());
});
logininforMapper.insertLogininfor(logininfor);
}