Initial commit
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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