若依数据权限改造

步骤

在这里插入图片描述

加注解

    @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 &gt;= #{params.beginTime}
			</if>
			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
				AND l.login_time &lt;= #{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);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值