You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
backend/xymanager_dao/src/main/resources/mappers/SysUserMapperDao.xml

155 lines
5.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.shxy.xymanager_dao.dao.SysUserMapperDao">
<resultMap id="SysUserResult" type="com.shxy.xymanager_common.bean.SysUser">
<id column="uid" property="userId"/>
<result column="name" property="userName"/>
<result column="password" property="password"/>
<result column="status" property="status"/>
<result column="role" property="role"/>
</resultMap>
<resultMap id="BaseResultMap" type="com.shxy.xymanager_common.entity.SysUserSession">
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="session_id" jdbcType="VARCHAR" property="sessionId"/>
<result column="user_name" jdbcType="INTEGER" property="userName"/>
<result column="role" jdbcType="INTEGER" property="role"/>
<result column="expire_time" jdbcType="VARCHAR" property="expireTime"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="selectUserVo">
SELECT
uid,
user_name,
`status`
FROM
sys_users u
</sql>
<select id="selectByUserAccount" resultMap="SysUserResult">
SELECT * FROM sys_users WHERE user_name = #{userName} and status = 1
</select>
<select id="selectPages" resultMap="SysUserResult">
<include refid="selectUserVo"/>
WHERE status = '0'
<if test="params.userName != null and params.userName != ''">
AND user_name like concat('%', #{params.userName}, '%')
</if>
</select>
<select id="checkUserNameUnique" parameterType="String" resultType="java.lang.Integer">
select count(1) from sys_users where user_name = #{userName} and status = 1
</select>
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.user_name = #{userName}
</select>
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.user_id = #{userId}
</select>
<select id="selectBySessionId" resultMap="BaseResultMap">
select
id ,
session_id,
user_name,
role,
expire_time
FROM
sys_user_session u
where session_id = #{sessionid}
</select>
<update id="resetUserPwd">
update sys_users set password = #{password} where user_name = #{userName}
</update>
<insert id="addUser" parameterType="com.shxy.xymanager_common.bean.SysUser">
insert into sys_users(user_name,nick_name,password,role,create_time)
values(#{userName},#{userName},#{password},#{role},#{createTime})
</insert>
<select id="selectUserBySessionId" resultType="com.shxy.xymanager_common.entity.SysUserSession">
select
session_id as sessionId,
user_name as userName,
role,
expire_time as expireTime
from sys_user_session
where session_id = #{sessionId}
</select>
<update id="updateUserSession" parameterType="com.shxy.xymanager_common.entity.SysUserSession">
update `sys_user_session`
<set>
<if test="expireTime!= null">
expire_time = #{expireTime},
</if>
</set>
where session_id = #{sessionId}
</update>
<update id="updateById" parameterType="com.shxy.xymanager_common.bean.SysUser">
update `sys_users`
<set>
<if test="userName!= null">
user_name = #{userName},
</if>
<if test="nickName!= null">
nick_name = #{nickName},
</if>
<if test="password!= null">
password = #{password},
</if>
<if test="role!= null">
role = #{role},
</if>
<if test="status!= null">
status = #{status},
</if>
</set>
where uid = #{userId}
</update>
<update id="deleteUserById" parameterType="java.lang.String">
update `sys_users`
set status = 0
where uid = #{userId}
</update>
<insert id="insertUserSession" parameterType="com.shxy.xymanager_common.entity.SysUserSession">
insert into sys_user_session (session_id, user_name,role,expire_time)
values (#{sessionId,jdbcType=VARCHAR}, #{userName,jdbcType=VARCHAR}, #{role,jdbcType=VARCHAR}, #{expireTime,jdbcType=INTEGER})
</insert>
<select id="selectUserInfoList" resultType="com.shxy.xymanager_common.bean.SysUser">
select
uid as userId,
user_name as userName,
nick_name as nickName,
create_time as createTime,
role
from sys_users
WHERE status = #{status} and role != 0 and role != 3
order by create_time desc
</select>
<insert id="insertOrUpdate">
insert into sys_user_session (session_id,user_name,role,expire_time,create_time,update_time)
values (#{item.sessionId} ,#{item.userName}, #{item.role},#{item.expireTime},#{createat},#{updateat})
ON DUPLICATE KEY UPDATE
user_name = values(user_name),
role = values(role),
session_id = values (session_id),
expire_time = values (expire_time)
</insert>
</mapper>