| <?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.dy.pmsGlobal.daoBa.BaUserMapper"> | 
|   <resultMap id="BaseResultMap" type="com.dy.pmsGlobal.pojoBa.BaUser"> | 
|     <!--@mbg.generated--> | 
|     <!--@Table ba_user--> | 
|     <id column="id" property="id" /> | 
|     <result column="name" property="name" /> | 
|     <result column="phone" property="phone" /> | 
|     <result column="password" property="password" /> | 
|     <result column="supper_admin" property="supperAdmin" /> | 
|     <result column="disabled" property="disabled" typeHandler="com.dy.common.mybatis.BooleanTypeHandler" /> | 
|     <result column="deleted" property="deleted" typeHandler="com.dy.common.mybatis.BooleanTypeHandler" /> | 
|     <result column="create_dt" property="dt" /> | 
|   </resultMap> | 
|   <resultMap id="partResultMap" type="com.dy.pmsGlobal.pojoBa.BaUser"> | 
|     <!--@mbg.generated--> | 
|     <!--@Table ba_user--> | 
|     <id property="id" column="id" /> | 
|     <result property="name" column="name"/> | 
|     <result property="phone" column="phone"/> | 
|     <result property="password" column="password"/> | 
|     <result property="disabled" column="disabled" typeHandler="com.dy.common.mybatis.BooleanTypeHandler" /> | 
|     <result column="create_dt" property="dt" /> | 
|   </resultMap> | 
|   <resultMap id="oneResultMap" type="com.dy.pmsGlobal.pojoBa.BaUser" extends="BaseResultMap"> | 
|     <collection property="roles" fetchType="eager" column="{userId=id}" select="com.dy.pmsGlobal.daoBa.BaRoleMapper.selectByUserId" /> | 
|   </resultMap> | 
|   <resultMap id="loginResultMap" type="com.dy.pmsGlobal.pojoBa.BaUser"> | 
|     <id property="id" column="id" /> | 
|     <result property="name" column="name"/> | 
|     <result property="phone" column="phone"/> | 
|     <result property="supperAdmin" column="supper_admin"/> | 
|   </resultMap> | 
|   <resultMap id="someResultMap" extends="partResultMap" type="com.dy.pmsGlobal.pojoBa.BaUser"> | 
|     <collection property="roles" fetchType="eager" column="{userId=id}" select="com.dy.pmsGlobal.daoBa.BaRoleMapper.selectByUserId" /> | 
|   </resultMap> | 
|   | 
|   <sql id="Base_Column_List"> | 
|     <!--@mbg.generated--> | 
|     id, `name`, phone, `password`, supper_admin, disabled, deleted, create_dt | 
|   </sql> | 
|   <sql id="part_Column_List"> | 
|     ${alias}.id, ${alias}.name, ${alias}.phone, ${alias}.password, ${alias}.disabled,${alias}.create_dt | 
|   </sql> | 
|   <sql id="Login_Column_List"> | 
|     id, name, phone, supper_admin | 
|   </sql> | 
|   | 
|   <select id="selectNameByUserId" parameterType="java.lang.Long" resultType="java.lang.String"> | 
|     select name from ba_user where id=#{id} | 
|   </select> | 
|   | 
|   <select id="selectNameById" parameterType="java.lang.Long" resultType="java.lang.String"> | 
|     select name from ba_user where id=#{id} | 
|   </select> | 
|   | 
|   <select id="selectByAssistants" resultMap="BaseResultMap"> | 
|     SELECT | 
|     * | 
|     FROM | 
|     ba_user | 
|     WHERE | 
|     id IN ( | 
|     SELECT | 
|     SUBSTRING_INDEX( SUBSTRING_INDEX( #{assistants,jdbcType=VARCHAR}, ',', help_topic_id + 1 ), ',',- 1 ) AS num | 
|     FROM | 
|     mysql.help_topic | 
|     WHERE | 
|     help_topic_id <![CDATA[ < ]]> LENGTH( #{assistants,jdbcType=VARCHAR} )- LENGTH( | 
|     REPLACE ( #{assistants,jdbcType=VARCHAR}, ',', '' ))+ 1 | 
|     ) | 
|   </select> | 
|   | 
|   <select id="selectCount" resultType="java.lang.Long"> | 
|     select | 
|       count(*) | 
|     from ba_user | 
|     where supper_admin!=1 and deleted!=1 | 
|   </select> | 
|   <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="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="oneResultMap"> | 
|     <!--@mbg.generated--> | 
|     select  | 
|     <include refid="Base_Column_List" /> | 
|     from ba_user | 
|     where id = #{id} and deleted!=1 | 
|   </select> | 
|   | 
|   <select id="selectSomeCount" parameterType="java.util.Map" resultType="java.lang.Long"> | 
|     select | 
|     count(*) | 
|     from ba_user bu | 
| #     left join ba_user_role ur on ur.user_id=bu.id | 
|     where bu.supper_admin!=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} and | 
|       </if> | 
| <!--      <if test="roleId != null">--> | 
| <!--        ur.role_id=#{roleId,jdbcType=BIGINT} and--> | 
| <!--      </if>--> | 
|       <if test="disabled != null"> | 
|         bu.disabled=#{disabled,jdbcType=BOOLEAN} | 
|       </if> | 
|     </trim> | 
|   </select> | 
|   <select id="selectSome" parameterType="java.util.Map" resultMap="someResultMap"> | 
|     select | 
|     <include refid="part_Column_List" > | 
|       <property name="alias" value="bu"/> | 
|     </include> | 
|     from ba_user bu | 
| #     left join ba_user_role ur on ur.user_id=bu.id | 
|     where bu.supper_admin!=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} and | 
|       </if> | 
| <!--      <if test="roleId != null">--> | 
| <!--        ur.role_id=#{roleId,jdbcType=BIGINT} and--> | 
| <!--      </if>--> | 
|       <if test="disabled != null"> | 
|         bu.disabled=#{disabled,jdbcType=BOOLEAN} | 
|       </if> | 
|     </trim> | 
|     order by id DESC | 
|     <trim prefix="limit " > | 
|       <if test="start != null and count != null"> | 
|         #{start}, #{count} | 
|       </if> | 
|     </trim> | 
|   </select> | 
|   <select id="selectNamesByAssistants" parameterType="java.lang.String" resultType="java.lang.String"> | 
|     SELECT GROUP_CONCAT(name) AS assistantNames FROM ba_user WHERE id IN | 
|     <if test="assistants != null"> | 
|       <foreach collection="assistants.split(',')" item="item" separator="," open="(" close=")"> | 
|         #{item,jdbcType=BIGINT} | 
|       </foreach> | 
|     </if> | 
|   </select> | 
|   | 
|   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> | 
|     <!--@mbg.generated--> | 
|     delete from ba_user | 
|     where id = #{id} | 
|   </delete> | 
|   <delete id="deleteLogicById" parameterType="java.lang.Long"> | 
|     update ba_user set deleted = 1 | 
|     where id = #{id} | 
|   </delete> | 
|   | 
|   <insert id="insert" parameterType="com.dy.pmsGlobal.pojoBa.BaUser"> | 
|     <!--@mbg.generated--> | 
|     insert into ba_user (id, `name`, phone, `password`, supper_admin, disabled, deleted | 
|       ) | 
|     values (#{id}, #{name}, #{phone}, #{password}, #{supperAdmin}, #{disabled}, #{deleted} | 
|       ) | 
|   </insert> | 
|   <insert id="insertSelective" parameterType="com.dy.pmsGlobal.pojoBa.BaUser"> | 
|     <!--@mbg.generated--> | 
|     insert into ba_user | 
|     <trim prefix="(" suffix=")" suffixOverrides=","> | 
|       <if test="id != null"> | 
|         id, | 
|       </if> | 
|       <if test="name != null"> | 
|         `name`, | 
|       </if> | 
|       <if test="phone != null"> | 
|         phone, | 
|       </if> | 
|       <if test="password != null"> | 
|         `password`, | 
|       </if> | 
|       <if test="supperAdmin != null"> | 
|         supper_admin, | 
|       </if> | 
|       <if test="disabled != null"> | 
|         disabled, | 
|       </if> | 
|       <if test="deleted != null"> | 
|         deleted, | 
|       </if> | 
|     </trim> | 
|     <trim prefix="values (" suffix=")" suffixOverrides=","> | 
|       <if test="id != null"> | 
|         #{id}, | 
|       </if> | 
|       <if test="name != null"> | 
|         #{name}, | 
|       </if> | 
|       <if test="phone != null"> | 
|         #{phone}, | 
|       </if> | 
|       <if test="password != null"> | 
|         #{password}, | 
|       </if> | 
|       <if test="supperAdmin != null"> | 
|         #{supperAdmin}, | 
|       </if> | 
|       <if test="disabled != null"> | 
|         #{disabled}, | 
|       </if> | 
|       <if test="deleted != null"> | 
|         #{deleted}, | 
|       </if> | 
|     </trim> | 
|   </insert> | 
|   <update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoBa.BaUser"> | 
|     <!--@mbg.generated--> | 
|     update ba_user | 
|     <set> | 
|       <if test="name != null"> | 
|         `name` = #{name}, | 
|       </if> | 
|       <if test="phone != null"> | 
|         phone = #{phone}, | 
|       </if> | 
|       <if test="password != null"> | 
|         `password` = #{password}, | 
|       </if> | 
|       <if test="supperAdmin != null"> | 
|         supper_admin = #{supperAdmin}, | 
|       </if> | 
|       <if test="disabled != null"> | 
|         disabled = #{disabled}, | 
|       </if> | 
|       <if test="deleted != null"> | 
|         deleted = #{deleted}, | 
|       </if> | 
|     </set> | 
|     where id = #{id} | 
|   </update> | 
|   <update id="updateByPrimaryKey" parameterType="com.dy.pmsGlobal.pojoBa.BaUser"> | 
|     <!--@mbg.generated--> | 
|     update ba_user | 
|     set `name` = #{name}, | 
|       phone = #{phone}, | 
|       `password` = #{password}, | 
|       supper_admin = #{supperAdmin}, | 
|       disabled = #{disabled}, | 
|       deleted = #{deleted} | 
|     where id = #{id} | 
|   </update> | 
|   <update id="changePassword"> | 
|     update ba_user | 
|     set password = #{password} | 
|     where id = #{id} | 
|   </update> | 
|   | 
|   | 
| </mapper> |