地质所 沉降监测网建设项目
chenhuan
2024-05-16 f992b4e508b358eba4170b1e9b1bb21319f7a3cd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?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.javaweb.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">
        replace into sys_user_online(sessionId, login_name, dept_name, ipaddr, login_location, browser, os, status, start_timestamp, last_access_time, expire_time)
        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('%', #{ipaddr}, '%')
            </if>
            <if test="loginName != null and loginName != ''">
                AND login_name like concat('%', #{loginName}, '%')
            </if>
        </where>
    </select>
    
    <select id="selectOnlineByExpired" parameterType="String" resultMap="SysUserOnlineResult">
        <include refid="selectOnlineVo"/> o 
        WHERE o.last_access_time <![CDATA[ <= ]]> #{lastAccessTime} ORDER BY o.last_access_time ASC
    </select>
 
</mapper>