SysLogininforMapper.xml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ruoyi.system.mapper.SysLogininforMapper">
  6. <resultMap type="SysLogininfor" id="SysLogininforResult">
  7. <id property="infoId" column="info_id" />
  8. <result property="userName" column="user_name" />
  9. <result property="status" column="status" />
  10. <result property="ipaddr" column="ipaddr" />
  11. <result property="loginLocation" column="login_location" />
  12. <result property="browser" column="browser" />
  13. <result property="os" column="os" />
  14. <result property="msg" column="msg" />
  15. <result property="loginTime" column="login_time" />
  16. </resultMap>
  17. <insert id="insertLogininfor" parameterType="SysLogininfor">
  18. insert into sys_logininfor (user_name, status, ipaddr, login_location, browser, os, msg, login_time)
  19. values (#{userName}, #{status}, #{ipaddr}, #{loginLocation}, #{browser}, #{os}, #{msg}, sysdate())
  20. </insert>
  21. <select id="selectLogininforList" parameterType="SysLogininfor" resultMap="SysLogininforResult">
  22. select info_id, user_name, ipaddr, login_location, browser, os, status, msg, login_time from sys_logininfor
  23. <where>
  24. <if test="ipaddr != null and ipaddr != ''">
  25. AND ipaddr like concat('%', #{ipaddr}, '%')
  26. </if>
  27. <if test="status != null and status != ''">
  28. AND status = #{status}
  29. </if>
  30. <if test="userName != null and userName != ''">
  31. AND user_name like concat('%', #{userName}, '%')
  32. </if>
  33. <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
  34. and date_format(login_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
  35. </if>
  36. <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
  37. and date_format(login_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
  38. </if>
  39. </where>
  40. order by info_id desc
  41. </select>
  42. <select id="selectLogininforDayList" parameterType="SysLogininfor" resultMap="SysLogininforResult">
  43. SELECT
  44. s1.*
  45. FROM
  46. ( SELECT info_id, user_name, ipaddr, login_location, browser, os, STATUS, msg, login_time FROM sys_logininfor
  47. <where>
  48. <if test="userName != null and userName != ''">
  49. AND user_name like concat('%', #{userName}, '%')
  50. </if>
  51. </where>
  52. ORDER BY login_time DESC ) s1
  53. <where>
  54. <if test="loginTime != null"><!-- 近期未登录 -->
  55. date_format(login_time,'%y-%m-%d') &lt; date_format(#{loginTime},'%y-%m-%d' )
  56. </if>
  57. </where>
  58. GROUP BY
  59. s1.user_name
  60. </select>
  61. <delete id="deleteLogininforByIds" parameterType="Long">
  62. delete from sys_logininfor where info_id in
  63. <foreach collection="array" item="infoId" open="(" separator="," close=")">
  64. #{infoId}
  65. </foreach>
  66. </delete>
  67. <update id="cleanLogininfor">
  68. truncate table sys_logininfor
  69. </update>
  70. </mapper>