pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
@@ -2,34 +2,36 @@
<!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="userId" column="id" />
        <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"/>
        <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="userId" column="id" />
        <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"/>
        <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="userId" column="id" />
        <id property="id" column="id"/>
        <result property="blockId" column="blockId"/>
        <result property="userName" column="name"/>
        <result property="phone" column="phone"/>
@@ -38,36 +40,56 @@
    </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" />
        <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
        id,
        blockId,
        name,
        phone,
        password,
        orgTag,
        supperAdmin,
        disabled,
        deleted
    </sql>
    <sql id="part_Column_List">
        ${alias}.id, ${alias}.name, ${alias}.phone, ${alias}.disabled
        ${alias}.id,
        ${alias}.name,
        ${alias}.phone,
        ${alias}.disabled
    </sql>
    <sql id="Login_Column_List">
        id, blockId, name, phone, orgTag, supperAdmin
        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}
        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(*)
        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
                name like concat('%', #{name}
                    , '%')
                  and
            </if>
            <if test="phone != null and phone !=''">
                phone = #{phone,jdbcType=VARCHAR}
@@ -78,14 +100,18 @@
        select
        <include refid="part_Column_List" >
            <property name="alias" value="bu"/>
        </include>,
        </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
                bu.name like concat('%', #{name}
                    , '%')
                  and
            </if>
            <if test="phone != null and phone !=''">
                bu.phone = #{phone,jdbcType=VARCHAR}
@@ -100,7 +126,7 @@
    </select>
    <insert id="putin" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
        insert into ba_user (<include refid="Base_Column_List" />)
        values (#{userId,jdbcType=BIGINT},
    values (#{id,jdbcType=BIGINT},
        #{blockId,jdbcType=BIGINT},
        #{userName,jdbcType=VARCHAR},
        #{phone,jdbcType=VARCHAR},
@@ -108,13 +134,12 @@
        #{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}
        )
            #{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="userId != null">
            <if test="id != null">
                id,
            </if>
            <if test="blockId != null">
@@ -143,8 +168,8 @@
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="userId != null">
                #{userId,jdbcType=BIGINT},
            <if test="id != null">
                #{id,jdbcType=BIGINT},
            </if>
            <if test="blockId != null">
                #{blockId,jdbcType=BIGINT},
@@ -195,7 +220,7 @@
                deleted = #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
            </if>
        </set>
        where id = #{userId, jdbcType=BIGINT}
        where id = #{id, jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser">
        update ba_user
@@ -205,7 +230,7 @@
        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 = #{userId,jdbcType=BIGINT}
        where id = #{id,jdbcType=BIGINT}
    </update>
    <update id="changePassword" >
        update ba_user
@@ -214,25 +239,27 @@
    </update>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
        delete from ba_user
        delete
        from ba_user
        where id = #{id,jdbcType=BIGINT}
    </delete>
    <delete id="deleteLogicById" parameterType="java.lang.Long">
        update ba_user set deleted = 1
        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,
        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_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>
@@ -244,8 +271,7 @@
    <!--根据用户编号获取用户信息-->
    <select id="getUserInfoById" resultType="java.util.Map">
        SELECT
            us.id AS userId,
        SELECT us.id                 AS userId,
            us.name AS userName,
            us.phone,
            IFNULL(us.blockId, 0) AS blockId,
@@ -263,20 +289,23 @@
    <!--根据指定的条件获取用户记录数-->
    <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
        SELECT
            COUNT(*) AS recordCount
        SELECT COUNT(*) AS recordCount
        FROM ba_user user
            INNER JOIN ba_user_role usro ON usro.userId = user.id
<!--            INNER 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},'%')
                AND user.name like CONCAT('%'
                  , #{userName}
                  , '%')
            </if>
            <if test = "phone != null and phone !=''">
                AND user.phone like CONCAT('%',#{phone},'%')
                AND user.phone like CONCAT('%'
                  , #{phone}
                  , '%')
            </if>
            <if test = "roleId != null and roleId > 0">
@@ -287,19 +316,18 @@
    <!--根据指定条件获取用户列表-->
    <select id="getUsers" resultType="com.dy.pipIrrGlobal.voBa.VoUserInfo">
        SELECT
            CAST(id AS char) AS userId,
            phone,
            name AS userName,
            disabled AS stateId,
        SELECT CAST(user.id AS char)                               AS userId,
               user.phone,
               user.name                                           AS userName,
               user.disabled                                       AS stateId,
            (CASE
                 WHEN disabled = 0 THEN "正常"
                 WHEN disabled = 1 THEN "已禁用"
                END) AS stateName,
            CAST(blockId AS char) AS blockId,
               CAST(user.blockId AS char)                          AS blockId,
            (SELECT name FROM ba_block WHERE id = user.blockId) AS blockName
        FROM ba_user user
            INNER JOIN ba_user_role usro ON usro.userId = user.id
<!--            INNER JOIN ba_user_role usro ON usro.userId = user.id-->
        <where>
            AND user.supperAdmin != 1
            AND user.deleted = 0
@@ -326,18 +354,22 @@
    <!--根据用户编号获取角色ID列表-->
    <select id="getRoleIdsByUserId" resultType="java.util.HashMap">
        SELECT
            roleId
        SELECT roleId
        FROM ba_user_role
        WHERE userId = ${userId}
    </select>
    <select id="getRoleNamesByUserId" resultType="java.util.HashMap">
        SELECT
            ro.name AS roleName
        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="selectById" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from ba_user
        where id = #{id,jdbcType=BIGINT}
    </select>
</mapper>