You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

52 lines
2.6 KiB

<?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.iteaj.iboot.msn.core.mapper.IOnlineUserMapper">
<!-- 通用查询映射结果 -->
<resultMap id="OriMap" type="com.iteaj.iboot.msn.core.entity.OnlineUser">
<id column="id" property="id" />
<result column="browse" property="browse" />
<result column="account" property="account" />
<result column="expire_time" property="expireTime" />
<result column="location" property="location" />
<result column="login_ip" property="accessIp" />
<result column="login_time" property="loginTime" />
<result column="os" property="os" />
<result column="type" property="type" />
<result column="status" property="status" />
<result column="user_nick" property="userNick" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
</resultMap>
<!-- 表字段列表 -->
<sql id="OriSql">
a.create_time, a.id, a.update_time, a.browse, a.account, a.expire_time, a.location, a.login_ip
, a.login_time, a.os, a.status, a.user_nick, a.type
</sql>
<!-- 表字段关联列表 -->
<sql id="OriJoinSql">
our.create_time our_create_time, our.id our_id, our.update_time our_update_time, our.browse our_browse, our.account our_account, our.expire_time our_expire_time,
our.location our_location, our.login_ip our_login_ip, our.login_time our_login_time, our.os our_os, our.status our_status, our.user_nick our_user_nick,
our.app_type our_app_type
</sql>
<!-- 批量插入 -->
<insert id="insertAsBatch">
insert into sys_online_user (browse, account, expire_time, location, access_ip, login_time, os, status, user_nick, app_type) VALUES
<foreach collection="list" separator="," item="item">
(#{item.browse},#{item.account},#{item.expireTime},#{item.location},#{item.loginIp},#{item.loginTime},#{item.os},
#{item.status},#{item.userNick},#{item.appType})
</foreach>
</insert>
<!-- 统计当天在线和当前在线人数 -->
<select id="countCurrentOnline" resultType="com.iteaj.iboot.msn.core.dto.OnlineCountDto">
select count(distinct if(status='online', access_ip, null)) currentOnline
, count(distinct access_ip) todayAccess from sys_online_user where date(create_time) = date(now())
</select>
<!-- 统计当天访问人数 -->
<select id="countTodayAccess" resultType="java.lang.Long">
</select>
</mapper>