SysLogMapper.xml 3.72 KB
<?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.apple.erp.mapper.SysLogMapper">

    <resultMap type="com.apple.erp.entity.SysLog" id="SysLogResult">
        <id property="logId" column="log_id"/>
        <result property="logType" column="log_type"/>
        <result property="userId" column="user_id"/>
        <result property="username" column="username"/>
        <result property="module" column="module"/>
        <result property="operation" column="operation"/>
        <result property="ip" column="ip"/>
        <result property="logTime" column="log_time"/>
        <result property="status" column="status"/>
        <result property="errorMsg" column="error_msg"/>
        <result property="requestParam" column="request_param"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
    </resultMap>

    <sql id="selectLogVo">
        select log_id, log_type, user_id, username, module, operation, ip, log_time, status, error_msg, request_param, create_by, create_time, update_by, update_time, del_flag
        from t_sys_log
    </sql>

    <select id="selectLogList" resultMap="SysLogResult">
        <include refid="selectLogVo"/>
        <where>
            del_flag = '0'
            <if test="logType != null and logType != ''">
                AND log_type = #{logType}
            </if>
            <if test="userId != null">
                AND user_id = #{userId}
            </if>
            <if test="username != null and username != ''">
                AND username like concat('%', #{username}, '%')
            </if>
            <if test="module != null and module != ''">
                AND module like concat('%', #{module}, '%')
            </if>
            <if test="operation != null and operation != ''">
                AND operation like concat('%', #{operation}, '%')
            </if>
            <if test="ip != null and ip != ''">
                AND ip like concat('%', #{ip}, '%')
            </if>
            <if test="status != null">
                AND status = #{status}
            </if>
            <if test="startTime != null">
                AND log_time >= #{startTime}
            </if>
            <if test="endTime != null">
                AND log_time &lt;= #{endTime}
            </if>
        </where>
        order by log_time desc
    </select>

    <select id="selectLoginLogsByUserId" resultMap="SysLogResult">
        <include refid="selectLogVo"/>
        <where>
            del_flag = '0'
            AND log_type = '2'
            AND user_id = #{userId}
            <if test="startTime != null">
                AND log_time >= #{startTime}
            </if>
            <if test="endTime != null">
                AND log_time &lt;= #{endTime}
            </if>
        </where>
        order by log_time desc
    </select>

    <select id="cleanExpiredLogs" resultType="int">
        UPDATE t_sys_log 
        SET del_flag = '2', update_time = NOW()
        WHERE del_flag = '0' 
        AND log_time &lt; #{expireTime}
    </select>

    <select id="countLogs" resultType="int">
        SELECT COUNT(1) 
        FROM t_sys_log 
        WHERE del_flag = '0'
        <if test="logType != null and logType != ''">
            AND log_type = #{logType}
        </if>
        <if test="startTime != null">
            AND log_time >= #{startTime}
        </if>
        <if test="endTime != null">
            AND log_time &lt;= #{endTime}
        </if>
    </select>

</mapper>