PtServiceMonitorMapper.xml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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.ruoyi.interfaces.mapper.PtServiceMonitorMapper">
  4. <select id="viewNumByCity" resultType="java.util.Map">
  5. select geo_city as name, count(*) AS value
  6. FROM pt_service_log
  7. group by geo_city
  8. </select>
  9. <select id="getModelCallCount" resultType="java.util.Map">
  10. SELECT
  11. a.app_id AS APPID,
  12. a.app_name AS APPNAME,
  13. COUNT( * ) AS TOTAL
  14. FROM
  15. pt_service_log a
  16. <where>
  17. <if test="userId != null and userId != ''">
  18. AND a.user_id = #{userId}
  19. </if>
  20. <if test="startTime != null and startTime != ''">
  21. AND a.tm &gt;= #{startTime}
  22. </if>
  23. <if test="endTime != null and endTime != ''">
  24. AND a.tm &lt; #{endTime}
  25. </if>
  26. </where>
  27. GROUP BY a.app_id, a.app_name
  28. </select>
  29. <select id="getUserModelCallCount" resultType="java.util.Map">
  30. SELECT
  31. b.service_name AS SERVICENAME,
  32. COUNT( * ) AS TOTAL
  33. FROM sys_user a
  34. JOIN pt_service_log b ON a.user_id = b.user_id
  35. <where>
  36. <if test="userId != null and userId != ''">
  37. AND a.user_id = #{userId}
  38. </if>
  39. <if test="startTime != null and startTime != ''">
  40. AND b.tm &gt;= #{startTime}
  41. </if>
  42. <if test="endTime != null and endTime != ''">
  43. AND b.tm &lt; #{endTime}
  44. </if>
  45. </where>
  46. GROUP BY b.service_name
  47. </select>
  48. <select id="getModelTypeCallCount" resultType="java.util.Map">
  49. SELECT a.name as NAME,
  50. count(*) as TOTAL
  51. FROM md_model_info a
  52. JOIN pt_service_log b ON a.MDID = b.md_id
  53. <where>
  54. <if test="startTime != null and startTime != ''">
  55. AND b.tm &gt;= #{startTime}
  56. </if>
  57. <if test="endTime != null and endTime != ''">
  58. AND b.tm &lt; #{endTime}
  59. </if>
  60. </where>
  61. GROUP BY a.name
  62. </select>
  63. <select id="getMonthModelCallMaxCount" resultType="java.util.Map">
  64. SELECT a.md_id,
  65. b."NAME",
  66. COUNT(*) AS call_count
  67. FROM pt_service_log a
  68. JOIN md_model_info b ON a.md_id = b.MDID
  69. WHERE DATE_FORMAT(a.tm, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m') -- 动态匹配当前年月
  70. GROUP BY a.md_id, b."NAME"
  71. HAVING COUNT(*) = (SELECT COUNT(*) AS cnt
  72. FROM pt_service_log
  73. WHERE DATE_FORMAT(tm, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m')
  74. GROUP BY md_id
  75. ORDER BY cnt DESC
  76. LIMIT 1 -- 获取最高调用次数
  77. )
  78. ORDER BY call_count DESC;
  79. </select>
  80. <select id="getModelServiceCount" resultType="java.util.Map">
  81. SELECT a.NAME NAME,
  82. count(*) TOTAL
  83. FROM md_model_info a
  84. JOIN pt_service b ON a.MDID = b.MDID
  85. GROUP BY a.NAME
  86. </select>
  87. <select id="getModelServiceSuccessCount" resultType="java.util.Map">
  88. SELECT
  89. a.NAME AS NAME,
  90. COUNT(*) AS TOTAL,
  91. SUM(CASE WHEN b.status_code = 200 THEN 1 ELSE 0 END) AS SUCCESS,
  92. SUM(CASE WHEN b.status_code != 200 THEN 1 ELSE 0 END) AS FAIL
  93. FROM
  94. md_model_info a
  95. JOIN pt_service_log b ON a.MDID = b.md_id
  96. <where>
  97. <if test="startTime != null and startTime != ''">
  98. AND b.tm &gt;= #{startTime}
  99. </if>
  100. <if test="endTime != null and endTime != ''">
  101. AND b.tm &lt; #{endTime}
  102. </if>
  103. </where>
  104. GROUP BY a.NAME;
  105. </select>
  106. </mapper>