Files
RuoYi/src/main/resources/mybatis/monitor/OnlineMapper.xml
2018-07-09 08:44:52 +08:00

61 lines
2.8 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.project.monitor.online.mapper.UserOnlineMapper">
<resultMap type="UserOnline" id="UserOnlineResult">
<id property="sessionId" column="sessionId" />
<result property="loginName" column="login_name" />
<result property="deptName" column="dept_name" />
<result property="ipaddr" column="ipaddr" />
<result property="longinLocation" column="login_location" />
<result property="browser" column="browser" />
<result property="os" column="os" />
<result property="status" column="status" />
<result property="startTimestamp" column="start_timestsamp" />
<result property="lastAccessTime" column="last_access_time" />
<result property="expireTime" column="expire_time" />
<association property="session" javaType="OnlineSession" resultMap="OnlineSessionResult" />
</resultMap>
<resultMap type="OnlineSession" id="OnlineSessionResult">
<result property="host" column="ipaddr" />
<result property="browser" column="browser" />
<result property="os" column="os" />
<result property="status" column="status" />
</resultMap>
<select id="selectOnlineById" parameterType="String" resultMap="UserOnlineResult">
select *
from sys_user_online
where sessionid = #{sessionid}
</select>
<insert id="saveOnline" parameterType="UserOnline">
replace into sys_user_online(sessionId, login_name, dept_name, ipaddr, login_location, browser, os, status, start_timestsamp, last_access_time, expire_time)
values (#{sessionId}, #{loginName}, #{deptName}, #{ipaddr}, #{longinLocation}, #{browser}, #{os}, #{status}, #{startTimestamp}, #{lastAccessTime}, #{expireTime})
</insert>
<delete id="deleteOnlineById" parameterType="String">
delete from sys_user_online where sessionId = #{sessionId}
</delete>
<select id="selectUserOnlineList" parameterType="UserOnline" resultMap="UserOnlineResult">
select * from sys_user_online
<where>
<if test="ipaddr != null and ipaddr != ''">
AND ipaddr like concat('%', #{ipaddr}, '%')
</if>
<if test="loginName != null and loginName != ''">
AND login_name like concat('%', #{loginName}, '%')
</if>
</where>
</select>
<select id="selectOnlineByExpired" parameterType="String" resultMap="UserOnlineResult">
SELECT * FROM sys_user_online o
WHERE o.last_access_time <![CDATA[ <= ]]> #{lastAccessTime} ORDER BY o.last_access_time ASC
</select>
</mapper>