<?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.project.monitor.operlog.mapper.OperLogMapper">

	<resultMap type="OperLog" id="OperLogResult">
		<id     property="operId"         column="oper_id"       />
		<result property="title"          column="title"         />
		<result property="action"         column="action"        />
		<result property="method"         column="method"        />
		<result property="channel"        column="channel"       />
		<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="status"         column="status"        />
		<result property="errorMsg"       column="error_msg"     />
		<result property="operTime"       column="oper_time"     />
	</resultMap>

	<insert id="insertOperlog" parameterType="OperLog">
		insert into sys_oper_log(title, action, method, channel, oper_name, dept_name, oper_url, oper_ip, oper_location, oper_param, status, error_msg, oper_time)
        values (#{title}, #{action}, #{method}, #{channel}, #{operName}, #{deptName}, #{operUrl}, #{operIp}, #{operLocation}, #{operParam}, #{status}, #{errorMsg}, sysdate())
	</insert>
	
	<select id="selectOperLogList" parameterType="OperLog" resultMap="OperLogResult">
		select * from sys_oper_log
		<where>
			<if test="title != null and title != ''">
				AND title like concat('%', #{title}, '%')
			</if>
			<if test="action != null and action != ''">
				AND action = #{action}
			</if>
			<if test="operName != null and operName != ''">
				AND oper_name like concat('%', #{operName}, '%')
			</if>
			<if test="params != null and params.beginTime != ''"><!-- 开始时间检索 -->
				and date_format(oper_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
			</if>
			<if test="params != null and params.endTime != ''"><!-- 结束时间检索 -->
				and date_format(oper_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
			</if>
		</where>
	</select>
	
	<delete id="deleteOperLogByIds" parameterType="String">
 		delete from sys_oper_log where oper_id in
 		<foreach collection="array" item="operId" open="(" separator="," close=")">
 			#{operId}
        </foreach> 
 	</delete>
 	
 	<select id="selectOperLogById" parameterType="Long" resultMap="OperLogResult">
		select  *
		from sys_oper_log
		where oper_id = #{operId}
	</select>

</mapper> 