Initial commit
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
<?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.ClientAccountMapper">
|
||||
|
||||
<resultMap type="ClientAccount" id="ClientAccountResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="accountName" column="account_name" />
|
||||
<result property="username" column="username" />
|
||||
<result property="password" column="password" />
|
||||
<result property="status" column="status" />
|
||||
<result property="expireTime" column="expire_time" />
|
||||
<result property="allowedIpRange" column="allowed_ip_range" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="permissions" column="permissions" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectClientAccountVo">
|
||||
select id, account_name, username, password, status, expire_time,
|
||||
allowed_ip_range, remark, permissions, create_by, create_time, update_by, update_time
|
||||
from client_account
|
||||
</sql>
|
||||
|
||||
<select id="selectClientAccountList" parameterType="ClientAccount" resultMap="ClientAccountResult">
|
||||
<include refid="selectClientAccountVo"/>
|
||||
<where>
|
||||
<if test="accountName != null and accountName != ''"> and account_name like concat('%', #{accountName}, '%')</if>
|
||||
<if test="username != null and username != ''"> and username like concat('%', #{username}, '%')</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
</where>
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectClientAccountById" parameterType="Long" resultMap="ClientAccountResult">
|
||||
<include refid="selectClientAccountVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectClientAccountByUsername" parameterType="String" resultMap="ClientAccountResult">
|
||||
<include refid="selectClientAccountVo"/>
|
||||
where username = #{username}
|
||||
</select>
|
||||
|
||||
<insert id="insertClientAccount" parameterType="ClientAccount" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into client_account
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="accountName != null">account_name,</if>
|
||||
<if test="username != null">username,</if>
|
||||
<if test="password != null">password,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="expireTime != null">expire_time,</if>
|
||||
<if test="allowedIpRange != null">allowed_ip_range,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="permissions != null">permissions,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
create_time
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="accountName != null">#{accountName},</if>
|
||||
<if test="username != null">#{username},</if>
|
||||
<if test="password != null">#{password},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="expireTime != null">#{expireTime},</if>
|
||||
<if test="allowedIpRange != null">#{allowedIpRange},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="permissions != null">#{permissions},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
sysdate()
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateClientAccount" parameterType="ClientAccount">
|
||||
update client_account
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="accountName != null">account_name = #{accountName},</if>
|
||||
<if test="username != null">username = #{username},</if>
|
||||
<if test="password != null">password = #{password},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="expireTime != null">expire_time = #{expireTime},</if>
|
||||
<if test="allowedIpRange != null">allowed_ip_range = #{allowedIpRange},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="permissions != null">permissions = #{permissions},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
update_time = sysdate()
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteClientAccountById" parameterType="Long">
|
||||
delete from client_account where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteClientAccountByIds" parameterType="String">
|
||||
delete from client_account where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -0,0 +1,53 @@
|
||||
<?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.ClientDeviceMapper">
|
||||
<resultMap id="ClientDeviceMap" type="com.ruoyi.system.domain.ClientDevice">
|
||||
<id property="id" column="id"/>
|
||||
<result property="username" column="username"/>
|
||||
<result property="deviceId" column="device_id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="os" column="os"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="ip" column="ip"/>
|
||||
<result property="location" column="location"/>
|
||||
<result property="lastActiveAt" column="last_active_at"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectByDeviceId" resultMap="ClientDeviceMap">
|
||||
select * from client_device where device_id = #{deviceId}
|
||||
</select>
|
||||
|
||||
<select id="selectByUsername" resultMap="ClientDeviceMap">
|
||||
select * from client_device where username = #{username} order by update_time desc
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="com.ruoyi.system.domain.ClientDevice" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into client_device(username, device_id, name, os, status, ip, location, last_active_at, create_time, update_time)
|
||||
values(#{username}, #{deviceId}, #{name}, #{os}, #{status}, #{ip}, #{location}, #{lastActiveAt}, now(), now())
|
||||
</insert>
|
||||
|
||||
<update id="updateByDeviceId" parameterType="com.ruoyi.system.domain.ClientDevice">
|
||||
update client_device
|
||||
set username = #{username},
|
||||
name = #{name},
|
||||
os = #{os},
|
||||
status = #{status},
|
||||
ip = #{ip},
|
||||
location = #{location},
|
||||
last_active_at = #{lastActiveAt},
|
||||
update_time = now()
|
||||
where device_id = #{deviceId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteByDeviceId">
|
||||
delete from client_device where device_id = #{deviceId}
|
||||
</delete>
|
||||
|
||||
<select id="countByUsername" resultType="int">
|
||||
select count(1) from client_device where username = #{username}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
<?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.ClientEventLogMapper">
|
||||
|
||||
<resultMap type="ClientEventLog" id="ClientEventLogResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="eventType" column="event_type" />
|
||||
<result property="eventContent" column="event_content" />
|
||||
<result property="eventTime" column="event_time" />
|
||||
<result property="eventLevel" column="event_level" />
|
||||
<result property="status" column="status" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectClientEventLogVo">
|
||||
select id, client_id, event_type, event_content, event_time, event_level, status, create_time, update_time, remark
|
||||
from client_event_log
|
||||
</sql>
|
||||
|
||||
<select id="selectClientEventLogList" parameterType="ClientEventLog" resultMap="ClientEventLogResult">
|
||||
<include refid="selectClientEventLogVo"/>
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''"> and client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="eventType != null and eventType != ''"> and event_type = #{eventType}</if>
|
||||
<if test="eventLevel != null and eventLevel != ''"> and event_level = #{eventLevel}</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(event_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(event_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
|
||||
</if>
|
||||
</where>
|
||||
order by event_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectClientEventLogById" parameterType="Long" resultMap="ClientEventLogResult">
|
||||
<include refid="selectClientEventLogVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectClientEventLogByClientId" parameterType="String" resultMap="ClientEventLogResult">
|
||||
<include refid="selectClientEventLogVo"/>
|
||||
where client_id = #{clientId}
|
||||
order by event_time desc
|
||||
</select>
|
||||
|
||||
<insert id="insertClientEventLog" parameterType="ClientEventLog" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into client_event_log
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id,</if>
|
||||
<if test="eventType != null and eventType != ''">event_type,</if>
|
||||
<if test="eventContent != null and eventContent != ''">event_content,</if>
|
||||
<if test="eventTime != null">event_time,</if>
|
||||
<if test="eventLevel != null and eventLevel != ''">event_level,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">#{clientId},</if>
|
||||
<if test="eventType != null and eventType != ''">#{eventType},</if>
|
||||
<if test="eventContent != null and eventContent != ''">#{eventContent},</if>
|
||||
<if test="eventTime != null">#{eventTime},</if>
|
||||
<if test="eventLevel != null and eventLevel != ''">#{eventLevel},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateClientEventLog" parameterType="ClientEventLog">
|
||||
update client_event_log
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id = #{clientId},</if>
|
||||
<if test="eventType != null and eventType != ''">event_type = #{eventType},</if>
|
||||
<if test="eventContent != null and eventContent != ''">event_content = #{eventContent},</if>
|
||||
<if test="eventTime != null">event_time = #{eventTime},</if>
|
||||
<if test="eventLevel != null and eventLevel != ''">event_level = #{eventLevel},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteClientEventLogById" parameterType="Long">
|
||||
delete from client_event_log where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteClientEventLogByIds" parameterType="String">
|
||||
delete from client_event_log where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
172
ruoyi-system/target/classes/mapper/system/ClientInfoMapper.xml
Normal file
172
ruoyi-system/target/classes/mapper/system/ClientInfoMapper.xml
Normal file
@@ -0,0 +1,172 @@
|
||||
<?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.ClientInfoMapper">
|
||||
|
||||
<resultMap type="ClientInfo" id="ClientInfoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="username" column="username" />
|
||||
<result property="osName" column="os_name" />
|
||||
<result property="appVersion" column="app_version" />
|
||||
<result property="ipAddress" column="ip_address" />
|
||||
<result property="lastActiveTime" column="last_active_time" />
|
||||
<result property="online" column="online" />
|
||||
<result property="hostname" column="hostname" />
|
||||
<result property="osVersion" column="os_version" />
|
||||
<result property="javaVersion" column="java_version" />
|
||||
<result property="status" column="status" />
|
||||
<result property="authTime" column="auth_time" />
|
||||
<result property="accessToken" column="access_token" />
|
||||
<result property="cpuUsage" column="cpu_usage" />
|
||||
<result property="memoryUsage" column="memory_usage" />
|
||||
<result property="diskUsage" column="disk_usage" />
|
||||
<result property="networkStatus" column="network_status" />
|
||||
<result property="heartbeatTime" column="heartbeat_time" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectClientInfoVo">
|
||||
select id, client_id, username, os_name, app_version, ip_address, last_active_time, online,
|
||||
hostname, os_version, java_version, status, auth_time, access_token, cpu_usage,
|
||||
memory_usage, disk_usage, network_status, heartbeat_time, create_time, update_time, remark
|
||||
from client_info
|
||||
</sql>
|
||||
|
||||
<select id="selectClientInfoList" parameterType="ClientInfo" resultMap="ClientInfoResult">
|
||||
<include refid="selectClientInfoVo"/>
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''"> and client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="username != null and username != ''"> and username like concat('%', #{username}, '%')</if>
|
||||
<if test="osName != null and osName != ''"> and os_name like concat('%', #{osName}, '%')</if>
|
||||
<if test="appVersion != null and appVersion != ''"> and app_version = #{appVersion}</if>
|
||||
<if test="ipAddress != null and ipAddress != ''"> and ip_address = #{ipAddress}</if>
|
||||
<if test="online != null and online != ''"> and online = #{online}</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
</where>
|
||||
order by last_active_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectClientInfoById" parameterType="Long" resultMap="ClientInfoResult">
|
||||
<include refid="selectClientInfoVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectClientInfoByClientId" parameterType="String" resultMap="ClientInfoResult">
|
||||
<include refid="selectClientInfoVo"/>
|
||||
where client_id = #{clientId}
|
||||
</select>
|
||||
|
||||
<select id="selectOnlineClientCount" resultType="int">
|
||||
select count(*) from client_info where online = '1'
|
||||
</select>
|
||||
|
||||
<insert id="insertClientInfo" parameterType="ClientInfo" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into client_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id,</if>
|
||||
<if test="username != null and username != ''">username,</if>
|
||||
<if test="osName != null and osName != ''">os_name,</if>
|
||||
<if test="appVersion != null and appVersion != ''">app_version,</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">ip_address,</if>
|
||||
<if test="lastActiveTime != null">last_active_time,</if>
|
||||
<if test="online != null and online != ''">online,</if>
|
||||
<if test="hostname != null and hostname != ''">hostname,</if>
|
||||
<if test="osVersion != null and osVersion != ''">os_version,</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">java_version,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="authTime != null">auth_time,</if>
|
||||
<if test="accessToken != null and accessToken != ''">access_token,</if>
|
||||
<if test="cpuUsage != null">cpu_usage,</if>
|
||||
<if test="memoryUsage != null">memory_usage,</if>
|
||||
<if test="diskUsage != null">disk_usage,</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">network_status,</if>
|
||||
<if test="heartbeatTime != null">heartbeat_time,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">#{clientId},</if>
|
||||
<if test="username != null and username != ''">#{username},</if>
|
||||
<if test="osName != null and osName != ''">#{osName},</if>
|
||||
<if test="appVersion != null and appVersion != ''">#{appVersion},</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">#{ipAddress},</if>
|
||||
<if test="lastActiveTime != null">#{lastActiveTime},</if>
|
||||
<if test="online != null and online != ''">#{online},</if>
|
||||
<if test="hostname != null and hostname != ''">#{hostname},</if>
|
||||
<if test="osVersion != null and osVersion != ''">#{osVersion},</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">#{javaVersion},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="authTime != null">#{authTime},</if>
|
||||
<if test="accessToken != null and accessToken != ''">#{accessToken},</if>
|
||||
<if test="cpuUsage != null">#{cpuUsage},</if>
|
||||
<if test="memoryUsage != null">#{memoryUsage},</if>
|
||||
<if test="diskUsage != null">#{diskUsage},</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">#{networkStatus},</if>
|
||||
<if test="heartbeatTime != null">#{heartbeatTime},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateClientInfo" parameterType="ClientInfo">
|
||||
update client_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id = #{clientId},</if>
|
||||
<if test="username != null and username != ''">username = #{username},</if>
|
||||
<if test="osName != null and osName != ''">os_name = #{osName},</if>
|
||||
<if test="appVersion != null and appVersion != ''">app_version = #{appVersion},</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">ip_address = #{ipAddress},</if>
|
||||
<if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
|
||||
<if test="online != null and online != ''">online = #{online},</if>
|
||||
<if test="hostname != null and hostname != ''">hostname = #{hostname},</if>
|
||||
<if test="osVersion != null and osVersion != ''">os_version = #{osVersion},</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">java_version = #{javaVersion},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="authTime != null">auth_time = #{authTime},</if>
|
||||
<if test="accessToken != null and accessToken != ''">access_token = #{accessToken},</if>
|
||||
<if test="cpuUsage != null">cpu_usage = #{cpuUsage},</if>
|
||||
<if test="memoryUsage != null">memory_usage = #{memoryUsage},</if>
|
||||
<if test="diskUsage != null">disk_usage = #{diskUsage},</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">network_status = #{networkStatus},</if>
|
||||
<if test="heartbeatTime != null">heartbeat_time = #{heartbeatTime},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateClientOnlineStatus">
|
||||
update client_info set online = #{online}, last_active_time = now() where client_id = #{clientId}
|
||||
</update>
|
||||
|
||||
<update id="updateClientHeartbeat" parameterType="ClientInfo">
|
||||
update client_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
|
||||
<if test="online != null">online = #{online},</if>
|
||||
<if test="cpuUsage != null">cpu_usage = #{cpuUsage},</if>
|
||||
<if test="memoryUsage != null">memory_usage = #{memoryUsage},</if>
|
||||
<if test="diskUsage != null">disk_usage = #{diskUsage},</if>
|
||||
<if test="networkStatus != null">network_status = #{networkStatus},</if>
|
||||
<if test="heartbeatTime != null">heartbeat_time = #{heartbeatTime},</if>
|
||||
</trim>
|
||||
where client_id = #{clientId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteClientInfoById" parameterType="Long">
|
||||
delete from client_info where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteClientInfoByIds" parameterType="String">
|
||||
delete from client_info where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -0,0 +1,554 @@
|
||||
<?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.ClientMonitorMapper">
|
||||
|
||||
<resultMap type="ClientInfo" id="ClientInfoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="username" column="username" />
|
||||
<result property="accessToken" column="access_token" />
|
||||
<result property="osName" column="os_name" />
|
||||
<result property="osVersion" column="os_version" />
|
||||
<result property="javaVersion" column="java_version" />
|
||||
<result property="appVersion" column="app_version" />
|
||||
<result property="hostname" column="hostname" />
|
||||
<result property="ipAddress" column="ip_address" />
|
||||
<result property="status" column="status" />
|
||||
<result property="authTime" column="auth_time" />
|
||||
<result property="lastActiveTime" column="last_active_time" />
|
||||
<result property="online" column="online" />
|
||||
<result property="cpuUsage" column="cpu_usage" />
|
||||
<result property="memoryUsage" column="memory_usage" />
|
||||
<result property="diskUsage" column="disk_usage" />
|
||||
<result property="networkStatus" column="network_status" />
|
||||
<result property="heartbeatTime" column="heartbeat_time" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="ClientErrorReport" id="ClientErrorReportResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="errorType" column="error_type" />
|
||||
<result property="errorMessage" column="error_message" />
|
||||
<result property="errorTime" column="error_time" />
|
||||
<result property="stackTrace" column="stack_trace" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap type="ClientDataReport" id="ClientDataReportResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="dataType" column="data_type" />
|
||||
<result property="dataCount" column="data_count" />
|
||||
<result property="collectTime" column="collect_time" />
|
||||
<result property="status" column="status" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="ClientEventLog" id="ClientEventLogResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="eventType" column="event_type" />
|
||||
<result property="eventContent" column="event_content" />
|
||||
<result property="eventTime" column="event_time" />
|
||||
<result property="eventLevel" column="event_level" />
|
||||
<result property="status" column="status" />
|
||||
</resultMap>
|
||||
|
||||
<!-- 插入客户端信息 -->
|
||||
<insert id="insertClientInfo" parameterType="ClientInfo">
|
||||
insert into client_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id,</if>
|
||||
<if test="username != null and username != ''">username,</if>
|
||||
<if test="accessToken != null and accessToken != ''">access_token,</if>
|
||||
<if test="osName != null and osName != ''">os_name,</if>
|
||||
<if test="osVersion != null and osVersion != ''">os_version,</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">java_version,</if>
|
||||
<if test="appVersion != null and appVersion != ''">app_version,</if>
|
||||
<if test="hostname != null and hostname != ''">hostname,</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">ip_address,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="authTime != null">auth_time,</if>
|
||||
<if test="lastActiveTime != null">last_active_time,</if>
|
||||
<if test="online != null and online != ''">online,</if>
|
||||
<if test="cpuUsage != null">cpu_usage,</if>
|
||||
<if test="memoryUsage != null">memory_usage,</if>
|
||||
<if test="diskUsage != null">disk_usage,</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">network_status,</if>
|
||||
<if test="heartbeatTime != null">heartbeat_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">#{clientId},</if>
|
||||
<if test="username != null and username != ''">#{username},</if>
|
||||
<if test="accessToken != null and accessToken != ''">#{accessToken},</if>
|
||||
<if test="osName != null and osName != ''">#{osName},</if>
|
||||
<if test="osVersion != null and osVersion != ''">#{osVersion},</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">#{javaVersion},</if>
|
||||
<if test="appVersion != null and appVersion != ''">#{appVersion},</if>
|
||||
<if test="hostname != null and hostname != ''">#{hostname},</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">#{ipAddress},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="authTime != null">#{authTime},</if>
|
||||
<if test="lastActiveTime != null">#{lastActiveTime},</if>
|
||||
<if test="online != null and online != ''">#{online},</if>
|
||||
<if test="cpuUsage != null">#{cpuUsage},</if>
|
||||
<if test="memoryUsage != null">#{memoryUsage},</if>
|
||||
<if test="diskUsage != null">#{diskUsage},</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">#{networkStatus},</if>
|
||||
<if test="heartbeatTime != null">#{heartbeatTime},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<!-- 更新客户端信息 -->
|
||||
<update id="updateClientInfo" parameterType="ClientInfo">
|
||||
update client_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="username != null and username != ''">username = #{username},</if>
|
||||
<if test="accessToken != null and accessToken != ''">access_token = #{accessToken},</if>
|
||||
<if test="osName != null and osName != ''">os_name = #{osName},</if>
|
||||
<if test="osVersion != null and osVersion != ''">os_version = #{osVersion},</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">java_version = #{javaVersion},</if>
|
||||
<if test="appVersion != null and appVersion != ''">app_version = #{appVersion},</if>
|
||||
<if test="hostname != null and hostname != ''">hostname = #{hostname},</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">ip_address = #{ipAddress},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
|
||||
<if test="online != null and online != ''">online = #{online},</if>
|
||||
<if test="cpuUsage != null">cpu_usage = #{cpuUsage},</if>
|
||||
<if test="memoryUsage != null">memory_usage = #{memoryUsage},</if>
|
||||
<if test="diskUsage != null">disk_usage = #{diskUsage},</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">network_status = #{networkStatus},</if>
|
||||
<if test="heartbeatTime != null">heartbeat_time = #{heartbeatTime},</if>
|
||||
update_time = NOW()
|
||||
</trim>
|
||||
where client_id = #{clientId}
|
||||
</update>
|
||||
|
||||
<!-- 插入客户端事件日志 -->
|
||||
<insert id="insertClientEventLog" parameterType="ClientEventLog">
|
||||
insert into client_event_log(
|
||||
client_id,
|
||||
event_type,
|
||||
event_content,
|
||||
event_time,
|
||||
event_level,
|
||||
status
|
||||
)values(
|
||||
#{clientId},
|
||||
#{eventType},
|
||||
#{eventContent},
|
||||
#{eventTime},
|
||||
#{eventLevel},
|
||||
#{status}
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
|
||||
<!-- 插入数据采集报告 -->
|
||||
<insert id="insertDataReport" parameterType="ClientDataReport">
|
||||
insert into client_data_report
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id,</if>
|
||||
<if test="dataType != null and dataType != ''">data_type,</if>
|
||||
<if test="dataCount != null">data_count,</if>
|
||||
<if test="collectTime != null">collect_time,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">#{clientId},</if>
|
||||
<if test="dataType != null and dataType != ''">#{dataType},</if>
|
||||
<if test="dataCount != null">#{dataCount},</if>
|
||||
<if test="collectTime != null">#{collectTime},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<!-- 根据客户端ID查询客户端信息 -->
|
||||
<select id="selectClientInfoByClientId" parameterType="String" resultMap="ClientInfoResult">
|
||||
select * from client_info where client_id = #{clientId}
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端信息列表 -->
|
||||
<select id="selectClientInfoList" parameterType="ClientInfo" resultMap="ClientInfoResult">
|
||||
select * from client_info
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''">AND client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="username != null and username != ''">AND username like concat('%', #{username}, '%')</if>
|
||||
<if test="osName != null and osName != ''">AND os_name like concat('%', #{osName}, '%')</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
<if test="online != null and online != ''">AND online = #{online}</if>
|
||||
</where>
|
||||
order by last_active_time desc
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端错误报告列表 -->
|
||||
<select id="selectClientErrorList" parameterType="ClientErrorReport" resultType="map">
|
||||
select
|
||||
id,
|
||||
client_id,
|
||||
username,
|
||||
error_type,
|
||||
error_message,
|
||||
error_time,
|
||||
stack_trace,
|
||||
os_name,
|
||||
os_version,
|
||||
app_version
|
||||
from client_error_report
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''">AND client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="errorType != null and errorType != ''">AND error_type = #{errorType}</if>
|
||||
</where>
|
||||
order by error_time desc
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端事件日志列表 -->
|
||||
<select id="selectClientEventLogList" parameterType="ClientEventLog" resultMap="ClientEventLogResult">
|
||||
select * from client_event_log
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''">AND client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="eventType != null and eventType != ''">AND event_type = #{eventType}</if>
|
||||
<if test="eventLevel != null and eventLevel != ''">AND event_level = #{eventLevel}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
order by event_time desc
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端数据采集报告列表 -->
|
||||
<select id="selectClientDataReportList" parameterType="ClientDataReport" resultMap="ClientDataReportResult">
|
||||
select * from client_data_report
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''">AND client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="dataType != null and dataType != ''">AND data_type = #{dataType}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
order by collect_time desc
|
||||
</select>
|
||||
|
||||
<!-- 查询在线客户端数量 -->
|
||||
<select id="selectOnlineClientCount" resultType="int">
|
||||
select count(*) from client_info where online = '1'
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端总数 -->
|
||||
<select id="selectTotalClientCount" resultType="int">
|
||||
SELECT COUNT(*) FROM client_info
|
||||
</select>
|
||||
|
||||
<!-- 查询今日错误数量 -->
|
||||
<select id="selectTodayErrorCount" resultType="int">
|
||||
SELECT COUNT(*) FROM client_error_report
|
||||
WHERE DATE(error_time) = CURDATE()
|
||||
</select>
|
||||
|
||||
<!-- 查询今日数据采集数量 -->
|
||||
<select id="selectTodayDataCount" resultType="int">
|
||||
SELECT COALESCE(SUM(data_count), 0) FROM client_data_report
|
||||
WHERE DATE(collect_time) = CURDATE()
|
||||
AND data_type IN ('BANMA', 'RAKUTEN', 'AMAZON', 'ORDER', 'AMAZON_BATCH', 'RAKUTEN_BATCH')
|
||||
</select>
|
||||
|
||||
<!-- 查询数据采集类型分布统计 -->
|
||||
<select id="selectDataTypeDistribution" resultType="map">
|
||||
SELECT
|
||||
CASE
|
||||
WHEN data_type IN ('ORDER', 'BANMA') THEN 'BANMA'
|
||||
WHEN data_type LIKE 'AMAZON%' THEN 'AMAZON'
|
||||
WHEN data_type LIKE 'RAKUTEN%' THEN 'RAKUTEN'
|
||||
ELSE data_type
|
||||
END as dataType,
|
||||
COALESCE(SUM(data_count), 0) as count
|
||||
FROM client_data_report
|
||||
WHERE data_type IN ('ORDER', 'BANMA', 'RAKUTEN', 'AMAZON', 'AMAZON_BATCH', 'RAKUTEN_BATCH')
|
||||
AND DATE(collect_time) >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
|
||||
GROUP BY
|
||||
CASE
|
||||
WHEN data_type IN ('ORDER', 'BANMA') THEN 'BANMA'
|
||||
WHEN data_type LIKE 'AMAZON%' THEN 'AMAZON'
|
||||
WHEN data_type LIKE 'RAKUTEN%' THEN 'RAKUTEN'
|
||||
ELSE data_type
|
||||
END
|
||||
ORDER BY count DESC
|
||||
</select>
|
||||
|
||||
<!-- 插入客户端错误报告 -->
|
||||
<insert id="insertClientError" parameterType="ClientErrorReport">
|
||||
INSERT INTO client_error_report
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id,</if>
|
||||
<if test="username != null">username,</if>
|
||||
<if test="errorType != null and errorType != ''">error_type,</if>
|
||||
<if test="errorMessage != null and errorMessage != ''">error_message,</if>
|
||||
<if test="stackTrace != null and stackTrace != ''">stack_trace,</if>
|
||||
<if test="errorTime != null">error_time,</if>
|
||||
<if test="osName != null">os_name,</if>
|
||||
<if test="osVersion != null">os_version,</if>
|
||||
<if test="appVersion != null">app_version,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">#{clientId},</if>
|
||||
<if test="username != null">#{username},</if>
|
||||
<if test="errorType != null and errorType != ''">#{errorType},</if>
|
||||
<if test="errorMessage != null and errorMessage != ''">#{errorMessage},</if>
|
||||
<if test="stackTrace != null and stackTrace != ''">#{stackTrace},</if>
|
||||
<if test="errorTime != null">#{errorTime},</if>
|
||||
<if test="osName != null">#{osName},</if>
|
||||
<if test="osVersion != null">#{osVersion},</if>
|
||||
<if test="appVersion != null">#{appVersion},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<!-- 更新客户端在线状态 -->
|
||||
<update id="updateClientOnlineStatus">
|
||||
update client_info set online = #{param2} where client_id = #{param1}
|
||||
</update>
|
||||
|
||||
<!-- 更新客户端心跳信息 -->
|
||||
<update id="updateClientHeartbeat" parameterType="ClientInfo">
|
||||
update client_info
|
||||
<set>
|
||||
<if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
|
||||
<if test="heartbeatTime != null">heartbeat_time = #{heartbeatTime},</if>
|
||||
<if test="online != null and online != ''">online = #{online},</if>
|
||||
<if test="cpuUsage != null">cpu_usage = #{cpuUsage},</if>
|
||||
<if test="memoryUsage != null">memory_usage = #{memoryUsage},</if>
|
||||
<if test="diskUsage != null">disk_usage = #{diskUsage},</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">network_status = #{networkStatus}</if>
|
||||
</set>
|
||||
where client_id = #{clientId}
|
||||
</update>
|
||||
|
||||
<!-- 更新客户端认证信息 -->
|
||||
<update id="updateClientAuth" parameterType="ClientAuthInfo">
|
||||
update client_auth_info
|
||||
<set>
|
||||
<if test="username != null and username != ''">username = #{username},</if>
|
||||
<if test="accessToken != null and accessToken != ''">access_token = #{accessToken},</if>
|
||||
<if test="osName != null and osName != ''">os_name = #{osName},</if>
|
||||
<if test="osVersion != null and osVersion != ''">os_version = #{osVersion},</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">java_version = #{javaVersion},</if>
|
||||
<if test="appVersion != null and appVersion != ''">app_version = #{appVersion},</if>
|
||||
<if test="hostname != null and hostname != ''">hostname = #{hostname},</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">ip_address = #{ipAddress},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
|
||||
<if test="online != null and online != ''">online = #{online}</if>
|
||||
</set>
|
||||
where client_id = #{clientId}
|
||||
</update>
|
||||
|
||||
<!-- 查询客户端认证信息通用SQL -->
|
||||
<sql id="selectClientAuthVo">
|
||||
select id, client_id, username, access_token, os_name, os_version, java_version,
|
||||
app_version, hostname, ip_address, status, auth_time, last_active_time, online
|
||||
from client_auth_info
|
||||
</sql>
|
||||
|
||||
<!-- 查询客户端错误报告通用SQL -->
|
||||
<sql id="selectClientErrorVo">
|
||||
select id, client_id, username, error_type, error_message, stack_trace,
|
||||
error_time, os_name, os_version, app_version
|
||||
from client_error_report
|
||||
</sql>
|
||||
|
||||
<!-- 查询客户端心跳记录通用SQL -->
|
||||
<sql id="selectClientHeartbeatVo">
|
||||
select id, client_id, username, heartbeat_time, cpu_usage, memory_usage,
|
||||
disk_usage, network_status
|
||||
from client_heartbeat
|
||||
</sql>
|
||||
|
||||
<!-- 查询客户端数据采集报告通用SQL -->
|
||||
<sql id="selectClientDataReportVo">
|
||||
select id, client_id, username, data_type, data_count, collect_time, status
|
||||
from client_data_report
|
||||
</sql>
|
||||
|
||||
<!-- 查询最近7天的客户端活跃趋势 -->
|
||||
<select id="selectClientActiveTrend" resultType="map">
|
||||
SELECT
|
||||
days.date_str as date,
|
||||
IFNULL(counts.client_count, 0) as count
|
||||
FROM
|
||||
(
|
||||
SELECT DATE_FORMAT(CURDATE() - INTERVAL 6 DAY, '%Y-%m-%d') as date_str
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 5 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 4 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 3 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 2 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 1 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE(), '%Y-%m-%d')
|
||||
) days
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
DATE_FORMAT(auth_time, '%Y-%m-%d') as heartbeat_date,
|
||||
COUNT(DISTINCT client_id) as client_count
|
||||
FROM
|
||||
client_info
|
||||
WHERE
|
||||
auth_time >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
|
||||
GROUP BY
|
||||
DATE_FORMAT(auth_time, '%Y-%m-%d')
|
||||
) counts ON days.date_str = counts.heartbeat_date
|
||||
ORDER BY
|
||||
days.date_str ASC
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端详细信息 -->
|
||||
<select id="selectClientDetail" parameterType="String" resultType="map">
|
||||
SELECT
|
||||
a.client_id as clientId,
|
||||
a.username,
|
||||
a.os_name as osName,
|
||||
a.os_version as osVersion,
|
||||
a.java_version as javaVersion,
|
||||
a.app_version as appVersion,
|
||||
a.hostname,
|
||||
a.ip_address as ipAddress,
|
||||
CASE a.status WHEN '0' THEN '正常' ELSE '异常' END as status,
|
||||
DATE_FORMAT(a.auth_time, '%Y-%m-%d %H:%i:%s') as authTime,
|
||||
DATE_FORMAT(a.last_active_time, '%Y-%m-%d %H:%i:%s') as lastActiveTime,
|
||||
a.online
|
||||
FROM client_info a
|
||||
WHERE a.client_id = #{clientId}
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端版本分布 -->
|
||||
<select id="selectVersionDistribution" resultType="map">
|
||||
SELECT
|
||||
app_version as version,
|
||||
COUNT(*) as count
|
||||
FROM client_info
|
||||
GROUP BY app_version
|
||||
ORDER BY count DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询API请求统计信息 -->
|
||||
<select id="selectApiRequestStats" resultType="java.util.Map">
|
||||
SELECT
|
||||
COUNT(*) as requestCount,
|
||||
0 as avgResponseTime
|
||||
FROM client_data_report
|
||||
WHERE data_type = 'API_CALL'
|
||||
AND collect_time >= DATE_SUB(NOW(), INTERVAL 24 HOUR)
|
||||
</select>
|
||||
|
||||
<!-- 插入1688爬取风控监控数据 -->
|
||||
<insert id="insertAlibaba1688MonitorData" parameterType="java.util.Map">
|
||||
INSERT INTO client_alibaba1688_monitor
|
||||
(
|
||||
client_id,
|
||||
ip_address,
|
||||
event_type,
|
||||
event_time,
|
||||
duration,
|
||||
create_time
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{clientId},
|
||||
#{ipAddress},
|
||||
#{eventType},
|
||||
#{eventTime},
|
||||
#{duration},
|
||||
#{createTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 查询1688爬取风控监控数据列表 -->
|
||||
<select id="selectAlibaba1688MonitorList" parameterType="java.util.Map" resultType="java.util.Map">
|
||||
SELECT
|
||||
m.id,
|
||||
m.client_id,
|
||||
m.ip_address,
|
||||
m.event_type,
|
||||
m.event_time,
|
||||
m.duration,
|
||||
m.create_time,
|
||||
a.username,
|
||||
a.hostname
|
||||
FROM
|
||||
client_alibaba1688_monitor m
|
||||
LEFT JOIN
|
||||
client_info a ON m.client_id = a.client_id
|
||||
<where>
|
||||
AND m.event_type != 'MOBILE_FIRST_ACCESS'
|
||||
<if test="clientId != null and clientId != ''">
|
||||
AND m.client_id = #{clientId}
|
||||
</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">
|
||||
AND m.ip_address LIKE concat('%', #{ipAddress}, '%')
|
||||
</if>
|
||||
<if test="eventType != null and eventType != ''">
|
||||
AND m.event_type = #{eventType}
|
||||
</if>
|
||||
<if test="beginTime != null and beginTime != ''">
|
||||
AND DATE_FORMAT(m.create_time, '%Y-%m-%d') >= #{beginTime}
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
AND DATE_FORMAT(m.create_time, '%Y-%m-%d') <= #{endTime}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY m.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询1688爬取风控监控统计信息 -->
|
||||
<select id="selectAlibaba1688Statistics" resultType="java.util.Map">
|
||||
SELECT
|
||||
COUNT(*) AS totalEvents,
|
||||
SUM(CASE WHEN event_type = 'MOBILE_BLOCKED' THEN 1 ELSE 0 END) AS mobileBlockedCount,
|
||||
SUM(CASE WHEN event_type = 'DESKTOP_BLOCKED' THEN 1 ELSE 0 END) AS desktopBlockedCount,
|
||||
COUNT(DISTINCT ip_address) AS uniqueIpCount,
|
||||
AVG(CASE WHEN event_type = 'MOBILE_BLOCKED' AND duration > 0 THEN duration ELSE NULL END) / 1000 AS avgMobileDuration,
|
||||
AVG(CASE WHEN event_type = 'DESKTOP_BLOCKED' AND duration > 0 THEN duration ELSE NULL END) / 1000 AS avgDesktopDuration
|
||||
FROM
|
||||
client_alibaba1688_monitor
|
||||
WHERE
|
||||
create_time >= DATE_SUB(NOW(), INTERVAL 30 DAY)
|
||||
AND event_type != 'MOBILE_FIRST_ACCESS'
|
||||
</select>
|
||||
|
||||
<!-- 将过期客户端设置为离线状态(7天未心跳) -->
|
||||
<update id="updateExpiredClientsOffline">
|
||||
UPDATE client_info
|
||||
SET online = '0'
|
||||
WHERE online = '1'
|
||||
AND (heartbeat_time IS NULL OR heartbeat_time < DATE_SUB(NOW(), INTERVAL 7 DAY))
|
||||
</update>
|
||||
|
||||
<!-- 删除30天前的错误报告 -->
|
||||
<delete id="deleteExpiredErrorReports">
|
||||
DELETE FROM client_error_report
|
||||
WHERE error_time < DATE_SUB(NOW(), INTERVAL 30 DAY)
|
||||
</delete>
|
||||
|
||||
|
||||
<!-- 删除7天前的事件日志 -->
|
||||
<delete id="deleteExpiredEventLogs">
|
||||
DELETE FROM client_event_log
|
||||
WHERE event_time < DATE_SUB(NOW(), INTERVAL 7 DAY)
|
||||
</delete>
|
||||
|
||||
<!-- 查找最近1天内相同条件的数据报告 -->
|
||||
<select id="findRecentDataReport" parameterType="map" resultMap="ClientDataReportResult">
|
||||
SELECT * FROM client_data_report
|
||||
WHERE client_id = #{clientId}
|
||||
AND data_type = #{dataType}
|
||||
AND status = #{status}
|
||||
AND DATE(collect_time) = DATE(NOW())
|
||||
ORDER BY collect_time DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 更新数据报告的数量 -->
|
||||
<update id="updateDataReportCount">
|
||||
UPDATE client_data_report
|
||||
SET data_count = #{newCount},
|
||||
collect_time = NOW()
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,538 @@
|
||||
<?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.ClientMonitorMapper">
|
||||
|
||||
<resultMap type="ClientInfo" id="ClientInfoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="username" column="username" />
|
||||
<result property="accessToken" column="access_token" />
|
||||
<result property="osName" column="os_name" />
|
||||
<result property="osVersion" column="os_version" />
|
||||
<result property="javaVersion" column="java_version" />
|
||||
<result property="appVersion" column="app_version" />
|
||||
<result property="hostname" column="hostname" />
|
||||
<result property="ipAddress" column="ip_address" />
|
||||
<result property="status" column="status" />
|
||||
<result property="authTime" column="auth_time" />
|
||||
<result property="lastActiveTime" column="last_active_time" />
|
||||
<result property="online" column="online" />
|
||||
<result property="cpuUsage" column="cpu_usage" />
|
||||
<result property="memoryUsage" column="memory_usage" />
|
||||
<result property="diskUsage" column="disk_usage" />
|
||||
<result property="networkStatus" column="network_status" />
|
||||
<result property="heartbeatTime" column="heartbeat_time" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="ClientErrorReport" id="ClientErrorReportResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="errorType" column="error_type" />
|
||||
<result property="errorMessage" column="error_message" />
|
||||
<result property="errorTime" column="error_time" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap type="ClientDataReport" id="ClientDataReportResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="dataType" column="data_type" />
|
||||
<result property="dataCount" column="data_count" />
|
||||
<result property="collectTime" column="collect_time" />
|
||||
<result property="status" column="status" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="ClientEventLog" id="ClientEventLogResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="eventType" column="event_type" />
|
||||
<result property="eventContent" column="event_content" />
|
||||
<result property="eventTime" column="event_time" />
|
||||
<result property="eventLevel" column="event_level" />
|
||||
<result property="status" column="status" />
|
||||
</resultMap>
|
||||
|
||||
<!-- 插入客户端信息 -->
|
||||
<insert id="insertClientInfo" parameterType="ClientInfo">
|
||||
insert into client_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id,</if>
|
||||
<if test="username != null and username != ''">username,</if>
|
||||
<if test="accessToken != null and accessToken != ''">access_token,</if>
|
||||
<if test="osName != null and osName != ''">os_name,</if>
|
||||
<if test="osVersion != null and osVersion != ''">os_version,</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">java_version,</if>
|
||||
<if test="appVersion != null and appVersion != ''">app_version,</if>
|
||||
<if test="hostname != null and hostname != ''">hostname,</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">ip_address,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="authTime != null">auth_time,</if>
|
||||
<if test="lastActiveTime != null">last_active_time,</if>
|
||||
<if test="online != null and online != ''">online,</if>
|
||||
<if test="cpuUsage != null">cpu_usage,</if>
|
||||
<if test="memoryUsage != null">memory_usage,</if>
|
||||
<if test="diskUsage != null">disk_usage,</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">network_status,</if>
|
||||
<if test="heartbeatTime != null">heartbeat_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">#{clientId},</if>
|
||||
<if test="username != null and username != ''">#{username},</if>
|
||||
<if test="accessToken != null and accessToken != ''">#{accessToken},</if>
|
||||
<if test="osName != null and osName != ''">#{osName},</if>
|
||||
<if test="osVersion != null and osVersion != ''">#{osVersion},</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">#{javaVersion},</if>
|
||||
<if test="appVersion != null and appVersion != ''">#{appVersion},</if>
|
||||
<if test="hostname != null and hostname != ''">#{hostname},</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">#{ipAddress},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="authTime != null">#{authTime},</if>
|
||||
<if test="lastActiveTime != null">#{lastActiveTime},</if>
|
||||
<if test="online != null and online != ''">#{online},</if>
|
||||
<if test="cpuUsage != null">#{cpuUsage},</if>
|
||||
<if test="memoryUsage != null">#{memoryUsage},</if>
|
||||
<if test="diskUsage != null">#{diskUsage},</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">#{networkStatus},</if>
|
||||
<if test="heartbeatTime != null">#{heartbeatTime},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<!-- 更新客户端信息 -->
|
||||
<update id="updateClientInfo" parameterType="ClientInfo">
|
||||
update client_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="username != null and username != ''">username = #{username},</if>
|
||||
<if test="accessToken != null and accessToken != ''">access_token = #{accessToken},</if>
|
||||
<if test="osName != null and osName != ''">os_name = #{osName},</if>
|
||||
<if test="osVersion != null and osVersion != ''">os_version = #{osVersion},</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">java_version = #{javaVersion},</if>
|
||||
<if test="appVersion != null and appVersion != ''">app_version = #{appVersion},</if>
|
||||
<if test="hostname != null and hostname != ''">hostname = #{hostname},</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">ip_address = #{ipAddress},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
|
||||
<if test="online != null and online != ''">online = #{online},</if>
|
||||
<if test="cpuUsage != null">cpu_usage = #{cpuUsage},</if>
|
||||
<if test="memoryUsage != null">memory_usage = #{memoryUsage},</if>
|
||||
<if test="diskUsage != null">disk_usage = #{diskUsage},</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">network_status = #{networkStatus},</if>
|
||||
<if test="heartbeatTime != null">heartbeat_time = #{heartbeatTime},</if>
|
||||
update_time = NOW()
|
||||
</trim>
|
||||
where client_id = #{clientId}
|
||||
</update>
|
||||
|
||||
<!-- 插入客户端事件日志 -->
|
||||
<insert id="insertClientEventLog" parameterType="ClientEventLog">
|
||||
insert into client_event_log(
|
||||
client_id,
|
||||
event_type,
|
||||
event_content,
|
||||
event_time,
|
||||
event_level,
|
||||
status
|
||||
)values(
|
||||
#{clientId},
|
||||
#{eventType},
|
||||
#{eventContent},
|
||||
#{eventTime},
|
||||
#{eventLevel},
|
||||
#{status}
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
|
||||
<!-- 插入数据采集报告 -->
|
||||
<insert id="insertDataReport" parameterType="ClientDataReport">
|
||||
insert into client_data_report
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id,</if>
|
||||
<if test="dataType != null and dataType != ''">data_type,</if>
|
||||
<if test="dataCount != null">data_count,</if>
|
||||
<if test="collectTime != null">collect_time,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">#{clientId},</if>
|
||||
<if test="dataType != null and dataType != ''">#{dataType},</if>
|
||||
<if test="dataCount != null">#{dataCount},</if>
|
||||
<if test="collectTime != null">#{collectTime},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<!-- 根据客户端ID查询客户端信息 -->
|
||||
<select id="selectClientInfoByClientId" parameterType="String" resultMap="ClientInfoResult">
|
||||
select * from client_info where client_id = #{clientId}
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端信息列表 -->
|
||||
<select id="selectClientInfoList" parameterType="ClientInfo" resultMap="ClientInfoResult">
|
||||
select * from client_info
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''">AND client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="username != null and username != ''">AND username like concat('%', #{username}, '%')</if>
|
||||
<if test="osName != null and osName != ''">AND os_name like concat('%', #{osName}, '%')</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
<if test="online != null and online != ''">AND online = #{online}</if>
|
||||
</where>
|
||||
order by last_active_time desc
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端错误报告列表 -->
|
||||
<select id="selectClientErrorList" parameterType="ClientErrorReport" resultMap="ClientErrorReportResult">
|
||||
select * from client_error_report
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''">AND client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="errorType != null and errorType != ''">AND error_type = #{errorType}</if>
|
||||
</where>
|
||||
order by error_time desc
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端事件日志列表 -->
|
||||
<select id="selectClientEventLogList" parameterType="ClientEventLog" resultMap="ClientEventLogResult">
|
||||
select * from client_event_log
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''">AND client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="eventType != null and eventType != ''">AND event_type = #{eventType}</if>
|
||||
<if test="eventLevel != null and eventLevel != ''">AND event_level = #{eventLevel}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
order by event_time desc
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端数据采集报告列表 -->
|
||||
<select id="selectClientDataReportList" parameterType="ClientDataReport" resultMap="ClientDataReportResult">
|
||||
select * from client_data_report
|
||||
<where>
|
||||
<if test="clientId != null and clientId != ''">AND client_id like concat('%', #{clientId}, '%')</if>
|
||||
<if test="dataType != null and dataType != ''">AND data_type = #{dataType}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
order by collect_time desc
|
||||
</select>
|
||||
|
||||
<!-- 查询在线客户端数量 -->
|
||||
<select id="selectOnlineClientCount" resultType="int">
|
||||
select count(*) from client_info where online = '1'
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端总数 -->
|
||||
<select id="selectTotalClientCount" resultType="int">
|
||||
SELECT COUNT(*) FROM client_info
|
||||
</select>
|
||||
|
||||
<!-- 查询今日错误数量 -->
|
||||
<select id="selectTodayErrorCount" resultType="int">
|
||||
SELECT COUNT(*) FROM client_error_report
|
||||
WHERE DATE(error_time) = CURDATE()
|
||||
</select>
|
||||
|
||||
<!-- 查询今日数据采集数量 -->
|
||||
<select id="selectTodayDataCount" resultType="int">
|
||||
SELECT COALESCE(SUM(data_count), 0) FROM client_data_report
|
||||
WHERE DATE(collect_time) = CURDATE()
|
||||
AND data_type IN ('BANMA', 'RAKUTEN', 'AMAZON', 'ORDER', 'AMAZON_BATCH', 'RAKUTEN_BATCH')
|
||||
</select>
|
||||
|
||||
<!-- 查询数据采集类型分布统计 -->
|
||||
<select id="selectDataTypeDistribution" resultType="map">
|
||||
SELECT
|
||||
CASE
|
||||
WHEN data_type IN ('ORDER', 'BANMA') THEN 'BANMA'
|
||||
WHEN data_type LIKE 'AMAZON%' THEN 'AMAZON'
|
||||
WHEN data_type LIKE 'RAKUTEN%' THEN 'RAKUTEN'
|
||||
ELSE data_type
|
||||
END as dataType,
|
||||
COALESCE(SUM(data_count), 0) as count
|
||||
FROM client_data_report
|
||||
WHERE data_type IN ('ORDER', 'BANMA', 'RAKUTEN', 'AMAZON', 'AMAZON_BATCH', 'RAKUTEN_BATCH')
|
||||
AND DATE(collect_time) >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
|
||||
GROUP BY
|
||||
CASE
|
||||
WHEN data_type IN ('ORDER', 'BANMA') THEN 'BANMA'
|
||||
WHEN data_type LIKE 'AMAZON%' THEN 'AMAZON'
|
||||
WHEN data_type LIKE 'RAKUTEN%' THEN 'RAKUTEN'
|
||||
ELSE data_type
|
||||
END
|
||||
ORDER BY count DESC
|
||||
</select>
|
||||
|
||||
<!-- 插入客户端错误报告 -->
|
||||
<insert id="insertClientError" parameterType="ClientErrorReport">
|
||||
INSERT INTO client_error_report
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">client_id,</if>
|
||||
<if test="errorType != null and errorType != ''">error_type,</if>
|
||||
<if test="errorMessage != null and errorMessage != ''">error_message,</if>
|
||||
<if test="errorTime != null">error_time</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="clientId != null and clientId != ''">#{clientId},</if>
|
||||
<if test="errorType != null and errorType != ''">#{errorType},</if>
|
||||
<if test="errorMessage != null and errorMessage != ''">#{errorMessage},</if>
|
||||
<if test="errorTime != null">#{errorTime}</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<!-- 更新客户端在线状态 -->
|
||||
<update id="updateClientOnlineStatus">
|
||||
update client_info set online = #{param2} where client_id = #{param1}
|
||||
</update>
|
||||
|
||||
<!-- 更新客户端心跳信息 -->
|
||||
<update id="updateClientHeartbeat" parameterType="ClientInfo">
|
||||
update client_info
|
||||
<set>
|
||||
<if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
|
||||
<if test="heartbeatTime != null">heartbeat_time = #{heartbeatTime},</if>
|
||||
<if test="online != null and online != ''">online = #{online},</if>
|
||||
<if test="cpuUsage != null">cpu_usage = #{cpuUsage},</if>
|
||||
<if test="memoryUsage != null">memory_usage = #{memoryUsage},</if>
|
||||
<if test="diskUsage != null">disk_usage = #{diskUsage},</if>
|
||||
<if test="networkStatus != null and networkStatus != ''">network_status = #{networkStatus}</if>
|
||||
</set>
|
||||
where client_id = #{clientId}
|
||||
</update>
|
||||
|
||||
<!-- 更新客户端认证信息 -->
|
||||
<update id="updateClientAuth" parameterType="ClientAuthInfo">
|
||||
update client_auth_info
|
||||
<set>
|
||||
<if test="username != null and username != ''">username = #{username},</if>
|
||||
<if test="accessToken != null and accessToken != ''">access_token = #{accessToken},</if>
|
||||
<if test="osName != null and osName != ''">os_name = #{osName},</if>
|
||||
<if test="osVersion != null and osVersion != ''">os_version = #{osVersion},</if>
|
||||
<if test="javaVersion != null and javaVersion != ''">java_version = #{javaVersion},</if>
|
||||
<if test="appVersion != null and appVersion != ''">app_version = #{appVersion},</if>
|
||||
<if test="hostname != null and hostname != ''">hostname = #{hostname},</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">ip_address = #{ipAddress},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="lastActiveTime != null">last_active_time = #{lastActiveTime},</if>
|
||||
<if test="online != null and online != ''">online = #{online}</if>
|
||||
</set>
|
||||
where client_id = #{clientId}
|
||||
</update>
|
||||
|
||||
<!-- 查询客户端认证信息通用SQL -->
|
||||
<sql id="selectClientAuthVo">
|
||||
select id, client_id, username, access_token, os_name, os_version, java_version,
|
||||
app_version, hostname, ip_address, status, auth_time, last_active_time, online
|
||||
from client_auth_info
|
||||
</sql>
|
||||
|
||||
<!-- 查询客户端错误报告通用SQL -->
|
||||
<sql id="selectClientErrorVo">
|
||||
select id, client_id, username, error_type, error_message, stack_trace,
|
||||
error_time, os_name, os_version, app_version
|
||||
from client_error_report
|
||||
</sql>
|
||||
|
||||
<!-- 查询客户端心跳记录通用SQL -->
|
||||
<sql id="selectClientHeartbeatVo">
|
||||
select id, client_id, username, heartbeat_time, cpu_usage, memory_usage,
|
||||
disk_usage, network_status
|
||||
from client_heartbeat
|
||||
</sql>
|
||||
|
||||
<!-- 查询客户端数据采集报告通用SQL -->
|
||||
<sql id="selectClientDataReportVo">
|
||||
select id, client_id, username, data_type, data_count, collect_time, status
|
||||
from client_data_report
|
||||
</sql>
|
||||
|
||||
<!-- 查询最近7天的客户端活跃趋势 -->
|
||||
<select id="selectClientActiveTrend" resultType="map">
|
||||
SELECT
|
||||
days.date_str as date,
|
||||
IFNULL(counts.client_count, 0) as count
|
||||
FROM
|
||||
(
|
||||
SELECT DATE_FORMAT(CURDATE() - INTERVAL 6 DAY, '%Y-%m-%d') as date_str
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 5 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 4 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 3 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 2 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE() - INTERVAL 1 DAY, '%Y-%m-%d')
|
||||
UNION SELECT DATE_FORMAT(CURDATE(), '%Y-%m-%d')
|
||||
) days
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
DATE_FORMAT(auth_time, '%Y-%m-%d') as heartbeat_date,
|
||||
COUNT(DISTINCT client_id) as client_count
|
||||
FROM
|
||||
client_info
|
||||
WHERE
|
||||
auth_time >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
|
||||
GROUP BY
|
||||
DATE_FORMAT(auth_time, '%Y-%m-%d')
|
||||
) counts ON days.date_str = counts.heartbeat_date
|
||||
ORDER BY
|
||||
days.date_str ASC
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端详细信息 -->
|
||||
<select id="selectClientDetail" parameterType="String" resultType="map">
|
||||
SELECT
|
||||
a.client_id as clientId,
|
||||
a.username,
|
||||
a.os_name as osName,
|
||||
a.os_version as osVersion,
|
||||
a.java_version as javaVersion,
|
||||
a.app_version as appVersion,
|
||||
a.hostname,
|
||||
a.ip_address as ipAddress,
|
||||
CASE a.status WHEN '0' THEN '正常' ELSE '异常' END as status,
|
||||
DATE_FORMAT(a.auth_time, '%Y-%m-%d %H:%i:%s') as authTime,
|
||||
DATE_FORMAT(a.last_active_time, '%Y-%m-%d %H:%i:%s') as lastActiveTime,
|
||||
a.online
|
||||
FROM client_info a
|
||||
WHERE a.client_id = #{clientId}
|
||||
</select>
|
||||
|
||||
<!-- 查询客户端版本分布 -->
|
||||
<select id="selectVersionDistribution" resultType="map">
|
||||
SELECT
|
||||
app_version as version,
|
||||
COUNT(*) as count
|
||||
FROM client_info
|
||||
GROUP BY app_version
|
||||
ORDER BY count DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询API请求统计信息 -->
|
||||
<select id="selectApiRequestStats" resultType="java.util.Map">
|
||||
SELECT
|
||||
COUNT(*) as requestCount,
|
||||
0 as avgResponseTime
|
||||
FROM client_data_report
|
||||
WHERE data_type = 'API_CALL'
|
||||
AND collect_time >= DATE_SUB(NOW(), INTERVAL 24 HOUR)
|
||||
</select>
|
||||
|
||||
<!-- 插入1688爬取风控监控数据 -->
|
||||
<insert id="insertAlibaba1688MonitorData" parameterType="java.util.Map">
|
||||
INSERT INTO client_alibaba1688_monitor
|
||||
(
|
||||
client_id,
|
||||
ip_address,
|
||||
event_type,
|
||||
event_time,
|
||||
duration,
|
||||
create_time
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{clientId},
|
||||
#{ipAddress},
|
||||
#{eventType},
|
||||
#{eventTime},
|
||||
#{duration},
|
||||
#{createTime},
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 查询1688爬取风控监控数据列表 -->
|
||||
<select id="selectAlibaba1688MonitorList" parameterType="java.util.Map" resultType="java.util.Map">
|
||||
SELECT
|
||||
m.id,
|
||||
m.client_id,
|
||||
m.ip_address,
|
||||
m.event_type,
|
||||
m.event_time,
|
||||
m.duration,
|
||||
m.create_time,
|
||||
a.username,
|
||||
a.hostname
|
||||
FROM
|
||||
client_alibaba1688_monitor m
|
||||
LEFT JOIN
|
||||
client_info a ON m.client_id = a.client_id
|
||||
<where>
|
||||
AND m.event_type != 'MOBILE_FIRST_ACCESS'
|
||||
<if test="clientId != null and clientId != ''">
|
||||
AND m.client_id = #{clientId}
|
||||
</if>
|
||||
<if test="ipAddress != null and ipAddress != ''">
|
||||
AND m.ip_address LIKE concat('%', #{ipAddress}, '%')
|
||||
</if>
|
||||
<if test="eventType != null and eventType != ''">
|
||||
AND m.event_type = #{eventType}
|
||||
</if>
|
||||
<if test="beginTime != null and beginTime != ''">
|
||||
AND DATE_FORMAT(m.create_time, '%Y-%m-%d') >= #{beginTime}
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
AND DATE_FORMAT(m.create_time, '%Y-%m-%d') <= #{endTime}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY m.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询1688爬取风控监控统计信息 -->
|
||||
<select id="selectAlibaba1688Statistics" resultType="java.util.Map">
|
||||
SELECT
|
||||
COUNT(*) AS totalEvents,
|
||||
SUM(CASE WHEN event_type = 'MOBILE_BLOCKED' THEN 1 ELSE 0 END) AS mobileBlockedCount,
|
||||
SUM(CASE WHEN event_type = 'DESKTOP_BLOCKED' THEN 1 ELSE 0 END) AS desktopBlockedCount,
|
||||
COUNT(DISTINCT ip_address) AS uniqueIpCount,
|
||||
AVG(CASE WHEN event_type = 'MOBILE_BLOCKED' AND duration > 0 THEN duration ELSE NULL END) / 1000 AS avgMobileDuration,
|
||||
AVG(CASE WHEN event_type = 'DESKTOP_BLOCKED' AND duration > 0 THEN duration ELSE NULL END) / 1000 AS avgDesktopDuration
|
||||
FROM
|
||||
client_alibaba1688_monitor
|
||||
WHERE
|
||||
create_time >= DATE_SUB(NOW(), INTERVAL 30 DAY)
|
||||
AND event_type != 'MOBILE_FIRST_ACCESS'
|
||||
</select>
|
||||
|
||||
<!-- 将过期客户端设置为离线状态(7天未心跳) -->
|
||||
<update id="updateExpiredClientsOffline">
|
||||
UPDATE client_info
|
||||
SET online = '0'
|
||||
WHERE online = '1'
|
||||
AND (heartbeat_time IS NULL OR heartbeat_time < DATE_SUB(NOW(), INTERVAL 7 DAY))
|
||||
</update>
|
||||
|
||||
<!-- 删除30天前的错误报告 -->
|
||||
<delete id="deleteExpiredErrorReports">
|
||||
DELETE FROM client_error_report
|
||||
WHERE error_time < DATE_SUB(NOW(), INTERVAL 30 DAY)
|
||||
</delete>
|
||||
|
||||
<!-- 删除90天前的数据采集报告(保留API调用记录) -->
|
||||
<delete id="deleteExpiredDataReports">
|
||||
DELETE FROM client_data_report
|
||||
WHERE collect_time < DATE_SUB(NOW(), INTERVAL 90 DAY)
|
||||
AND data_type NOT IN ('API_CALL')
|
||||
</delete>
|
||||
|
||||
<!-- 删除7天前的事件日志 -->
|
||||
<delete id="deleteExpiredEventLogs">
|
||||
DELETE FROM client_event_log
|
||||
WHERE event_time < DATE_SUB(NOW(), INTERVAL 7 DAY)
|
||||
</delete>
|
||||
|
||||
<!-- 查找最近1天内相同条件的数据报告 -->
|
||||
<select id="findRecentDataReport" parameterType="map" resultMap="ClientDataReportResult">
|
||||
SELECT * FROM client_data_report
|
||||
WHERE client_id = #{clientId}
|
||||
AND data_type = #{dataType}
|
||||
AND status = #{status}
|
||||
AND DATE(collect_time) = DATE(NOW())
|
||||
ORDER BY collect_time DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 更新数据报告的数量 -->
|
||||
<update id="updateDataReportCount">
|
||||
UPDATE client_data_report
|
||||
SET data_count = #{newCount},
|
||||
collect_time = NOW()
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,66 @@
|
||||
<?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.RefreshTokenMapper">
|
||||
|
||||
<resultMap type="RefreshToken" id="RefreshTokenResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="accountId" column="account_id"/>
|
||||
<result property="deviceId" column="device_id"/>
|
||||
<result property="token" column="token"/>
|
||||
<result property="expireTime" column="expire_time"/>
|
||||
<result property="revoked" column="revoked"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="insertRefreshToken" parameterType="RefreshToken" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into refresh_token
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="accountId != null">account_id,</if>
|
||||
<if test="deviceId != null">device_id,</if>
|
||||
<if test="token != null">token,</if>
|
||||
<if test="expireTime != null">expire_time,</if>
|
||||
<if test="revoked != null">revoked,</if>
|
||||
create_time
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="accountId != null">#{accountId},</if>
|
||||
<if test="deviceId != null">#{deviceId},</if>
|
||||
<if test="token != null">#{token},</if>
|
||||
<if test="expireTime != null">#{expireTime},</if>
|
||||
<if test="revoked != null">#{revoked},</if>
|
||||
sysdate()
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<select id="selectByToken" parameterType="String" resultMap="RefreshTokenResult">
|
||||
select id, account_id, device_id, token, expire_time, revoked, create_time, update_time
|
||||
from refresh_token
|
||||
where token = #{token} and revoked = '0'
|
||||
</select>
|
||||
|
||||
<update id="revokeByAccountId" parameterType="Long">
|
||||
update refresh_token set revoked = '1', update_time = sysdate()
|
||||
where account_id = #{accountId} and revoked = '0'
|
||||
</update>
|
||||
|
||||
<update id="revokeByDeviceId" parameterType="String">
|
||||
update refresh_token set revoked = '1', update_time = sysdate()
|
||||
where device_id = #{deviceId} and revoked = '0'
|
||||
</update>
|
||||
|
||||
<delete id="deleteExpiredTokens">
|
||||
delete from refresh_token
|
||||
where expire_time < sysdate() or revoked = '1'
|
||||
</delete>
|
||||
|
||||
<update id="updateRefreshToken" parameterType="RefreshToken">
|
||||
update refresh_token
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="revoked != null">revoked = #{revoked},</if>
|
||||
update_time = sysdate()
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
117
ruoyi-system/target/classes/mapper/system/SysConfigMapper.xml
Normal file
117
ruoyi-system/target/classes/mapper/system/SysConfigMapper.xml
Normal file
@@ -0,0 +1,117 @@
|
||||
<?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.SysConfigMapper">
|
||||
|
||||
<resultMap type="SysConfig" id="SysConfigResult">
|
||||
<id property="configId" column="config_id" />
|
||||
<result property="configName" column="config_name" />
|
||||
<result property="configKey" column="config_key" />
|
||||
<result property="configValue" column="config_value" />
|
||||
<result property="configType" column="config_type" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectConfigVo">
|
||||
select config_id, config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark
|
||||
from sys_config
|
||||
</sql>
|
||||
|
||||
<!-- 查询条件 -->
|
||||
<sql id="sqlwhereSearch">
|
||||
<where>
|
||||
<if test="configId !=null">
|
||||
and config_id = #{configId}
|
||||
</if>
|
||||
<if test="configKey !=null and configKey != ''">
|
||||
and config_key = #{configKey}
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
<select id="selectConfig" parameterType="SysConfig" resultMap="SysConfigResult">
|
||||
<include refid="selectConfigVo"/>
|
||||
<include refid="sqlwhereSearch"/>
|
||||
</select>
|
||||
|
||||
<select id="selectConfigList" parameterType="SysConfig" resultMap="SysConfigResult">
|
||||
<include refid="selectConfigVo"/>
|
||||
<where>
|
||||
<if test="configName != null and configName != ''">
|
||||
AND config_name like concat('%', #{configName}, '%')
|
||||
</if>
|
||||
<if test="configType != null and configType != ''">
|
||||
AND config_type = #{configType}
|
||||
</if>
|
||||
<if test="configKey != null and configKey != ''">
|
||||
AND config_key like concat('%', #{configKey}, '%')
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(create_time,'%Y%m%d') >= date_format(#{params.beginTime},'%Y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(create_time,'%Y%m%d') <= date_format(#{params.endTime},'%Y%m%d')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectConfigById" parameterType="Long" resultMap="SysConfigResult">
|
||||
<include refid="selectConfigVo"/>
|
||||
where config_id = #{configId}
|
||||
</select>
|
||||
|
||||
<select id="checkConfigKeyUnique" parameterType="String" resultMap="SysConfigResult">
|
||||
<include refid="selectConfigVo"/>
|
||||
where config_key = #{configKey} limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertConfig" parameterType="SysConfig">
|
||||
insert into sys_config (
|
||||
<if test="configName != null and configName != '' ">config_name,</if>
|
||||
<if test="configKey != null and configKey != '' ">config_key,</if>
|
||||
<if test="configValue != null and configValue != '' ">config_value,</if>
|
||||
<if test="configType != null and configType != '' ">config_type,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="configName != null and configName != ''">#{configName},</if>
|
||||
<if test="configKey != null and configKey != ''">#{configKey},</if>
|
||||
<if test="configValue != null and configValue != ''">#{configValue},</if>
|
||||
<if test="configType != null and configType != ''">#{configType},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateConfig" parameterType="SysConfig">
|
||||
update sys_config
|
||||
<set>
|
||||
<if test="configName != null and configName != ''">config_name = #{configName},</if>
|
||||
<if test="configKey != null and configKey != ''">config_key = #{configKey},</if>
|
||||
<if test="configValue != null and configValue != ''">config_value = #{configValue},</if>
|
||||
<if test="configType != null and configType != ''">config_type = #{configType},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where config_id = #{configId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteConfigById" parameterType="Long">
|
||||
delete from sys_config where config_id = #{configId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteConfigByIds" parameterType="Long">
|
||||
delete from sys_config where config_id in
|
||||
<foreach item="configId" collection="array" open="(" separator="," close=")">
|
||||
#{configId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
159
ruoyi-system/target/classes/mapper/system/SysDeptMapper.xml
Normal file
159
ruoyi-system/target/classes/mapper/system/SysDeptMapper.xml
Normal file
@@ -0,0 +1,159 @@
|
||||
<?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.SysDeptMapper">
|
||||
|
||||
<resultMap type="SysDept" id="SysDeptResult">
|
||||
<id property="deptId" column="dept_id" />
|
||||
<result property="parentId" column="parent_id" />
|
||||
<result property="ancestors" column="ancestors" />
|
||||
<result property="deptName" column="dept_name" />
|
||||
<result property="orderNum" column="order_num" />
|
||||
<result property="leader" column="leader" />
|
||||
<result property="phone" column="phone" />
|
||||
<result property="email" column="email" />
|
||||
<result property="status" column="status" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="parentName" column="parent_name" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectDeptVo">
|
||||
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time
|
||||
from sys_dept d
|
||||
</sql>
|
||||
|
||||
<select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult">
|
||||
<include refid="selectDeptVo"/>
|
||||
where d.del_flag = '0'
|
||||
<if test="deptId != null and deptId != 0">
|
||||
AND dept_id = #{deptId}
|
||||
</if>
|
||||
<if test="parentId != null and parentId != 0">
|
||||
AND parent_id = #{parentId}
|
||||
</if>
|
||||
<if test="deptName != null and deptName != ''">
|
||||
AND dept_name like concat('%', #{deptName}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
order by d.parent_id, d.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectDeptListByRoleId" resultType="Long">
|
||||
select d.dept_id
|
||||
from sys_dept d
|
||||
left join sys_role_dept rd on d.dept_id = rd.dept_id
|
||||
where rd.role_id = #{roleId}
|
||||
<if test="deptCheckStrictly">
|
||||
and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId})
|
||||
</if>
|
||||
order by d.parent_id, d.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
|
||||
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status,
|
||||
(select dept_name from sys_dept where dept_id = d.parent_id) parent_name
|
||||
from sys_dept d
|
||||
where d.dept_id = #{deptId}
|
||||
</select>
|
||||
|
||||
<select id="checkDeptExistUser" parameterType="Long" resultType="int">
|
||||
select count(1) from sys_user where dept_id = #{deptId} and del_flag = '0'
|
||||
</select>
|
||||
|
||||
<select id="hasChildByDeptId" parameterType="Long" resultType="int">
|
||||
select count(1) from sys_dept
|
||||
where del_flag = '0' and parent_id = #{deptId} limit 1
|
||||
</select>
|
||||
|
||||
<select id="selectChildrenDeptById" parameterType="Long" resultMap="SysDeptResult">
|
||||
select * from sys_dept where find_in_set(#{deptId}, ancestors)
|
||||
</select>
|
||||
|
||||
<select id="selectNormalChildrenDeptById" parameterType="Long" resultType="int">
|
||||
select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{deptId}, ancestors)
|
||||
</select>
|
||||
|
||||
<select id="checkDeptNameUnique" resultMap="SysDeptResult">
|
||||
<include refid="selectDeptVo"/>
|
||||
where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertDept" parameterType="SysDept">
|
||||
insert into sys_dept(
|
||||
<if test="deptId != null and deptId != 0">dept_id,</if>
|
||||
<if test="parentId != null and parentId != 0">parent_id,</if>
|
||||
<if test="deptName != null and deptName != ''">dept_name,</if>
|
||||
<if test="ancestors != null and ancestors != ''">ancestors,</if>
|
||||
<if test="orderNum != null">order_num,</if>
|
||||
<if test="leader != null and leader != ''">leader,</if>
|
||||
<if test="phone != null and phone != ''">phone,</if>
|
||||
<if test="email != null and email != ''">email,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="deptId != null and deptId != 0">#{deptId},</if>
|
||||
<if test="parentId != null and parentId != 0">#{parentId},</if>
|
||||
<if test="deptName != null and deptName != ''">#{deptName},</if>
|
||||
<if test="ancestors != null and ancestors != ''">#{ancestors},</if>
|
||||
<if test="orderNum != null">#{orderNum},</if>
|
||||
<if test="leader != null and leader != ''">#{leader},</if>
|
||||
<if test="phone != null and phone != ''">#{phone},</if>
|
||||
<if test="email != null and email != ''">#{email},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateDept" parameterType="SysDept">
|
||||
update sys_dept
|
||||
<set>
|
||||
<if test="parentId != null and parentId != 0">parent_id = #{parentId},</if>
|
||||
<if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
|
||||
<if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if>
|
||||
<if test="orderNum != null">order_num = #{orderNum},</if>
|
||||
<if test="leader != null">leader = #{leader},</if>
|
||||
<if test="phone != null">phone = #{phone},</if>
|
||||
<if test="email != null">email = #{email},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where dept_id = #{deptId}
|
||||
</update>
|
||||
|
||||
<update id="updateDeptChildren" parameterType="java.util.List">
|
||||
update sys_dept set ancestors =
|
||||
<foreach collection="depts" item="item" index="index"
|
||||
separator=" " open="case dept_id" close="end">
|
||||
when #{item.deptId} then #{item.ancestors}
|
||||
</foreach>
|
||||
where dept_id in
|
||||
<foreach collection="depts" item="item" index="index"
|
||||
separator="," open="(" close=")">
|
||||
#{item.deptId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="updateDeptStatusNormal" parameterType="Long">
|
||||
update sys_dept set status = '0' where dept_id in
|
||||
<foreach collection="array" item="deptId" open="(" separator="," close=")">
|
||||
#{deptId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<delete id="deleteDeptById" parameterType="Long">
|
||||
update sys_dept set del_flag = '2' where dept_id = #{deptId}
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
124
ruoyi-system/target/classes/mapper/system/SysDictDataMapper.xml
Normal file
124
ruoyi-system/target/classes/mapper/system/SysDictDataMapper.xml
Normal file
@@ -0,0 +1,124 @@
|
||||
<?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.SysDictDataMapper">
|
||||
|
||||
<resultMap type="SysDictData" id="SysDictDataResult">
|
||||
<id property="dictCode" column="dict_code" />
|
||||
<result property="dictSort" column="dict_sort" />
|
||||
<result property="dictLabel" column="dict_label" />
|
||||
<result property="dictValue" column="dict_value" />
|
||||
<result property="dictType" column="dict_type" />
|
||||
<result property="cssClass" column="css_class" />
|
||||
<result property="listClass" column="list_class" />
|
||||
<result property="isDefault" column="is_default" />
|
||||
<result property="status" column="status" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectDictDataVo">
|
||||
select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
|
||||
from sys_dict_data
|
||||
</sql>
|
||||
|
||||
<select id="selectDictDataList" parameterType="SysDictData" resultMap="SysDictDataResult">
|
||||
<include refid="selectDictDataVo"/>
|
||||
<where>
|
||||
<if test="dictType != null and dictType != ''">
|
||||
AND dict_type = #{dictType}
|
||||
</if>
|
||||
<if test="dictLabel != null and dictLabel != ''">
|
||||
AND dict_label like concat('%', #{dictLabel}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
</where>
|
||||
order by dict_sort asc
|
||||
</select>
|
||||
|
||||
<select id="selectDictDataByType" parameterType="String" resultMap="SysDictDataResult">
|
||||
<include refid="selectDictDataVo"/>
|
||||
where status = '0' and dict_type = #{dictType} order by dict_sort asc
|
||||
</select>
|
||||
|
||||
<select id="selectDictLabel" resultType="String">
|
||||
select dict_label from sys_dict_data
|
||||
where dict_type = #{dictType} and dict_value = #{dictValue}
|
||||
</select>
|
||||
|
||||
<select id="selectDictDataById" parameterType="Long" resultMap="SysDictDataResult">
|
||||
<include refid="selectDictDataVo"/>
|
||||
where dict_code = #{dictCode}
|
||||
</select>
|
||||
|
||||
<select id="countDictDataByType" resultType="Integer">
|
||||
select count(1) from sys_dict_data where dict_type=#{dictType}
|
||||
</select>
|
||||
|
||||
<delete id="deleteDictDataById" parameterType="Long">
|
||||
delete from sys_dict_data where dict_code = #{dictCode}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteDictDataByIds" parameterType="Long">
|
||||
delete from sys_dict_data where dict_code in
|
||||
<foreach collection="array" item="dictCode" open="(" separator="," close=")">
|
||||
#{dictCode}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<update id="updateDictData" parameterType="SysDictData">
|
||||
update sys_dict_data
|
||||
<set>
|
||||
<if test="dictSort != null">dict_sort = #{dictSort},</if>
|
||||
<if test="dictLabel != null and dictLabel != ''">dict_label = #{dictLabel},</if>
|
||||
<if test="dictValue != null and dictValue != ''">dict_value = #{dictValue},</if>
|
||||
<if test="dictType != null and dictType != ''">dict_type = #{dictType},</if>
|
||||
<if test="cssClass != null">css_class = #{cssClass},</if>
|
||||
<if test="listClass != null">list_class = #{listClass},</if>
|
||||
<if test="isDefault != null and isDefault != ''">is_default = #{isDefault},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where dict_code = #{dictCode}
|
||||
</update>
|
||||
|
||||
<update id="updateDictDataType" parameterType="String">
|
||||
update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType}
|
||||
</update>
|
||||
|
||||
<insert id="insertDictData" parameterType="SysDictData">
|
||||
insert into sys_dict_data(
|
||||
<if test="dictSort != null">dict_sort,</if>
|
||||
<if test="dictLabel != null and dictLabel != ''">dict_label,</if>
|
||||
<if test="dictValue != null and dictValue != ''">dict_value,</if>
|
||||
<if test="dictType != null and dictType != ''">dict_type,</if>
|
||||
<if test="cssClass != null and cssClass != ''">css_class,</if>
|
||||
<if test="listClass != null and listClass != ''">list_class,</if>
|
||||
<if test="isDefault != null and isDefault != ''">is_default,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="dictSort != null">#{dictSort},</if>
|
||||
<if test="dictLabel != null and dictLabel != ''">#{dictLabel},</if>
|
||||
<if test="dictValue != null and dictValue != ''">#{dictValue},</if>
|
||||
<if test="dictType != null and dictType != ''">#{dictType},</if>
|
||||
<if test="cssClass != null and cssClass != ''">#{cssClass},</if>
|
||||
<if test="listClass != null and listClass != ''">#{listClass},</if>
|
||||
<if test="isDefault != null and isDefault != ''">#{isDefault},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
105
ruoyi-system/target/classes/mapper/system/SysDictTypeMapper.xml
Normal file
105
ruoyi-system/target/classes/mapper/system/SysDictTypeMapper.xml
Normal file
@@ -0,0 +1,105 @@
|
||||
<?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.SysDictTypeMapper">
|
||||
|
||||
<resultMap type="SysDictType" id="SysDictTypeResult">
|
||||
<id property="dictId" column="dict_id" />
|
||||
<result property="dictName" column="dict_name" />
|
||||
<result property="dictType" column="dict_type" />
|
||||
<result property="status" column="status" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectDictTypeVo">
|
||||
select dict_id, dict_name, dict_type, status, create_by, create_time, remark
|
||||
from sys_dict_type
|
||||
</sql>
|
||||
|
||||
<select id="selectDictTypeList" parameterType="SysDictType" resultMap="SysDictTypeResult">
|
||||
<include refid="selectDictTypeVo"/>
|
||||
<where>
|
||||
<if test="dictName != null and dictName != ''">
|
||||
AND dict_name like concat('%', #{dictName}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="dictType != null and dictType != ''">
|
||||
AND dict_type like concat('%', #{dictType}, '%')
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(create_time,'%Y%m%d') >= date_format(#{params.beginTime},'%Y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(create_time,'%Y%m%d') <= date_format(#{params.endTime},'%Y%m%d')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectDictTypeAll" resultMap="SysDictTypeResult">
|
||||
<include refid="selectDictTypeVo"/>
|
||||
</select>
|
||||
|
||||
<select id="selectDictTypeById" parameterType="Long" resultMap="SysDictTypeResult">
|
||||
<include refid="selectDictTypeVo"/>
|
||||
where dict_id = #{dictId}
|
||||
</select>
|
||||
|
||||
<select id="selectDictTypeByType" parameterType="String" resultMap="SysDictTypeResult">
|
||||
<include refid="selectDictTypeVo"/>
|
||||
where dict_type = #{dictType}
|
||||
</select>
|
||||
|
||||
<select id="checkDictTypeUnique" parameterType="String" resultMap="SysDictTypeResult">
|
||||
<include refid="selectDictTypeVo"/>
|
||||
where dict_type = #{dictType} limit 1
|
||||
</select>
|
||||
|
||||
<delete id="deleteDictTypeById" parameterType="Long">
|
||||
delete from sys_dict_type where dict_id = #{dictId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteDictTypeByIds" parameterType="Long">
|
||||
delete from sys_dict_type where dict_id in
|
||||
<foreach collection="array" item="dictId" open="(" separator="," close=")">
|
||||
#{dictId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<update id="updateDictType" parameterType="SysDictType">
|
||||
update sys_dict_type
|
||||
<set>
|
||||
<if test="dictName != null and dictName != ''">dict_name = #{dictName},</if>
|
||||
<if test="dictType != null and dictType != ''">dict_type = #{dictType},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where dict_id = #{dictId}
|
||||
</update>
|
||||
|
||||
<insert id="insertDictType" parameterType="SysDictType">
|
||||
insert into sys_dict_type(
|
||||
<if test="dictName != null and dictName != ''">dict_name,</if>
|
||||
<if test="dictType != null and dictType != ''">dict_type,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="dictName != null and dictName != ''">#{dictName},</if>
|
||||
<if test="dictType != null and dictType != ''">#{dictType},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?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.SysLogininforMapper">
|
||||
|
||||
<resultMap type="SysLogininfor" id="SysLogininforResult">
|
||||
<id property="infoId" column="info_id" />
|
||||
<result property="userName" column="user_name" />
|
||||
<result property="status" column="status" />
|
||||
<result property="ipaddr" column="ipaddr" />
|
||||
<result property="loginLocation" column="login_location" />
|
||||
<result property="browser" column="browser" />
|
||||
<result property="os" column="os" />
|
||||
<result property="msg" column="msg" />
|
||||
<result property="loginTime" column="login_time" />
|
||||
</resultMap>
|
||||
|
||||
<insert id="insertLogininfor" parameterType="SysLogininfor">
|
||||
insert into sys_logininfor (user_name, status, ipaddr, login_location, browser, os, msg, login_time)
|
||||
values (#{userName}, #{status}, #{ipaddr}, #{loginLocation}, #{browser}, #{os}, #{msg}, sysdate())
|
||||
</insert>
|
||||
|
||||
<select id="selectLogininforList" parameterType="SysLogininfor" resultMap="SysLogininforResult">
|
||||
select info_id, user_name, ipaddr, login_location, browser, os, status, msg, login_time from sys_logininfor
|
||||
<where>
|
||||
<if test="ipaddr != null and ipaddr != ''">
|
||||
AND ipaddr like concat('%', #{ipaddr}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
AND user_name like concat('%', #{userName}, '%')
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
AND login_time >= #{params.beginTime}
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
AND login_time <= #{params.endTime}
|
||||
</if>
|
||||
</where>
|
||||
order by info_id desc
|
||||
</select>
|
||||
|
||||
<delete id="deleteLogininforByIds" parameterType="Long">
|
||||
delete from sys_logininfor where info_id in
|
||||
<foreach collection="array" item="infoId" open="(" separator="," close=")">
|
||||
#{infoId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<update id="cleanLogininfor">
|
||||
truncate table sys_logininfor
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
206
ruoyi-system/target/classes/mapper/system/SysMenuMapper.xml
Normal file
206
ruoyi-system/target/classes/mapper/system/SysMenuMapper.xml
Normal file
@@ -0,0 +1,206 @@
|
||||
<?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.SysMenuMapper">
|
||||
|
||||
<resultMap type="SysMenu" id="SysMenuResult">
|
||||
<id property="menuId" column="menu_id" />
|
||||
<result property="menuName" column="menu_name" />
|
||||
<result property="parentName" column="parent_name" />
|
||||
<result property="parentId" column="parent_id" />
|
||||
<result property="orderNum" column="order_num" />
|
||||
<result property="path" column="path" />
|
||||
<result property="component" column="component" />
|
||||
<result property="query" column="query" />
|
||||
<result property="routeName" column="route_name" />
|
||||
<result property="isFrame" column="is_frame" />
|
||||
<result property="isCache" column="is_cache" />
|
||||
<result property="menuType" column="menu_type" />
|
||||
<result property="visible" column="visible" />
|
||||
<result property="status" column="status" />
|
||||
<result property="perms" column="perms" />
|
||||
<result property="icon" column="icon" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectMenuVo">
|
||||
select menu_id, menu_name, parent_id, order_num, path, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time
|
||||
from sys_menu
|
||||
</sql>
|
||||
|
||||
<select id="selectMenuList" parameterType="SysMenu" resultMap="SysMenuResult">
|
||||
<include refid="selectMenuVo"/>
|
||||
<where>
|
||||
<if test="menuName != null and menuName != ''">
|
||||
AND menu_name like concat('%', #{menuName}, '%')
|
||||
</if>
|
||||
<if test="visible != null and visible != ''">
|
||||
AND visible = #{visible}
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
</where>
|
||||
order by parent_id, order_num
|
||||
</select>
|
||||
|
||||
<select id="selectMenuTreeAll" resultMap="SysMenuResult">
|
||||
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
|
||||
from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0
|
||||
order by m.parent_id, m.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult">
|
||||
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
|
||||
from sys_menu m
|
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id
|
||||
left join sys_user_role ur on rm.role_id = ur.role_id
|
||||
left join sys_role ro on ur.role_id = ro.role_id
|
||||
where ur.user_id = #{params.userId}
|
||||
<if test="menuName != null and menuName != ''">
|
||||
AND m.menu_name like concat('%', #{menuName}, '%')
|
||||
</if>
|
||||
<if test="visible != null and visible != ''">
|
||||
AND m.visible = #{visible}
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND m.status = #{status}
|
||||
</if>
|
||||
order by m.parent_id, m.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
|
||||
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
|
||||
from sys_menu m
|
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id
|
||||
left join sys_user_role ur on rm.role_id = ur.role_id
|
||||
left join sys_role ro on ur.role_id = ro.role_id
|
||||
left join sys_user u on ur.user_id = u.user_id
|
||||
where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = 0 AND ro.status = 0
|
||||
order by m.parent_id, m.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectMenuListByRoleId" resultType="Long">
|
||||
select m.menu_id
|
||||
from sys_menu m
|
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id
|
||||
where rm.role_id = #{roleId}
|
||||
<if test="menuCheckStrictly">
|
||||
and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId})
|
||||
</if>
|
||||
order by m.parent_id, m.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectMenuPerms" resultType="String">
|
||||
select distinct m.perms
|
||||
from sys_menu m
|
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id
|
||||
left join sys_user_role ur on rm.role_id = ur.role_id
|
||||
</select>
|
||||
|
||||
<select id="selectMenuPermsByUserId" parameterType="Long" resultType="String">
|
||||
select distinct m.perms
|
||||
from sys_menu m
|
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id
|
||||
left join sys_user_role ur on rm.role_id = ur.role_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
where m.status = '0' and r.status = '0' and ur.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
|
||||
select distinct m.perms
|
||||
from sys_menu m
|
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id
|
||||
where m.status = '0' and rm.role_id = #{roleId}
|
||||
</select>
|
||||
|
||||
<select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult">
|
||||
<include refid="selectMenuVo"/>
|
||||
where menu_id = #{menuId}
|
||||
</select>
|
||||
|
||||
<select id="hasChildByMenuId" resultType="Integer">
|
||||
select count(1) from sys_menu where parent_id = #{menuId}
|
||||
</select>
|
||||
|
||||
<select id="checkMenuNameUnique" parameterType="SysMenu" resultMap="SysMenuResult">
|
||||
<include refid="selectMenuVo"/>
|
||||
where menu_name=#{menuName} and parent_id = #{parentId} limit 1
|
||||
</select>
|
||||
|
||||
<update id="updateMenu" parameterType="SysMenu">
|
||||
update sys_menu
|
||||
<set>
|
||||
<if test="menuName != null and menuName != ''">menu_name = #{menuName},</if>
|
||||
<if test="parentId != null">parent_id = #{parentId},</if>
|
||||
<if test="orderNum != null">order_num = #{orderNum},</if>
|
||||
<if test="path != null and path != ''">path = #{path},</if>
|
||||
<if test="component != null">component = #{component},</if>
|
||||
<if test="query != null">`query` = #{query},</if>
|
||||
<if test="routeName != null">route_name = #{routeName},</if>
|
||||
<if test="isFrame != null and isFrame != ''">is_frame = #{isFrame},</if>
|
||||
<if test="isCache != null and isCache != ''">is_cache = #{isCache},</if>
|
||||
<if test="menuType != null and menuType != ''">menu_type = #{menuType},</if>
|
||||
<if test="visible != null">visible = #{visible},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="perms !=null">perms = #{perms},</if>
|
||||
<if test="icon !=null and icon != ''">icon = #{icon},</if>
|
||||
<if test="remark != null and remark != ''">remark = #{remark},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where menu_id = #{menuId}
|
||||
</update>
|
||||
|
||||
<insert id="insertMenu" parameterType="SysMenu">
|
||||
insert into sys_menu(
|
||||
<if test="menuId != null and menuId != 0">menu_id,</if>
|
||||
<if test="parentId != null and parentId != 0">parent_id,</if>
|
||||
<if test="menuName != null and menuName != ''">menu_name,</if>
|
||||
<if test="orderNum != null">order_num,</if>
|
||||
<if test="path != null and path != ''">path,</if>
|
||||
<if test="component != null and component != ''">component,</if>
|
||||
<if test="query != null and query != ''">`query`,</if>
|
||||
<if test="routeName != null">route_name,</if>
|
||||
<if test="isFrame != null and isFrame != ''">is_frame,</if>
|
||||
<if test="isCache != null and isCache != ''">is_cache,</if>
|
||||
<if test="menuType != null and menuType != ''">menu_type,</if>
|
||||
<if test="visible != null">visible,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="perms !=null and perms != ''">perms,</if>
|
||||
<if test="icon != null and icon != ''">icon,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="menuId != null and menuId != 0">#{menuId},</if>
|
||||
<if test="parentId != null and parentId != 0">#{parentId},</if>
|
||||
<if test="menuName != null and menuName != ''">#{menuName},</if>
|
||||
<if test="orderNum != null">#{orderNum},</if>
|
||||
<if test="path != null and path != ''">#{path},</if>
|
||||
<if test="component != null and component != ''">#{component},</if>
|
||||
<if test="query != null and query != ''">#{query},</if>
|
||||
<if test="routeName != null">#{routeName},</if>
|
||||
<if test="isFrame != null and isFrame != ''">#{isFrame},</if>
|
||||
<if test="isCache != null and isCache != ''">#{isCache},</if>
|
||||
<if test="menuType != null and menuType != ''">#{menuType},</if>
|
||||
<if test="visible != null">#{visible},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="perms !=null and perms != ''">#{perms},</if>
|
||||
<if test="icon != null and icon != ''">#{icon},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<delete id="deleteMenuById" parameterType="Long">
|
||||
delete from sys_menu where menu_id = #{menuId}
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,89 @@
|
||||
<?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.SysNoticeMapper">
|
||||
|
||||
<resultMap type="SysNotice" id="SysNoticeResult">
|
||||
<result property="noticeId" column="notice_id" />
|
||||
<result property="noticeTitle" column="notice_title" />
|
||||
<result property="noticeType" column="notice_type" />
|
||||
<result property="noticeContent" column="notice_content" />
|
||||
<result property="status" column="status" />
|
||||
<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="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectNoticeVo">
|
||||
select notice_id, notice_title, notice_type, cast(notice_content as char) as notice_content, status, create_by, create_time, update_by, update_time, remark
|
||||
from sys_notice
|
||||
</sql>
|
||||
|
||||
<select id="selectNoticeById" parameterType="Long" resultMap="SysNoticeResult">
|
||||
<include refid="selectNoticeVo"/>
|
||||
where notice_id = #{noticeId}
|
||||
</select>
|
||||
|
||||
<select id="selectNoticeList" parameterType="SysNotice" resultMap="SysNoticeResult">
|
||||
<include refid="selectNoticeVo"/>
|
||||
<where>
|
||||
<if test="noticeTitle != null and noticeTitle != ''">
|
||||
AND notice_title like concat('%', #{noticeTitle}, '%')
|
||||
</if>
|
||||
<if test="noticeType != null and noticeType != ''">
|
||||
AND notice_type = #{noticeType}
|
||||
</if>
|
||||
<if test="createBy != null and createBy != ''">
|
||||
AND create_by like concat('%', #{createBy}, '%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<insert id="insertNotice" parameterType="SysNotice">
|
||||
insert into sys_notice (
|
||||
<if test="noticeTitle != null and noticeTitle != '' ">notice_title, </if>
|
||||
<if test="noticeType != null and noticeType != '' ">notice_type, </if>
|
||||
<if test="noticeContent != null and noticeContent != '' ">notice_content, </if>
|
||||
<if test="status != null and status != '' ">status, </if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="noticeTitle != null and noticeTitle != ''">#{noticeTitle}, </if>
|
||||
<if test="noticeType != null and noticeType != ''">#{noticeType}, </if>
|
||||
<if test="noticeContent != null and noticeContent != ''">#{noticeContent}, </if>
|
||||
<if test="status != null and status != ''">#{status}, </if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateNotice" parameterType="SysNotice">
|
||||
update sys_notice
|
||||
<set>
|
||||
<if test="noticeTitle != null and noticeTitle != ''">notice_title = #{noticeTitle}, </if>
|
||||
<if test="noticeType != null and noticeType != ''">notice_type = #{noticeType}, </if>
|
||||
<if test="noticeContent != null">notice_content = #{noticeContent}, </if>
|
||||
<if test="status != null and status != ''">status = #{status}, </if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where notice_id = #{noticeId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteNoticeById" parameterType="Long">
|
||||
delete from sys_notice where notice_id = #{noticeId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteNoticeByIds" parameterType="Long">
|
||||
delete from sys_notice where notice_id in
|
||||
<foreach item="noticeId" collection="array" open="(" separator="," close=")">
|
||||
#{noticeId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,87 @@
|
||||
<?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="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 >= #{params.beginTime}
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
AND oper_time <= #{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="array" item="operId" open="(" separator="," close=")">
|
||||
#{operId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectOperLogById" parameterType="Long" resultMap="SysOperLogResult">
|
||||
<include refid="selectOperLogVo"/>
|
||||
where oper_id = #{operId}
|
||||
</select>
|
||||
|
||||
<update id="cleanOperLog">
|
||||
truncate table sys_oper_log
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
122
ruoyi-system/target/classes/mapper/system/SysPostMapper.xml
Normal file
122
ruoyi-system/target/classes/mapper/system/SysPostMapper.xml
Normal file
@@ -0,0 +1,122 @@
|
||||
<?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.SysPostMapper">
|
||||
|
||||
<resultMap type="SysPost" id="SysPostResult">
|
||||
<id property="postId" column="post_id" />
|
||||
<result property="postCode" column="post_code" />
|
||||
<result property="postName" column="post_name" />
|
||||
<result property="postSort" column="post_sort" />
|
||||
<result property="status" column="status" />
|
||||
<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="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectPostVo">
|
||||
select post_id, post_code, post_name, post_sort, status, create_by, create_time, remark
|
||||
from sys_post
|
||||
</sql>
|
||||
|
||||
<select id="selectPostList" parameterType="SysPost" resultMap="SysPostResult">
|
||||
<include refid="selectPostVo"/>
|
||||
<where>
|
||||
<if test="postCode != null and postCode != ''">
|
||||
AND post_code like concat('%', #{postCode}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="postName != null and postName != ''">
|
||||
AND post_name like concat('%', #{postName}, '%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectPostAll" resultMap="SysPostResult">
|
||||
<include refid="selectPostVo"/>
|
||||
</select>
|
||||
|
||||
<select id="selectPostById" parameterType="Long" resultMap="SysPostResult">
|
||||
<include refid="selectPostVo"/>
|
||||
where post_id = #{postId}
|
||||
</select>
|
||||
|
||||
<select id="selectPostListByUserId" parameterType="Long" resultType="Long">
|
||||
select p.post_id
|
||||
from sys_post p
|
||||
left join sys_user_post up on up.post_id = p.post_id
|
||||
left join sys_user u on u.user_id = up.user_id
|
||||
where u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectPostsByUserName" parameterType="String" resultMap="SysPostResult">
|
||||
select p.post_id, p.post_name, p.post_code
|
||||
from sys_post p
|
||||
left join sys_user_post up on up.post_id = p.post_id
|
||||
left join sys_user u on u.user_id = up.user_id
|
||||
where u.user_name = #{userName}
|
||||
</select>
|
||||
|
||||
<select id="checkPostNameUnique" parameterType="String" resultMap="SysPostResult">
|
||||
<include refid="selectPostVo"/>
|
||||
where post_name=#{postName} limit 1
|
||||
</select>
|
||||
|
||||
<select id="checkPostCodeUnique" parameterType="String" resultMap="SysPostResult">
|
||||
<include refid="selectPostVo"/>
|
||||
where post_code=#{postCode} limit 1
|
||||
</select>
|
||||
|
||||
<update id="updatePost" parameterType="SysPost">
|
||||
update sys_post
|
||||
<set>
|
||||
<if test="postCode != null and postCode != ''">post_code = #{postCode},</if>
|
||||
<if test="postName != null and postName != ''">post_name = #{postName},</if>
|
||||
<if test="postSort != null">post_sort = #{postSort},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where post_id = #{postId}
|
||||
</update>
|
||||
|
||||
<insert id="insertPost" parameterType="SysPost" useGeneratedKeys="true" keyProperty="postId">
|
||||
insert into sys_post(
|
||||
<if test="postId != null and postId != 0">post_id,</if>
|
||||
<if test="postCode != null and postCode != ''">post_code,</if>
|
||||
<if test="postName != null and postName != ''">post_name,</if>
|
||||
<if test="postSort != null">post_sort,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="postId != null and postId != 0">#{postId},</if>
|
||||
<if test="postCode != null and postCode != ''">#{postCode},</if>
|
||||
<if test="postName != null and postName != ''">#{postName},</if>
|
||||
<if test="postSort != null">#{postSort},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<delete id="deletePostById" parameterType="Long">
|
||||
delete from sys_post where post_id = #{postId}
|
||||
</delete>
|
||||
|
||||
<delete id="deletePostByIds" parameterType="Long">
|
||||
delete from sys_post where post_id in
|
||||
<foreach collection="array" item="postId" open="(" separator="," close=")">
|
||||
#{postId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?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.SysRoleDeptMapper">
|
||||
|
||||
<resultMap type="SysRoleDept" id="SysRoleDeptResult">
|
||||
<result property="roleId" column="role_id" />
|
||||
<result property="deptId" column="dept_id" />
|
||||
</resultMap>
|
||||
|
||||
<delete id="deleteRoleDeptByRoleId" parameterType="Long">
|
||||
delete from sys_role_dept where role_id=#{roleId}
|
||||
</delete>
|
||||
|
||||
<select id="selectCountRoleDeptByDeptId" resultType="Integer">
|
||||
select count(1) from sys_role_dept where dept_id=#{deptId}
|
||||
</select>
|
||||
|
||||
<delete id="deleteRoleDept" parameterType="Long">
|
||||
delete from sys_role_dept where role_id in
|
||||
<foreach collection="array" item="roleId" open="(" separator="," close=")">
|
||||
#{roleId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="batchRoleDept">
|
||||
insert into sys_role_dept(role_id, dept_id) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
(#{item.roleId},#{item.deptId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
152
ruoyi-system/target/classes/mapper/system/SysRoleMapper.xml
Normal file
152
ruoyi-system/target/classes/mapper/system/SysRoleMapper.xml
Normal file
@@ -0,0 +1,152 @@
|
||||
<?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.SysRoleMapper">
|
||||
|
||||
<resultMap type="SysRole" id="SysRoleResult">
|
||||
<id property="roleId" column="role_id" />
|
||||
<result property="roleName" column="role_name" />
|
||||
<result property="roleKey" column="role_key" />
|
||||
<result property="roleSort" column="role_sort" />
|
||||
<result property="dataScope" column="data_scope" />
|
||||
<result property="menuCheckStrictly" column="menu_check_strictly" />
|
||||
<result property="deptCheckStrictly" column="dept_check_strictly" />
|
||||
<result property="status" column="status" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<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="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectRoleVo">
|
||||
select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly,
|
||||
r.status, r.del_flag, r.create_time, r.remark
|
||||
from sys_role r
|
||||
left join sys_user_role ur on ur.role_id = r.role_id
|
||||
left join sys_user u on u.user_id = ur.user_id
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
</sql>
|
||||
|
||||
<select id="selectRoleList" parameterType="SysRole" resultMap="SysRoleResult">
|
||||
<include refid="selectRoleVo"/>
|
||||
where r.del_flag = '0'
|
||||
<if test="roleId != null and roleId != 0">
|
||||
AND r.role_id = #{roleId}
|
||||
</if>
|
||||
<if test="roleName != null and roleName != ''">
|
||||
AND r.role_name like concat('%', #{roleName}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND r.status = #{status}
|
||||
</if>
|
||||
<if test="roleKey != null and roleKey != ''">
|
||||
AND r.role_key like concat('%', #{roleKey}, '%')
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(r.create_time,'%Y%m%d') >= date_format(#{params.beginTime},'%Y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(r.create_time,'%Y%m%d') <= date_format(#{params.endTime},'%Y%m%d')
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
order by r.role_sort
|
||||
</select>
|
||||
|
||||
<select id="selectRolePermissionByUserId" parameterType="Long" resultMap="SysRoleResult">
|
||||
<include refid="selectRoleVo"/>
|
||||
WHERE r.del_flag = '0' and ur.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectRoleAll" resultMap="SysRoleResult">
|
||||
<include refid="selectRoleVo"/>
|
||||
</select>
|
||||
|
||||
<select id="selectRoleListByUserId" parameterType="Long" resultType="Long">
|
||||
select r.role_id
|
||||
from sys_role r
|
||||
left join sys_user_role ur on ur.role_id = r.role_id
|
||||
left join sys_user u on u.user_id = ur.user_id
|
||||
where u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectRoleById" parameterType="Long" resultMap="SysRoleResult">
|
||||
<include refid="selectRoleVo"/>
|
||||
where r.role_id = #{roleId}
|
||||
</select>
|
||||
|
||||
<select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult">
|
||||
<include refid="selectRoleVo"/>
|
||||
WHERE r.del_flag = '0' and u.user_name = #{userName}
|
||||
</select>
|
||||
|
||||
<select id="checkRoleNameUnique" parameterType="String" resultMap="SysRoleResult">
|
||||
<include refid="selectRoleVo"/>
|
||||
where r.role_name=#{roleName} and r.del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<select id="checkRoleKeyUnique" parameterType="String" resultMap="SysRoleResult">
|
||||
<include refid="selectRoleVo"/>
|
||||
where r.role_key=#{roleKey} and r.del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId">
|
||||
insert into sys_role(
|
||||
<if test="roleId != null and roleId != 0">role_id,</if>
|
||||
<if test="roleName != null and roleName != ''">role_name,</if>
|
||||
<if test="roleKey != null and roleKey != ''">role_key,</if>
|
||||
<if test="roleSort != null">role_sort,</if>
|
||||
<if test="dataScope != null and dataScope != ''">data_scope,</if>
|
||||
<if test="menuCheckStrictly != null">menu_check_strictly,</if>
|
||||
<if test="deptCheckStrictly != null">dept_check_strictly,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="roleId != null and roleId != 0">#{roleId},</if>
|
||||
<if test="roleName != null and roleName != ''">#{roleName},</if>
|
||||
<if test="roleKey != null and roleKey != ''">#{roleKey},</if>
|
||||
<if test="roleSort != null">#{roleSort},</if>
|
||||
<if test="dataScope != null and dataScope != ''">#{dataScope},</if>
|
||||
<if test="menuCheckStrictly != null">#{menuCheckStrictly},</if>
|
||||
<if test="deptCheckStrictly != null">#{deptCheckStrictly},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateRole" parameterType="SysRole">
|
||||
update sys_role
|
||||
<set>
|
||||
<if test="roleName != null and roleName != ''">role_name = #{roleName},</if>
|
||||
<if test="roleKey != null and roleKey != ''">role_key = #{roleKey},</if>
|
||||
<if test="roleSort != null">role_sort = #{roleSort},</if>
|
||||
<if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if>
|
||||
<if test="menuCheckStrictly != null">menu_check_strictly = #{menuCheckStrictly},</if>
|
||||
<if test="deptCheckStrictly != null">dept_check_strictly = #{deptCheckStrictly},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where role_id = #{roleId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteRoleById" parameterType="Long">
|
||||
update sys_role set del_flag = '2' where role_id = #{roleId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteRoleByIds" parameterType="Long">
|
||||
update sys_role set del_flag = '2' where role_id in
|
||||
<foreach collection="array" item="roleId" open="(" separator="," close=")">
|
||||
#{roleId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?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.SysRoleMenuMapper">
|
||||
|
||||
<resultMap type="SysRoleMenu" id="SysRoleMenuResult">
|
||||
<result property="roleId" column="role_id" />
|
||||
<result property="menuId" column="menu_id" />
|
||||
</resultMap>
|
||||
|
||||
<select id="checkMenuExistRole" resultType="Integer">
|
||||
select count(1) from sys_role_menu where menu_id = #{menuId}
|
||||
</select>
|
||||
|
||||
<delete id="deleteRoleMenuByRoleId" parameterType="Long">
|
||||
delete from sys_role_menu where role_id=#{roleId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteRoleMenu" parameterType="Long">
|
||||
delete from sys_role_menu where role_id in
|
||||
<foreach collection="array" item="roleId" open="(" separator="," close=")">
|
||||
#{roleId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="batchRoleMenu">
|
||||
insert into sys_role_menu(role_id, menu_id) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
(#{item.roleId},#{item.menuId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
223
ruoyi-system/target/classes/mapper/system/SysUserMapper.xml
Normal file
223
ruoyi-system/target/classes/mapper/system/SysUserMapper.xml
Normal file
@@ -0,0 +1,223 @@
|
||||
<?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.SysUserMapper">
|
||||
|
||||
<resultMap type="SysUser" id="SysUserResult">
|
||||
<id property="userId" column="user_id" />
|
||||
<result property="deptId" column="dept_id" />
|
||||
<result property="userName" column="user_name" />
|
||||
<result property="nickName" column="nick_name" />
|
||||
<result property="email" column="email" />
|
||||
<result property="phonenumber" column="phonenumber" />
|
||||
<result property="sex" column="sex" />
|
||||
<result property="avatar" column="avatar" />
|
||||
<result property="password" column="password" />
|
||||
<result property="status" column="status" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="loginIp" column="login_ip" />
|
||||
<result property="loginDate" column="login_date" />
|
||||
<result property="pwdUpdateDate" column="pwd_update_date" />
|
||||
<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="remark" column="remark" />
|
||||
<association property="dept" javaType="SysDept" resultMap="deptResult" />
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="deptResult" type="SysDept">
|
||||
<id property="deptId" column="dept_id" />
|
||||
<result property="parentId" column="parent_id" />
|
||||
<result property="deptName" column="dept_name" />
|
||||
<result property="ancestors" column="ancestors" />
|
||||
<result property="orderNum" column="order_num" />
|
||||
<result property="leader" column="leader" />
|
||||
<result property="status" column="dept_status" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="RoleResult" type="SysRole">
|
||||
<id property="roleId" column="role_id" />
|
||||
<result property="roleName" column="role_name" />
|
||||
<result property="roleKey" column="role_key" />
|
||||
<result property="roleSort" column="role_sort" />
|
||||
<result property="dataScope" column="data_scope" />
|
||||
<result property="status" column="role_status" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.pwd_update_date, u.create_by, u.create_time, u.remark,
|
||||
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
|
||||
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
</sql>
|
||||
|
||||
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
where u.del_flag = '0'
|
||||
<if test="userId != null and userId != 0">
|
||||
AND u.user_id = #{userId}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
AND u.user_name like concat('%', #{userName}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND u.status = #{status}
|
||||
</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">
|
||||
AND u.phonenumber like concat('%', #{phonenumber}, '%')
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
AND date_format(u.create_time,'%Y%m%d') >= date_format(#{params.beginTime},'%Y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
AND date_format(u.create_time,'%Y%m%d') <= date_format(#{params.endTime},'%Y%m%d')
|
||||
</if>
|
||||
<if test="deptId != null and deptId != 0">
|
||||
AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
</select>
|
||||
|
||||
<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
where u.del_flag = '0' and r.role_id = #{roleId}
|
||||
<if test="userName != null and userName != ''">
|
||||
AND u.user_name like concat('%', #{userName}, '%')
|
||||
</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">
|
||||
AND u.phonenumber like concat('%', #{phonenumber}, '%')
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
</select>
|
||||
|
||||
<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
|
||||
and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId})
|
||||
<if test="userName != null and userName != ''">
|
||||
AND u.user_name like concat('%', #{userName}, '%')
|
||||
</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">
|
||||
AND u.phonenumber like concat('%', #{phonenumber}, '%')
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
</select>
|
||||
|
||||
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_name = #{userName} and u.del_flag = '0'
|
||||
</select>
|
||||
|
||||
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
|
||||
insert into sys_user(
|
||||
<if test="userId != null and userId != 0">user_id,</if>
|
||||
<if test="deptId != null and deptId != 0">dept_id,</if>
|
||||
<if test="userName != null and userName != ''">user_name,</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name,</if>
|
||||
<if test="email != null and email != ''">email,</if>
|
||||
<if test="avatar != null and avatar != ''">avatar,</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
|
||||
<if test="sex != null and sex != ''">sex,</if>
|
||||
<if test="password != null and password != ''">password,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="pwdUpdateDate != null">pwd_update_date,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="userId != null and userId != ''">#{userId},</if>
|
||||
<if test="deptId != null and deptId != ''">#{deptId},</if>
|
||||
<if test="userName != null and userName != ''">#{userName},</if>
|
||||
<if test="nickName != null and nickName != ''">#{nickName},</if>
|
||||
<if test="email != null and email != ''">#{email},</if>
|
||||
<if test="avatar != null and avatar != ''">#{avatar},</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
|
||||
<if test="sex != null and sex != ''">#{sex},</if>
|
||||
<if test="password != null and password != ''">#{password},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="pwdUpdateDate != null">#{pwdUpdateDate},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateUser" parameterType="SysUser">
|
||||
update sys_user
|
||||
<set>
|
||||
<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
|
||||
<if test="email != null ">email = #{email},</if>
|
||||
<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
|
||||
<if test="sex != null and sex != ''">sex = #{sex},</if>
|
||||
<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
|
||||
<if test="password != null and password != ''">password = #{password},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
|
||||
<if test="loginDate != null">login_date = #{loginDate},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where user_id = #{userId}
|
||||
</update>
|
||||
|
||||
<update id="updateUserStatus" parameterType="SysUser">
|
||||
update sys_user set status = #{status} where user_id = #{userId}
|
||||
</update>
|
||||
|
||||
<update id="updateUserAvatar" parameterType="SysUser">
|
||||
update sys_user set avatar = #{avatar} where user_id = #{userId}
|
||||
</update>
|
||||
|
||||
<update id="resetUserPwd" parameterType="SysUser">
|
||||
update sys_user set pwd_update_date = sysdate(), password = #{password} where user_id = #{userId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteUserById" parameterType="Long">
|
||||
update sys_user set del_flag = '2' where user_id = #{userId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteUserByIds" parameterType="Long">
|
||||
update sys_user set del_flag = '2' where user_id in
|
||||
<foreach collection="array" item="userId" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?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.SysUserPostMapper">
|
||||
|
||||
<resultMap type="SysUserPost" id="SysUserPostResult">
|
||||
<result property="userId" column="user_id" />
|
||||
<result property="postId" column="post_id" />
|
||||
</resultMap>
|
||||
|
||||
<delete id="deleteUserPostByUserId" parameterType="Long">
|
||||
delete from sys_user_post where user_id=#{userId}
|
||||
</delete>
|
||||
|
||||
<select id="countUserPostById" resultType="Integer">
|
||||
select count(1) from sys_user_post where post_id=#{postId}
|
||||
</select>
|
||||
|
||||
<delete id="deleteUserPost" parameterType="Long">
|
||||
delete from sys_user_post where user_id in
|
||||
<foreach collection="array" item="userId" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="batchUserPost">
|
||||
insert into sys_user_post(user_id, post_id) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
(#{item.userId},#{item.postId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,44 @@
|
||||
<?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.SysUserRoleMapper">
|
||||
|
||||
<resultMap type="SysUserRole" id="SysUserRoleResult">
|
||||
<result property="userId" column="user_id" />
|
||||
<result property="roleId" column="role_id" />
|
||||
</resultMap>
|
||||
|
||||
<delete id="deleteUserRoleByUserId" parameterType="Long">
|
||||
delete from sys_user_role where user_id=#{userId}
|
||||
</delete>
|
||||
|
||||
<select id="countUserRoleByRoleId" resultType="Integer">
|
||||
select count(1) from sys_user_role where role_id=#{roleId}
|
||||
</select>
|
||||
|
||||
<delete id="deleteUserRole" parameterType="Long">
|
||||
delete from sys_user_role where user_id in
|
||||
<foreach collection="array" item="userId" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="batchUserRole">
|
||||
insert into sys_user_role(user_id, role_id) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
(#{item.userId},#{item.roleId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<delete id="deleteUserRoleInfo" parameterType="SysUserRole">
|
||||
delete from sys_user_role where user_id=#{userId} and role_id=#{roleId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteUserRoleInfos">
|
||||
delete from sys_user_role where role_id=#{roleId} and user_id in
|
||||
<foreach collection="userIds" item="userId" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user