|  |  | 
 |  |  | <!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"/> | 
 |  |  |         <id property="id" column="id" /> | 
 |  |  |         <result property="blockId" column="blockId"/> | 
 |  |  |         <result property="userName" column="name"/> | 
 |  |  |         <result property="phone" column="phone"/> | 
 |  |  | 
 |  |  |     <resultMap id="partResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         <!--@Table ba_user--> | 
 |  |  |         <id property="id" 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="id" column="id"/> | 
 |  |  |         <id property="id" column="id" /> | 
 |  |  |         <result property="blockId" column="blockId"/> | 
 |  |  |         <result property="userName" column="name"/> | 
 |  |  |         <result property="phone" column="phone"/> | 
 |  |  | 
 |  |  |     </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 id="login" resultMap="loginResultMap" > | 
 |  |  |         select | 
 |  |  |         <include refid="Login_Column_List"/> | 
 |  |  |         <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 != ''"> | 
 |  |  |             <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"> | 
 |  |  |         <include refid="part_Column_List" > | 
 |  |  |             <property name="alias" value="bu"/> | 
 |  |  |         </include> | 
 |  |  |         , | 
 |  |  |             bb.`name` blockName | 
 |  |  |         </include>, | 
 |  |  |         bb.`name` blockName | 
 |  |  |         from ba_user bu | 
 |  |  |                  left join ba_block bb on bu.blockId = bb.id | 
 |  |  |         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 != ''"> | 
 |  |  |             <if test="phone != null and phone !=''"> | 
 |  |  |                 bu.phone = #{phone,jdbcType=VARCHAR} | 
 |  |  |             </if> | 
 |  |  |         </trim> | 
 |  |  |         order by id DESC | 
 |  |  |         <trim prefix="limit "> | 
 |  |  |         <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"/>) | 
 |  |  |     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 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 | 
 |  |  | 
 |  |  |             <if test="blockId != null"> | 
 |  |  |                 blockId, | 
 |  |  |             </if> | 
 |  |  |             <if test="userName != null"> | 
 |  |  |            <if test="userName != null"> | 
 |  |  |                 `name`, | 
 |  |  |             </if> | 
 |  |  |             <if test="phone != null"> | 
 |  |  | 
 |  |  |             <if test="supperAdmin != null"> | 
 |  |  |                 supperAdmin, | 
 |  |  |             </if> | 
 |  |  |             <if test="disabled != null"> | 
 |  |  |                 disabled, | 
 |  |  |            <if test="disabled != null"> | 
 |  |  |                disabled, | 
 |  |  |             </if> | 
 |  |  |             <if test="deleted != null"> | 
 |  |  |            <if test="deleted != null"> | 
 |  |  |                 deleted, | 
 |  |  |             </if> | 
 |  |  |         </trim> | 
 |  |  | 
 |  |  |             <if test="blockId != null"> | 
 |  |  |                 #{blockId,jdbcType=BIGINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="userName != null"> | 
 |  |  |            <if test="userName != null"> | 
 |  |  |                 #{userName,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="phone != null"> | 
 |  |  | 
 |  |  |             <if test="blockId != null"> | 
 |  |  |                 blockId = #{blockId,jdbcType=BIGINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="userName != null"> | 
 |  |  |            <if test="userName != null"> | 
 |  |  |                 `name` = #{userName,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="phone != null"> | 
 |  |  | 
 |  |  |     </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} | 
 |  |  |         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 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 | 
 |  |  |         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, | 
 |  |  |                user.`name` AS userName, | 
 |  |  |                rol.id      AS roleId, | 
 |  |  |                rol.`name`  AS roleName, | 
 |  |  |                per.permissions | 
 |  |  |         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> | 
 |  |  |             <if test="userId != null and userId > 0"> | 
 |  |  |             <if test = "userId != null and userId > 0"> | 
 |  |  |                 AND user.id = ${userId} | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  | 
 |  |  |  | 
 |  |  |     <!--根据用户编号获取用户信息--> | 
 |  |  |     <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 | 
 |  |  |         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 | 
 |  |  |             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.deleted = 0 | 
 |  |  |             <if test = "userId != null and userId > 0"> | 
 |  |  |                 AND us.id = ${userId} | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  | 
 |  |  |  | 
 |  |  |     <!--根据指定的条件获取用户记录数--> | 
 |  |  |     <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--> | 
 |  |  |         <where> | 
 |  |  |             AND user.supperAdmin != 1 | 
 |  |  |                 AND user.deleted = 0 | 
 |  |  |             AND user.deleted = 0 | 
 |  |  |  | 
 |  |  |             <if test="userName != null and userName != ''"> | 
 |  |  |                 AND user.name like CONCAT('%' | 
 |  |  |                   , #{userName} | 
 |  |  |                   , '%') | 
 |  |  |             <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 test = "phone != null and phone !=''"> | 
 |  |  |                 AND user.phone like CONCAT('%',#{phone},'%') | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |             <if test="roleId != null and roleId > 0"> | 
 |  |  |             <if test = "roleId != null and roleId > 0"> | 
 |  |  |                 AND usro.roleId = ${roleId} | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  | 
 |  |  |  | 
 |  |  |     <!--根据指定条件获取用户列表--> | 
 |  |  |     <select id="getUsers" resultType="com.dy.pipIrrGlobal.voBa.VoUserInfo"> | 
 |  |  |         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(user.blockId AS char)                          AS blockId, | 
 |  |  |                (SELECT name FROM ba_block WHERE id = user.blockId) AS blockName | 
 |  |  |         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 | 
 |  |  | <!--            INNER JOIN ba_user_role usro ON usro.userId = user.id--> | 
 |  |  |         <where> | 
 |  |  |             AND user.supperAdmin != 1 | 
 |  |  |                 AND user.deleted = 0 | 
 |  |  |             AND user.deleted = 0 | 
 |  |  |  | 
 |  |  |             <if test="userName != null and userName != ''"> | 
 |  |  |                 AND user.name like CONCAT('%', #{userName}, '%') | 
 |  |  |             <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 test = "phone != null and phone !=''"> | 
 |  |  |                 AND user.phone like CONCAT('%',#{phone},'%') | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |             <if test="roleId != null and roleId > 0"> | 
 |  |  |             <if test = "roleId != null and roleId > 0"> | 
 |  |  |                 AND usro.roleId = ${roleId} | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |         ORDER BY user.id DESC | 
 |  |  |         <trim prefix="limit "> | 
 |  |  |         <trim prefix="limit " > | 
 |  |  |             <if test="start != null and count != null"> | 
 |  |  |                 #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} | 
 |  |  |             </if> | 
 |  |  | 
 |  |  |  | 
 |  |  |     <!--根据用户编号获取角色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 id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         select | 
 |  |  |         <include refid="Base_Column_List"/> | 
 |  |  |         <include refid="Base_Column_List" /> | 
 |  |  |         from ba_user | 
 |  |  |         where id = #{id,jdbcType=BIGINT} | 
 |  |  |     </select> |