mitao
2024-04-15 ce7e6574a1f9942fc090d989b52aceaa11ba8f3e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?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.ruoyi.system.mapper.SysOperLogMapper">
 
  <resultMap type="SysOperLog" id="SysOperLogResult">
    <id property="operId" column="oper_id"/>
    <result property="title" column="title"/>
    <result property="businessType" column="business_type"/>
    <result property="method" column="method"/>
    <result property="requestMethod" column="request_method"/>
    <result property="operatorType" column="operator_type"/>
    <result property="operName" column="oper_name"/>
    <result property="deptName" column="dept_name"/>
    <result property="operUrl" column="oper_url"/>
    <result property="operIp" column="oper_ip"/>
    <result property="operLocation" column="oper_location"/>
    <result property="operParam" column="oper_param"/>
    <result property="jsonResult" column="json_result"/>
    <result property="status" column="status"/>
    <result property="errorMsg" column="error_msg"/>
    <result property="operTime" column="oper_time"/>
    <result property="costTime" column="cost_time"/>
  </resultMap>
 
  <sql id="selectOperLogVo">
    select oper_id,
           title,
           business_type,
           `method`,
           request_method,
           operator_type,
           oper_name,
           dept_name,
           oper_url,
           oper_ip,
           oper_location,
           oper_param,
           json_result,
           status,
           error_msg,
           oper_time,
           cost_time
    from sys_oper_log
  </sql>
 
  <insert id="insertOperlog" parameterType="com.ruoyi.system.domain.SysOperLog">
    insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name,
                             dept_name, oper_url, oper_ip, oper_location, oper_param, json_result,
                             status, error_msg, cost_time, oper_time)
    values (#{title}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operName},
            #{deptName}, #{operUrl}, #{operIp}, #{operLocation}, #{operParam}, #{jsonResult},
            #{status}, #{errorMsg}, #{costTime}, sysdate())
  </insert>
 
  <select id="selectOperLogList" parameterType="SysOperLog" resultMap="SysOperLogResult">
    <include refid="selectOperLogVo"/>
    <where>
      <if test="operIp != null and operIp != ''">
        AND oper_ip like concat('%', #{operIp}, '%')
      </if>
      <if test="title != null and title != ''">
        AND title like concat('%', #{title}, '%')
      </if>
      <if test="businessType != null">
        AND business_type = #{businessType}
      </if>
      <if test="businessTypes != null and businessTypes.length > 0">
        AND business_type in
        <foreach collection="businessTypes" item="businessType" open="(" separator="," close=")">
          #{businessType}
        </foreach>
      </if>
      <if test="status != null">
        AND status = #{status}
      </if>
      <if test="operName != null and operName != ''">
        AND oper_name like concat('%', #{operName}, '%')
      </if>
      <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
        AND oper_time &gt;= #{params.beginTime}
      </if>
      <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
        AND oper_time &lt;= #{params.endTime}
      </if>
    </where>
    order by oper_id desc
  </select>
 
  <delete id="deleteOperLogByIds" parameterType="Long">
    delete from sys_oper_log where oper_id in
    <foreach collection="operIds" item="operId" open="(" separator="," close=")">
      #{operId}
    </foreach>
  </delete>
 
  <select id="selectOperLogById" parameterType="Long" resultMap="SysOperLogResult">
    <include refid="selectOperLogVo"/>
    where oper_id = #{operId}
  </select>
  <select id="selectOperLogPageList" resultType="com.ruoyi.system.vo.SysOperLogVO">
    select sol.oper_id AS operId, sol.title AS title, sol.business_type AS businessType,
    sol.`method` AS method, sol.request_method AS requestMethod,
    sol.operator_type AS operatorType,sol.oper_name AS operName,sol.dept_name AS deptName,
    sol.oper_url AS operUrl, sol.oper_ip AS operIp,
    sol.oper_location AS operLocation, sol.oper_param AS operLocation,sol.json_result AS jsonResult,
    sol.status AS status,sol.error_msg AS errorMsg,
    sol.oper_time AS operTime, sol.cost_time AS costTime,sol.companyName AS companyName,sol.roleName
    AS roleName,sol.phoneNumber AS phoneNumber,
    sol.userId AS userId,sol.nickName AS nickName
    from sys_oper_log sol
    <where>
      <if test="query.companyName != null and query.companyName != ''">
        AND sol.companyName LIKE concat('%',#{query.companyName},'%')
      </if>
      <if test="query.roleName != null and query.roleName != ''">
        AND sol.roleName LIKE concat('%',#{query.roleName},'%')
      </if>
      <if test="query.nickName != null and query.nickName != ''">
        AND sol.nickName LIKE concat('%',#{query.nickName},'%')
      </if>
      <if
        test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
        AND DATE_FORMAT(sol.oper_time, '%Y-%m-%d %H:%i:%s') &gt;= #{query.startTime}
        AND DATE_FORMAT(sol.oper_time, '%Y-%m-%d %H:%i:%s') &lt;= #{query.endTime}
      </if>
    </where>
    ORDER BY sol.oper_time DESC
  </select>
 
  <update id="cleanOperLog">
    truncate table sys_oper_log
  </update>
 
</mapper>