1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?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.system.mapper.SysUserOnlineMapper">
- <resultMap type="SysUserOnline" id="SysUserOnlineResult">
- <id property="sessionId" column="sessionId" />
- <result property="loginName" column="login_name" />
- <result property="deptName" column="dept_name" />
- <result property="ipaddr" column="ipaddr" />
- <result property="loginLocation" column="login_location" />
- <result property="browser" column="browser" />
- <result property="os" column="os" />
- <result property="status" column="status" />
- <result property="startTimestamp" column="start_timestamp" />
- <result property="lastAccessTime" column="last_access_time" />
- <result property="expireTime" column="expire_time" />
- </resultMap>
-
- <sql id="selectOnlineVo">
- select sessionId, login_name, dept_name, ipaddr, login_location, browser, os, status, start_timestamp, last_access_time, expire_time
- from sys_user_online
- </sql>
-
- <select id="selectOnlineById" parameterType="String" resultMap="SysUserOnlineResult">
- <include refid="selectOnlineVo"/>
- where sessionId = #{sessionId}
- </select>
- <insert id="saveOnline" parameterType="SysUserOnline">
- merge into sys_user_online a
- using (select count(1) co
- from sys_user_online
- where sessionid = #{sessionId}) b
- on (b.co <![CDATA[ <> ]]> 0)
- when matched then
- update
- set login_name = #{loginName},
- dept_name = #{deptName},
- ipaddr = #{ipaddr},
- login_location = #{loginLocation},
- browser = #{browser},
- os = #{os},
- status = #{status},
- start_timestamp = #{startTimestamp},
- last_access_time = #{lastAccessTime},
- expire_time = #{expireTime}
- where sessionid = #{sessionId}
- when not matched then
- insert
- values
- (#{sessionId}, #{loginName}, #{deptName}, #{ipaddr}, #{loginLocation}, #{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="SysUserOnline" resultMap="SysUserOnlineResult">
- <include refid="selectOnlineVo"/>
- <where>
- <if test="ipaddr != null and ipaddr != ''">
- AND ipaddr like concat(concat('%',#{ipaddr}),'%')
- </if>
- <if test="loginName != null and loginName != ''">
- AND login_name like concat(concat('%',#{loginName}),'%')
- </if>
- </where>
- </select>
-
- <select id="selectOnlineByExpired" parameterType="String" resultMap="SysUserOnlineResult">
- <include refid="selectOnlineVo"/> o
- WHERE o.last_access_time <![CDATA[ <= ]]> to_date(#{lastAccessTime},'yyyy-MM-dd HH24:mi:ss') ORDER BY o.last_access_time ASC
- </select>
- </mapper>
|