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

3 years ago
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.iteaj.iboot.msn.core.mapper.IOnlineUserMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="OriMap" type="com.iteaj.iboot.msn.core.entity.OnlineUser">
  6. <id column="id" property="id" />
  7. <result column="browse" property="browse" />
  8. <result column="account" property="account" />
  9. <result column="expire_time" property="expireTime" />
  10. <result column="location" property="location" />
  11. <result column="login_ip" property="accessIp" />
  12. <result column="login_time" property="loginTime" />
  13. <result column="os" property="os" />
  14. <result column="type" property="type" />
  15. <result column="status" property="status" />
  16. <result column="user_nick" property="userNick" />
  17. <result column="create_time" property="createTime" />
  18. <result column="update_time" property="updateTime" />
  19. </resultMap>
  20. <!-- 表字段列表 -->
  21. <sql id="OriSql">
  22. a.create_time, a.id, a.update_time, a.browse, a.account, a.expire_time, a.location, a.login_ip
  23. , a.login_time, a.os, a.status, a.user_nick, a.type
  24. </sql>
  25. <!-- 表字段关联列表 -->
  26. <sql id="OriJoinSql">
  27. 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,
  28. 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,
  29. our.app_type our_app_type
  30. </sql>
  31. <!-- 批量插入 -->
  32. <insert id="insertAsBatch">
  33. insert into sys_online_user (browse, account, expire_time, location, access_ip, login_time, os, status, user_nick, app_type) VALUES
  34. <foreach collection="list" separator="," item="item">
  35. (#{item.browse},#{item.account},#{item.expireTime},#{item.location},#{item.loginIp},#{item.loginTime},#{item.os},
  36. #{item.status},#{item.userNick},#{item.appType})
  37. </foreach>
  38. </insert>
  39. <!-- 统计当天在线和当前在线人数 -->
  40. <select id="countCurrentOnline" resultType="com.iteaj.iboot.msn.core.dto.OnlineCountDto">
  41. select count(distinct if(status='online', access_ip, null)) currentOnline
  42. , count(distinct access_ip) todayAccess from sys_online_user where date(create_time) = date(now())
  43. </select>
  44. <!-- 统计当天访问人数 -->
  45. <select id="countTodayAccess" resultType="java.lang.Long">
  46. </select>
  47. </mapper>