264 lines
11 KiB
XML
264 lines
11 KiB
XML
|
|
<?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.securityControl.system.mapper.SysLogsDao">
|
||
|
|
<!--日志数据记录插入-->
|
||
|
|
<insert id="saveLogs" parameterType="com.securityControl.system.api.domain.SysOperLog">
|
||
|
|
insert into sys_logs(user_name, model, details, method, requestMethod, uri, params, ip, create_time, grade,
|
||
|
|
businessType, role_name, log_time, dept_name, err_msg,
|
||
|
|
log_type, sys_name,
|
||
|
|
sys_version,sys_menu,status) value ( #{operName}, #{title}, #{detail}, #{method}, #{requestMethod}, #{operUrl}, #{operParam}, #{operIp}, #{times},#{grade},#{businessType},
|
||
|
|
#{roleName},#{logTime},#{deptName},#{errorMsg},#{logType},#{sysName},#{sysVersion},#{sysMenu},#{status}
|
||
|
|
)
|
||
|
|
|
||
|
|
</insert>
|
||
|
|
|
||
|
|
<!-- 分页查询 -->
|
||
|
|
<select id="queryByPage" resultType="com.securityControl.system.domain.vo.SysLogVo">
|
||
|
|
select user_name operName, model title, details detail, method, ip operIp, create_time operTime, grade,
|
||
|
|
businessType, role_name roleName, log_time logTime, dept_name deptName, err_msg errorMsg, log_type logType,
|
||
|
|
uri operUrl, status
|
||
|
|
from sys_logs
|
||
|
|
<where>
|
||
|
|
<if test="roleName != null and roleName != ''">
|
||
|
|
AND role_name like concat('%', #{roleName}, '%')
|
||
|
|
</if>
|
||
|
|
<if test="operIp != null and operIp != ''">
|
||
|
|
AND ip like concat('%', #{operIp}, '%')
|
||
|
|
</if>
|
||
|
|
<if test="startTime != null and startTime != ''">
|
||
|
|
AND create_time <![CDATA[>=]]> concat(#{startTime}, ' 00:00:00')
|
||
|
|
</if>
|
||
|
|
<if test="endTime != null and endTime != ''">
|
||
|
|
AND create_time <![CDATA[<=]]> concat(#{endTime}, ' 23:59:59')
|
||
|
|
</if>
|
||
|
|
<if test="title != null and title != ''">
|
||
|
|
AND model like concat('%', #{title}, '%')
|
||
|
|
</if>
|
||
|
|
<if test="logType != null and logType != ''">
|
||
|
|
AND log_type = #{logType}
|
||
|
|
</if>
|
||
|
|
<if test="detail != null and detail != ''">
|
||
|
|
AND details like concat('%', #{detail}, '%')
|
||
|
|
</if>
|
||
|
|
<if test="grade != null and grade != ''">
|
||
|
|
AND grade like concat('%', #{grade}, '%')
|
||
|
|
</if>
|
||
|
|
<if test="status != null">
|
||
|
|
AND status = #{status}
|
||
|
|
</if>
|
||
|
|
</where>
|
||
|
|
order by ${orderType} ${orderBy}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getRunningLog" resultType="com.securityControl.system.domain.vo.SysRunningLogVo">
|
||
|
|
SELECT log_type logType, status sysStatus, create_time sysStartTime,
|
||
|
|
sys_name sysName, sys_version sysVersion, details sysLogInfo
|
||
|
|
FROM sys_logs
|
||
|
|
<where>
|
||
|
|
<if test="startTime != null and startTime != ''">
|
||
|
|
AND create_time <![CDATA[>=]]> concat(#{startTime}, ' 00:00:00')
|
||
|
|
</if>
|
||
|
|
<if test="endTime != null and endTime != ''">
|
||
|
|
AND create_time <![CDATA[<=]]> concat(#{endTime}, ' 23:59:59')
|
||
|
|
</if>
|
||
|
|
<if test="logType != null and logType != ''">
|
||
|
|
AND log_type = #{logType}
|
||
|
|
</if>
|
||
|
|
<if test="sysName != null and sysName != ''">
|
||
|
|
AND sys_name like concat('%', #{sysName}, '%')
|
||
|
|
</if>
|
||
|
|
<if test="sysVersion != null and sysVersion != ''">
|
||
|
|
AND sys_version like concat('%', #{sysVersion}, '%')
|
||
|
|
</if>
|
||
|
|
</where>
|
||
|
|
order by ${orderType} ${orderBy}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<!-- 更新 -->
|
||
|
|
<update id="updateEndTime">
|
||
|
|
UPDATE sys_logs
|
||
|
|
SET end_time = NOW(),
|
||
|
|
status = 2,
|
||
|
|
details = replace(details, '部署并启动成功!','已停止运行!')
|
||
|
|
WHERE log_type = #{logType}
|
||
|
|
AND status = 0
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<select id="getTotalStatic" resultType="com.securityControl.system.domain.vo.SysLogStatisticVo">
|
||
|
|
SELECT COUNT(1) totalNum,
|
||
|
|
count(CASE status = 0 WHEN 1 THEN 0 END) totalSuccess,
|
||
|
|
count(CASE status = 1 WHEN 1 THEN 0 END) totalFail
|
||
|
|
FROM sys_logs
|
||
|
|
WHERE log_type != '运行日志'
|
||
|
|
<if test="startTime != null and startTime != ''">
|
||
|
|
AND create_time <![CDATA[>=]]> concat(#{startTime}, ' 00:00:00')
|
||
|
|
</if>
|
||
|
|
<if test="endTime != null and endTime != ''">
|
||
|
|
AND create_time <![CDATA[<=]]> concat(#{endTime}, ' 23:59:59')
|
||
|
|
</if>
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="statistics" resultType="java.util.Map">
|
||
|
|
SELECT any_value(grade) grade,
|
||
|
|
log_type logType,
|
||
|
|
COUNT(1) AS total,
|
||
|
|
count(CASE status = 0 WHEN 1 THEN 0 END) success,
|
||
|
|
count(CASE status = 1 WHEN 1 THEN 0 END) fail
|
||
|
|
FROM sys_logs
|
||
|
|
WHERE log_type != '运行日志'
|
||
|
|
<if test="startTime != null and startTime != ''">
|
||
|
|
AND create_time <![CDATA[>=]]> concat(#{startTime}, ' 00:00:00')
|
||
|
|
</if>
|
||
|
|
<if test="endTime != null and endTime != ''">
|
||
|
|
AND create_time <![CDATA[<=]]> concat(#{endTime}, ' 23:59:59')
|
||
|
|
</if>
|
||
|
|
<choose>
|
||
|
|
<when test="keyword != null and keyword == 'logType'">
|
||
|
|
GROUP BY log_type
|
||
|
|
</when>
|
||
|
|
<when test="keyword != null and keyword == 'model'">
|
||
|
|
GROUP BY grade
|
||
|
|
</when>
|
||
|
|
</choose>
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<update id="updateContent">
|
||
|
|
UPDATE sys_log_config
|
||
|
|
SET content_size = #{number}
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<select id="getMaxLogSize" resultType="java.util.Map">
|
||
|
|
SELECT content_size contentSize
|
||
|
|
FROM sys_log_config LIMIT 1
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
<select id="getUsedMaxSize" resultType="java.util.Map">
|
||
|
|
SELECT ROUND((SUM(A.DATA)) / 1024 / 1024, 4) AS logSize
|
||
|
|
FROM (SELECT DATA_LENGTH + INDEX_LENGTH AS DATA
|
||
|
|
FROM INFORMATION_SCHEMA.TABLES
|
||
|
|
WHERE TABLE_SCHEMA = 'gwjjspaq'
|
||
|
|
AND TABLE_NAME = 'sys_logs'
|
||
|
|
UNION
|
||
|
|
SELECT DATA_LENGTH + INDEX_LENGTH AS DATA
|
||
|
|
FROM INFORMATION_SCHEMA.TABLES
|
||
|
|
WHERE TABLE_SCHEMA = 'gwjjspaq'
|
||
|
|
AND TABLE_NAME = 'sys_log_config'
|
||
|
|
UNION
|
||
|
|
SELECT DATA_LENGTH + INDEX_LENGTH AS DATA
|
||
|
|
FROM INFORMATION_SCHEMA.TABLES
|
||
|
|
WHERE TABLE_SCHEMA = 'gwjjspaq'
|
||
|
|
AND TABLE_NAME = 'sys_warning_log') A
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
<insert id="insertWarningLog" keyProperty="id" useGeneratedKeys="true">
|
||
|
|
INSERT INTO sys_warning_log(operate_type, operation_ip, operate_title, operate_details, operate_jb, fast_time,
|
||
|
|
operation_name)
|
||
|
|
VALUES (#{operateType}, #{operationIp}, #{operateTitle}, #{operateDetails}#{operateJb}, #{fastTime},
|
||
|
|
#{operationName})
|
||
|
|
</insert>
|
||
|
|
|
||
|
|
<select id="getLogContent" resultType="java.util.Map">
|
||
|
|
SELECT content_size contentSize
|
||
|
|
FROM sys_log_config
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
<select id="getLastCopyLogSet" resultType="java.util.Map">
|
||
|
|
SELECT log_type logType, update_date updateDate
|
||
|
|
FROM sys_log_set
|
||
|
|
WHERE log_type = #{logType}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getCopyData" resultType="com.securityControl.system.api.domain.SysOperLog">
|
||
|
|
SELECT user_name operName,
|
||
|
|
model title,
|
||
|
|
details detail,
|
||
|
|
method,
|
||
|
|
requestMethod,
|
||
|
|
uri operUrl,
|
||
|
|
params operParam,
|
||
|
|
ip operIp,
|
||
|
|
create_time times,
|
||
|
|
grade,
|
||
|
|
businessType,
|
||
|
|
role_name roleName,
|
||
|
|
log_time logTime,
|
||
|
|
dept_name deptName,
|
||
|
|
err_msg errorMsg,
|
||
|
|
log_type logType,
|
||
|
|
sys_name sysName,
|
||
|
|
sys_version sysVersion,
|
||
|
|
end_time endTime
|
||
|
|
FROM sys_logs
|
||
|
|
WHERE log_type = #{logType}
|
||
|
|
AND create_time >= #{updateDate}
|
||
|
|
</select>
|
||
|
|
<select id="restoreLog" resultType="com.securityControl.system.api.domain.SysOperLog">
|
||
|
|
SELECT user_name operName,
|
||
|
|
model title,
|
||
|
|
details detail,
|
||
|
|
method,
|
||
|
|
requestMethod,
|
||
|
|
uri operUrl,
|
||
|
|
params operParam,
|
||
|
|
ip operIp,
|
||
|
|
create_time times,
|
||
|
|
grade,
|
||
|
|
businessType,
|
||
|
|
role_name roleName,
|
||
|
|
log_time logTime,
|
||
|
|
dept_name deptName,
|
||
|
|
err_msg errorMsg,
|
||
|
|
log_type logType,
|
||
|
|
sys_name sysName,
|
||
|
|
sys_version sysVersion,
|
||
|
|
end_time endTime
|
||
|
|
FROM sys_logs_copy
|
||
|
|
WHERE log_type = #{logType}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<update id="updateLastCopyTime">
|
||
|
|
UPDATE sys_log_set
|
||
|
|
SET update_date = #{time}
|
||
|
|
WHERE log_type = #{logType}
|
||
|
|
</update>
|
||
|
|
<update id="updateSql">
|
||
|
|
${sqlData}
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<insert id="saveCopyLogs" parameterType="com.securityControl.system.api.domain.SysOperLog">
|
||
|
|
insert into sys_logs_copy(user_name, model, details, method, requestMethod, uri, params, ip, create_time, grade,
|
||
|
|
businessType, role_name, log_time, dept_name, err_msg,
|
||
|
|
log_type, sys_name,
|
||
|
|
sys_version,
|
||
|
|
end_time) value ( #{operName}, #{title}, #{detail}, #{method}, #{requestMethod}, #{operUrl}, #{operParam}, #{operIp}, #{times},#{grade},#{businessType},
|
||
|
|
#{roleName},#{logTime},#{deptName},#{errorMsg},#{logType},#{sysName},#{sysVersion},#{endTime}
|
||
|
|
)
|
||
|
|
</insert>
|
||
|
|
<insert id="saveRestoreLog" parameterType="com.securityControl.system.api.domain.SysOperLog">
|
||
|
|
insert into sys_logs(user_name, model, details, method, requestMethod, uri, params, ip, create_time, grade,
|
||
|
|
businessType, role_name, log_time, dept_name, err_msg,
|
||
|
|
log_type, sys_name,
|
||
|
|
sys_version,
|
||
|
|
end_time) value ( #{operName}, #{title}, #{detail}, #{method}, #{requestMethod}, #{operUrl}, #{operParam}, #{operIp}, #{times},#{grade},#{businessType},
|
||
|
|
#{roleName},#{logTime},#{deptName},#{errorMsg},#{logType},#{sysName},#{sysVersion},#{endTime}
|
||
|
|
)
|
||
|
|
</insert>
|
||
|
|
|
||
|
|
<delete id="delRestoreLog">
|
||
|
|
delete from sys_logs where log_type = #{logType}
|
||
|
|
AND create_time < #{updateDate}
|
||
|
|
</delete>
|
||
|
|
|
||
|
|
<select id="getYueQuan" resultType="java.util.Map">
|
||
|
|
SELECT user_name as userName ,details,ip,DATE_FORMAT(create_time,'%Y-%m-%d %T') as createTime
|
||
|
|
FROM sys_logs
|
||
|
|
WHERE grade = '越权访问' and date(create_time) = current_date
|
||
|
|
order by id desc
|
||
|
|
limit 1
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
</mapper>
|