<?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">
|
<!--namespace对应mapper接口所在的位置-->
|
<mapper namespace="com.dy.pipIrrGlobal.daoBa.BaUserMapper">
|
|
<resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
|
<!--@mbg.generated-->
|
<!--@Table ba_user-->
|
<id property="id" column="id" />
|
<result property="blockId" column="blockId"/>
|
<result property="userName" column="name"/>
|
<result property="phone" column="phone"/>
|
<result property="password" column="password"/>
|
<result property="orgTag" column="orgTag"/>
|
<result property="supperAdmin" column="supperAdmin"/>
|
<result property="disabled" column="disabled" typeHandler="com.dy.common.mybatis.envm.EnumCodeTypeHandler"
|
javaType="com.dy.common.mybatis.envm.Disabled"/>
|
<result property="deleted" column="deleted" typeHandler="com.dy.common.mybatis.envm.EnumCodeTypeHandler"
|
javaType="com.dy.common.mybatis.envm.Deleted"/>
|
</resultMap>
|
|
<resultMap id="partResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
|
<!--@mbg.generated-->
|
<!--@Table ba_user-->
|
<id property="id" column="id" />
|
<result property="userName" column="name"/>
|
<result property="phone" column="phone"/>
|
<result property="orgTag" column="orgTag"/>
|
<result property="supperAdmin" column="supperAdmin"/>
|
<result property="disabled" column="disabled" typeHandler="com.dy.common.mybatis.envm.EnumCodeTypeHandler" javaType="com.dy.common.mybatis.envm.Disabled"/>
|
</resultMap>
|
|
<resultMap id="loginResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
|
<id property="id" column="id" />
|
<result property="blockId" column="blockId"/>
|
<result property="userName" column="name"/>
|
<result property="phone" column="phone"/>
|
<result property="orgTag" column="orgTag"/>
|
<result property="supperAdmin" column="supperAdmin"/>
|
</resultMap>
|
|
<resultMap id="someResultMap" extends="partResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
|
<collection property="roleList" fetchType="eager" column="{userId=id}" select="com.dy.pipIrrGlobal.daoBa.BaRoleMapper.selectByUserId" />
|
</resultMap>
|
|
<sql id="Base_Column_List">
|
id, blockId, name, phone, password, orgTag, supperAdmin, disabled, deleted
|
</sql>
|
|
<sql id="part_Column_List">
|
#{alias}.id, #{alias}.name, #{alias}.phone, #{alias}.disabled
|
</sql>
|
|
<sql id="Login_Column_List">
|
id, blockId, name, phone, orgTag, supperAdmin
|
</sql>
|
|
<select id="login" resultMap="loginResultMap" >
|
select
|
<include refid="Login_Column_List" />
|
from ba_user
|
where disabled!=1 and deleted!=1 and phone=#{phone} and password=#{password}
|
</select>
|
|
<select id="selectTotal" parameterType="java.util.Map" resultType="java.lang.Long">
|
select
|
count(*)
|
from ba_user
|
where supperAdmin!=1 and deleted!=1
|
<trim prefix="and" suffixOverrides="and">
|
<if test="name != null and name != ''">
|
name like concat('%', #{name}, '%') and
|
</if>
|
<if test="phone != null and phone !=''">
|
phone = #{phone,jdbcType=VARCHAR}
|
</if>
|
</trim>
|
</select>
|
<select id="selectSome" parameterType="java.util.Map" resultMap="someResultMap">
|
select
|
<include refid="part_Column_List" >
|
<property name="alias" value="bu"/>
|
</include>,
|
bb.`name` blockName
|
from ba_user bu
|
left join ba_block bb on bu.blockId = bb.id
|
where bu.supperAdmin!=1 and bu.deleted!=1
|
<trim prefix="and" suffixOverrides="and">
|
<if test="name != null and name != ''">
|
bu.name like concat('%', #{name}, '%') and
|
</if>
|
<if test="phone != null and phone !=''">
|
bu.phone = #{phone,jdbcType=VARCHAR}
|
</if>
|
</trim>
|
order by id DESC
|
<trim prefix="limit " >
|
<if test="start != null and count != null">
|
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
|
</if>
|
</trim>
|
</select>
|
<insert id="putin" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
|
<!-- insert into ba_user (<include refid="Base_Column_List" />)-->
|
insert into ba_user(id, blockId, name, phone, password, orgTag, supperAdmin, disabled, deleted)
|
values (#{id,jdbcType=BIGINT},
|
#{blockId,jdbcType=BIGINT},
|
#{userName,jdbcType=VARCHAR},
|
#{phone,jdbcType=VARCHAR},
|
#{password,jdbcType=VARCHAR},
|
#{orgTag,jdbcType=VARCHAR},
|
#{supperAdmin,jdbcType=TINYINT},
|
#{disabled,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
|
#{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT}
|
)
|
</insert>
|
<insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
|
insert into ba_user
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null">
|
id,
|
</if>
|
<if test="blockId != null">
|
blockId,
|
</if>
|
<if test="userName != null">
|
`name`,
|
</if>
|
<if test="phone != null">
|
phone,
|
</if>
|
<if test="password != null">
|
password,
|
</if>
|
<if test="orgTag != null">
|
orgTag,
|
</if>
|
<if test="supperAdmin != null">
|
supperAdmin,
|
</if>
|
<if test="disabled != null">
|
disabled,
|
</if>
|
<if test="deleted != null">
|
deleted,
|
</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="id != null">
|
#{id,jdbcType=BIGINT},
|
</if>
|
<if test="blockId != null">
|
#{blockId,jdbcType=BIGINT},
|
</if>
|
<if test="userName != null">
|
#{userName,jdbcType=VARCHAR},
|
</if>
|
<if test="phone != null">
|
#{phone,jdbcType=VARCHAR},
|
</if>
|
<if test="password != null">
|
#{password,jdbcType=VARCHAR},
|
</if>
|
<if test="orgTag != null">
|
#{orgTag,jdbcType=VARCHAR},
|
</if>
|
<if test="supperAdmin != null">
|
#{supperAdmin,jdbcType=TINYINT},
|
</if>
|
<if test="disabled != null">
|
#{disabled,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
|
</if>
|
<if test="deleted != null">
|
#{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
|
</if>
|
</trim>
|
</insert>
|
|
<update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
|
update ba_user
|
<set>
|
<if test="blockId != null">
|
blockId = #{blockId,jdbcType=BIGINT},
|
</if>
|
<if test="userName != null">
|
`name` = #{userName,jdbcType=VARCHAR},
|
</if>
|
<if test="phone != null">
|
phone = #{phone,jdbcType=VARCHAR},
|
</if>
|
<if test="password != null">
|
password = #{password,jdbcType=VARCHAR},
|
</if>
|
<if test="disabled != null">
|
disabled = #{disabled,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
|
</if>
|
<if test="deleted != null">
|
deleted = #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
|
</if>
|
</set>
|
where id = #{id, jdbcType=BIGINT}
|
</update>
|
<update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
|
update ba_user
|
set blockId = #{blockId,jdbcType=BIGINT},
|
`name` = #{userName,jdbcType=VARCHAR},
|
phone = #{phone,jdbcType=VARCHAR},
|
password = #{password,jdbcType=VARCHAR},
|
disabled = #{disabled,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
|
deleted = #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT}
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
<update id="changePassword" >
|
update ba_user
|
set password = #{password,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
|
delete from ba_user
|
where id = #{id,jdbcType=BIGINT}
|
</delete>
|
<delete id="deleteLogicById" parameterType="java.lang.Long">
|
update ba_user set deleted = 1
|
where id = #{id,jdbcType=BIGINT}
|
</delete>
|
|
<!--根据用户编号获取用户信息-->
|
<!--2024-01-09 废弃-->
|
<select id="getUserInfos" resultType="com.dy.pipIrrGlobal.voBa.VoUserInfo">
|
SELECT
|
user.id AS userId,
|
user.`name` AS userName,
|
rol.id AS roleId,
|
rol.`name` AS roleName,
|
per.permissions
|
FROM ba_user user
|
INNER JOIN ba_user_role use_rol ON user.id = use_rol.userId
|
INNER JOIN ba_role rol ON rol.id = use_rol.roleId
|
INNER JOIN ba_role_permissions per ON per.roleId = rol.id
|
<where>
|
<if test = "userId != null and userId > 0">
|
AND user.id = #{userId}
|
</if>
|
</where>
|
</select>
|
|
<!--根据用户编号获取用户信息-->
|
<select id="getUserInfoById" resultType="java.util.Map">
|
SELECT
|
us.id AS userId,
|
us.name AS userName,
|
us.phone,
|
IFNULL(us.blockId, 0) AS blockId,
|
IFNULL(blo.name, 0) AS blockName
|
FROM ba_user us
|
LEFT JOIN ba_block blo ON us.blockId = blo.id
|
<where>
|
AND us.disabled = 0
|
AND us.deleted = 0
|
<if test = "userId != null and userId > 0">
|
AND us.id = #{userId}
|
</if>
|
</where>
|
</select>
|
|
<!--根据指定的条件获取用户记录数-->
|
<select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
|
SELECT
|
COUNT(*) AS recordCount
|
FROM
|
(
|
SELECT
|
CAST(id AS char) AS id,
|
phone,
|
name AS userName,
|
disabled AS stateId,
|
(CASE
|
WHEN disabled = 0 THEN '正常'
|
WHEN disabled = 1 THEN '已禁用'
|
END) AS stateName,
|
CAST(blockId AS char) AS blockId,
|
(SELECT name FROM ba_block WHERE id = user.blockId) AS blockName
|
FROM ba_user user
|
LEFT JOIN ba_user_role usro ON usro.userId = user.id
|
<where>
|
AND user.supperAdmin != 1
|
AND user.deleted = 0
|
|
<if test = "userName != null and userName !=''">
|
AND user.name like CONCAT('%',#{userName},'%')
|
</if>
|
|
<if test = "phone != null and phone !=''">
|
AND user.phone like CONCAT('%',#{phone},'%')
|
</if>
|
|
<if test = "roleId != null and roleId > 0">
|
AND usro.roleId = #{roleId}
|
</if>
|
</where>
|
GROUP BY user.id) c
|
</select>
|
|
<!--根据指定条件获取用户列表-->
|
<select id="getUsers" resultType="com.dy.pipIrrGlobal.voBa.VoUserInfo">
|
SELECT
|
CAST(id AS char) AS id,
|
phone,
|
name AS userName,
|
disabled AS stateId,
|
(CASE
|
WHEN disabled = 0 THEN '正常'
|
WHEN disabled = 1 THEN '已禁用'
|
END) AS stateName,
|
CAST(blockId AS char) AS blockId,
|
(SELECT name FROM ba_block WHERE id = user.blockId) AS blockName
|
FROM ba_user user
|
LEFT JOIN ba_user_role usro ON usro.userId = user.id
|
<where>
|
AND user.supperAdmin != 1
|
AND user.deleted = 0
|
|
<if test = "userName != null and userName !=''">
|
AND user.name like CONCAT('%',#{userName},'%')
|
</if>
|
|
<if test = "phone != null and phone !=''">
|
AND user.phone like CONCAT('%',#{phone},'%')
|
</if>
|
|
<if test = "roleId != null and roleId > 0">
|
AND usro.roleId = #{roleId}
|
</if>
|
</where>
|
GROUP BY user.id
|
ORDER BY user.id DESC
|
<trim prefix="limit " >
|
<if test="start != null and count != null">
|
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
|
</if>
|
</trim>
|
</select>
|
|
<!--根据用户编号获取角色ID列表-->
|
<select id="getRoleIdsByUserId" resultType="java.util.HashMap">
|
SELECT
|
roleId
|
FROM ba_user_role
|
WHERE userId = #{userId}
|
</select>
|
|
<select id="getRoleNamesByUserId" resultType="java.util.HashMap">
|
SELECT
|
ro.name AS roleName
|
FROM ba_user_role usro
|
INNER JOIN ba_role ro ON usro.roleId = ro.id
|
WHERE userId = #{userId}
|
|
</select>
|
|
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
<!--@mbg.generated-->
|
select
|
<include refid="Base_Column_List" />
|
from ba_user
|
where id = #{id,jdbcType=BIGINT}
|
</select>
|
|
<!--根据指定的条件获取用户记录数-->
|
<select id="countPhone" resultType="java.lang.Long">
|
SELECT
|
COUNT(*) AS recordCount
|
FROM ba_user user
|
<where>
|
user.deleted = 0
|
<if test = "phone != null and phone !=''">
|
AND user.phone= #{phone}
|
</if>
|
</where>
|
</select>
|
|
<select id="getPhones" resultType="java.lang.String">
|
SELECT phone FROM ba_user WHERE deleted = 0 and disabled = 0
|
</select>
|
|
<!--获取简单用户数据列表-->
|
<select id="getSimpleUsers" resultType="com.dy.pipIrrGlobal.voBa.VoSimpleUser">
|
SELECT
|
id AS userId,
|
name AS userName
|
FROM ba_user
|
WHERE disabled = 0 AND deleted = 0
|
</select>
|
|
<!--获取巡检员列表-->
|
<select id="getInspectors" resultType="com.dy.pipIrrGlobal.voBa.VoRoleSimple">
|
SELECT
|
us.id AS inspectorId,
|
us.name AS inspector
|
FROM ba_user us
|
INNER JOIN ba_user_role ur ON ur.userId = us.id
|
INNER JOIN ba_role rol ON rol.id = ur.roleId
|
<where>
|
AND us.disabled = 0
|
AND us.deleted = 0
|
AND rol.`name` = '巡检员'
|
<if test = "inspector != null and inspector !=''">
|
AND us.name LIKE CONCAT('%',#{inspector},'%')
|
</if>
|
</where>
|
</select>
|
</mapper>
|