d0abb3c1a46c622cc02ebab89340089daa87a78b.svn-base 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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="org.jeecg.modules.system.mapper.SysLogMapper">
  4. <!-- 清空所有日志记录 -->
  5. <delete id="removeAll">
  6. DELETE FROM sys_log
  7. </delete>
  8. <!-- 获取访问总数 -->
  9. <select id="findTotalVisitCount" resultType="long">
  10. select count(1) from sys_log where log_type = 1
  11. </select>
  12. <!-- 获取今日访问总数 -->
  13. <select id="findTodayVisitCount" resultType="long">
  14. select count(1) from sys_log where log_type = 1 and create_time &gt;= #{dayStart} and create_time &lt; #{dayEnd}
  15. </select>
  16. <!-- 获取今日访问总IP数 -->
  17. <select id="findTodayIp" resultType="long">
  18. select count(distinct(ip)) from sys_log where log_type = 1 and create_time &gt;= #{dayStart} and create_time &lt; #{dayEnd}
  19. </select>
  20. <!-- 首页访问统计 -->
  21. <select id="findVisitCount" resultType="java.util.HashMap">
  22. <if test="dbType == 'mysql' || dbType == 'mariadb' || dbType == 'clickhouse'|| dbType == 'sqlite'">
  23. select count(*) as visit
  24. ,count(distinct(ip)) as ip
  25. ,DATE_FORMAT(create_time, '%Y-%m-%d') as tian
  26. ,DATE_FORMAT(create_time, '%m-%d') as type
  27. from sys_log
  28. where log_type = 1 and create_time &gt;= #{dayStart} and create_time &lt; #{dayEnd}
  29. group by tian,type
  30. order by tian asc
  31. </if>
  32. <if test="dbType == 'oracle' || dbType == 'oracle12c' || dbType == 'dm'">
  33. select count(*) as visit
  34. ,count(distinct(ip)) as ip
  35. ,to_char(create_time, 'yyyy-mm-dd') as tian
  36. ,to_char(create_time, 'mm-dd') as type
  37. from sys_log
  38. where log_type = 1 and create_time &gt;= #{dayStart} and create_time &lt; #{dayEnd}
  39. group by to_char(create_time, 'yyyy-mm-dd'),to_char(create_time, 'mm-dd')
  40. order by to_char(create_time, 'yyyy-mm-dd') asc
  41. </if>
  42. <if test="dbType == 'postgresql' || dbType == 'kingbasees' || dbType == 'zenith'">
  43. select count(*) as visit
  44. ,count(distinct(ip)) as ip
  45. ,to_char(create_time, 'yyyy-mm-dd') as tian
  46. ,to_char(create_time, 'mm-dd') as type
  47. from sys_log
  48. where log_type = 1 and create_time &gt;= #{dayStart} and create_time &lt; #{dayEnd}
  49. group by tian,type
  50. order by tian asc
  51. </if>
  52. <if test="dbType == 'sqlserver' || dbType == 'sqlserver2005'">
  53. select count(*) as visit
  54. ,count(distinct(ip)) as ip
  55. ,CONVERT(varchar(100), create_time, 23) as tian
  56. ,RIGHT(CONVERT(varchar(100), create_time, 23),5) as type
  57. from sys_log
  58. where log_type = 1 and create_time &gt;= #{dayStart} and create_time &lt; #{dayEnd}
  59. group by CONVERT(varchar(100), create_time, 23),RIGHT(CONVERT(varchar(100), create_time, 23),5)
  60. order by CONVERT(varchar(100), create_time, 23) asc
  61. </if>
  62. </select>
  63. </mapper>