<?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.goafanti.common.dao.UserMapper">
  <resultMap id="BaseResultMap" type="com.goafanti.common.model.User">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    <id column="id" jdbcType="VARCHAR" property="id" />
    <result column="mobile" jdbcType="VARCHAR" property="mobile" />
    <result column="password" jdbcType="VARCHAR" property="password" />
    <result column="nickname" jdbcType="VARCHAR" property="nickname" />
    <result column="email" jdbcType="VARCHAR" property="email" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="number" jdbcType="BIGINT" property="number" />
    <result column="lvl" jdbcType="INTEGER" property="lvl" />
    <result column="type" jdbcType="INTEGER" property="type" />
    <result column="mid" jdbcType="VARCHAR" property="mid" />
    <result column="status" jdbcType="INTEGER" property="status" />
    <result column="source" jdbcType="INTEGER" property="source" />
    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
    <result column="company_logo_url" jdbcType="VARCHAR" property="companyLogoUrl" />
    <result column="head_portrait_url" jdbcType="VARCHAR" property="headPortraitUrl" />
    <result column="society_tag" jdbcType="VARCHAR" property="societyTag" />
    <result column="introduction" jdbcType="VARCHAR" property="introduction" />
    <result column="value_added_tag" jdbcType="VARCHAR" property="valueAddedTag" />
    <result column="organization_id" jdbcType="VARCHAR" property="organizationId" />
    <result column="identify_name" jdbcType="VARCHAR" property="identifyName" />
    <result column="background_url" jdbcType="VARCHAR" property="backgroundUrl" />
    <result column="audit_opinion" jdbcType="VARCHAR" property="auditOpinion" />
    <result column="audit_status" jdbcType="INTEGER" property="auditStatus" />
    <result column="share_type" jdbcType="INTEGER" property="shareType" />
    <result column="aid" jdbcType="VARCHAR" property="aid" />
    <result column="transfer_time" jdbcType="TIMESTAMP" property="transferTime" />
    <result column="username" jdbcType="VARCHAR" property="username" />
    <result column="authentication" jdbcType="INTEGER" property="authentication" />
  </resultMap>
  <sql id="Example_Where_Clause">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    <where>
      <foreach collection="oredCriteria" item="criteria" separator="or">
        <if test="criteria.valid">
          <trim prefix="(" prefixOverrides="and" suffix=")">
            <foreach collection="criteria.criteria" item="criterion">
              <choose>
                <when test="criterion.noValue">
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue">
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue">
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue">
                  and ${criterion.condition}
                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Update_By_Example_Where_Clause">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    <where>
      <foreach collection="example.oredCriteria" item="criteria" separator="or">
        <if test="criteria.valid">
          <trim prefix="(" prefixOverrides="and" suffix=")">
            <foreach collection="criteria.criteria" item="criterion">
              <choose>
                <when test="criterion.noValue">
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue">
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue">
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue">
                  and ${criterion.condition}
                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Base_Column_List">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    id, mobile, password, nickname, email, create_time, number, lvl, type, mid, status, 
    source, update_time, company_logo_url, head_portrait_url, society_tag, introduction, 
    value_added_tag, organization_id, identify_name, background_url, audit_opinion, audit_status, 
    share_type, aid, transfer_time, username, authentication
  </sql>
  <select id="selectByExample" parameterType="com.goafanti.common.model.UserExample" resultMap="BaseResultMap">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    select
    <if test="distinct">
      distinct
    </if>
    <include refid="Base_Column_List" />
    from user
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null">
      order by ${orderByClause}
    </if>
  </select>
  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    select 
    <include refid="Base_Column_List" />
    from user
    where id = #{id,jdbcType=VARCHAR}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    delete from user
    where id = #{id,jdbcType=VARCHAR}
  </delete>
  <delete id="deleteByExample" parameterType="com.goafanti.common.model.UserExample">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    delete from user
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </delete>
  <insert id="insert" parameterType="com.goafanti.common.model.User">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    insert into user (id, mobile, password, 
      nickname, email, create_time, 
      number, lvl, type, mid, 
      status, source, update_time, 
      company_logo_url, head_portrait_url, society_tag, 
      introduction, value_added_tag, organization_id, 
      identify_name, background_url, audit_opinion, 
      audit_status, share_type, aid, 
      transfer_time, username, authentication
      )
    values (#{id,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, 
      #{nickname,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
      #{number,jdbcType=BIGINT}, #{lvl,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}, #{mid,jdbcType=VARCHAR}, 
      #{status,jdbcType=INTEGER}, #{source,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, 
      #{companyLogoUrl,jdbcType=VARCHAR}, #{headPortraitUrl,jdbcType=VARCHAR}, #{societyTag,jdbcType=VARCHAR}, 
      #{introduction,jdbcType=VARCHAR}, #{valueAddedTag,jdbcType=VARCHAR}, #{organizationId,jdbcType=VARCHAR}, 
      #{identifyName,jdbcType=VARCHAR}, #{backgroundUrl,jdbcType=VARCHAR}, #{auditOpinion,jdbcType=VARCHAR}, 
      #{auditStatus,jdbcType=INTEGER}, #{shareType,jdbcType=INTEGER}, #{aid,jdbcType=VARCHAR}, 
      #{transferTime,jdbcType=TIMESTAMP}, #{username,jdbcType=VARCHAR}, #{authentication,jdbcType=INTEGER}
      )
  </insert>
  <insert id="insertSelective" parameterType="com.goafanti.common.model.User">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    insert into user
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="mobile != null">
        mobile,
      </if>
      <if test="password != null">
        password,
      </if>
      <if test="nickname != null">
        nickname,
      </if>
      <if test="email != null">
        email,
      </if>
      <if test="createTime != null">
        create_time,
      </if>
      <if test="number != null">
        number,
      </if>
      <if test="lvl != null">
        lvl,
      </if>
      <if test="type != null">
        type,
      </if>
      <if test="mid != null">
        mid,
      </if>
      <if test="status != null">
        status,
      </if>
      <if test="source != null">
        source,
      </if>
      <if test="updateTime != null">
        update_time,
      </if>
      <if test="companyLogoUrl != null">
        company_logo_url,
      </if>
      <if test="headPortraitUrl != null">
        head_portrait_url,
      </if>
      <if test="societyTag != null">
        society_tag,
      </if>
      <if test="introduction != null">
        introduction,
      </if>
      <if test="valueAddedTag != null">
        value_added_tag,
      </if>
      <if test="organizationId != null">
        organization_id,
      </if>
      <if test="identifyName != null">
        identify_name,
      </if>
      <if test="backgroundUrl != null">
        background_url,
      </if>
      <if test="auditOpinion != null">
        audit_opinion,
      </if>
      <if test="auditStatus != null">
        audit_status,
      </if>
      <if test="shareType != null">
        share_type,
      </if>
      <if test="aid != null">
        aid,
      </if>
      <if test="transferTime != null">
        transfer_time,
      </if>
      <if test="username != null">
        username,
      </if>
      <if test="authentication != null">
        authentication,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=VARCHAR},
      </if>
      <if test="mobile != null">
        #{mobile,jdbcType=VARCHAR},
      </if>
      <if test="password != null">
        #{password,jdbcType=VARCHAR},
      </if>
      <if test="nickname != null">
        #{nickname,jdbcType=VARCHAR},
      </if>
      <if test="email != null">
        #{email,jdbcType=VARCHAR},
      </if>
      <if test="createTime != null">
        #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="number != null">
        #{number,jdbcType=BIGINT},
      </if>
      <if test="lvl != null">
        #{lvl,jdbcType=INTEGER},
      </if>
      <if test="type != null">
        #{type,jdbcType=INTEGER},
      </if>
      <if test="mid != null">
        #{mid,jdbcType=VARCHAR},
      </if>
      <if test="status != null">
        #{status,jdbcType=INTEGER},
      </if>
      <if test="source != null">
        #{source,jdbcType=INTEGER},
      </if>
      <if test="updateTime != null">
        #{updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="companyLogoUrl != null">
        #{companyLogoUrl,jdbcType=VARCHAR},
      </if>
      <if test="headPortraitUrl != null">
        #{headPortraitUrl,jdbcType=VARCHAR},
      </if>
      <if test="societyTag != null">
        #{societyTag,jdbcType=VARCHAR},
      </if>
      <if test="introduction != null">
        #{introduction,jdbcType=VARCHAR},
      </if>
      <if test="valueAddedTag != null">
        #{valueAddedTag,jdbcType=VARCHAR},
      </if>
      <if test="organizationId != null">
        #{organizationId,jdbcType=VARCHAR},
      </if>
      <if test="identifyName != null">
        #{identifyName,jdbcType=VARCHAR},
      </if>
      <if test="backgroundUrl != null">
        #{backgroundUrl,jdbcType=VARCHAR},
      </if>
      <if test="auditOpinion != null">
        #{auditOpinion,jdbcType=VARCHAR},
      </if>
      <if test="auditStatus != null">
        #{auditStatus,jdbcType=INTEGER},
      </if>
      <if test="shareType != null">
        #{shareType,jdbcType=INTEGER},
      </if>
      <if test="aid != null">
        #{aid,jdbcType=VARCHAR},
      </if>
      <if test="transferTime != null">
        #{transferTime,jdbcType=TIMESTAMP},
      </if>
      <if test="username != null">
        #{username,jdbcType=VARCHAR},
      </if>
      <if test="authentication != null">
        #{authentication,jdbcType=INTEGER},
      </if>
    </trim>
  </insert>
  <select id="countByExample" parameterType="com.goafanti.common.model.UserExample" resultType="java.lang.Long">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    select count(*) from user
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </select>
  <update id="updateByExampleSelective" parameterType="map">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    update user
    <set>
      <if test="record.id != null">
        id = #{record.id,jdbcType=VARCHAR},
      </if>
      <if test="record.mobile != null">
        mobile = #{record.mobile,jdbcType=VARCHAR},
      </if>
      <if test="record.password != null">
        password = #{record.password,jdbcType=VARCHAR},
      </if>
      <if test="record.nickname != null">
        nickname = #{record.nickname,jdbcType=VARCHAR},
      </if>
      <if test="record.email != null">
        email = #{record.email,jdbcType=VARCHAR},
      </if>
      <if test="record.createTime != null">
        create_time = #{record.createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.number != null">
        number = #{record.number,jdbcType=BIGINT},
      </if>
      <if test="record.lvl != null">
        lvl = #{record.lvl,jdbcType=INTEGER},
      </if>
      <if test="record.type != null">
        type = #{record.type,jdbcType=INTEGER},
      </if>
      <if test="record.mid != null">
        mid = #{record.mid,jdbcType=VARCHAR},
      </if>
      <if test="record.status != null">
        status = #{record.status,jdbcType=INTEGER},
      </if>
      <if test="record.source != null">
        source = #{record.source,jdbcType=INTEGER},
      </if>
      <if test="record.updateTime != null">
        update_time = #{record.updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.companyLogoUrl != null">
        company_logo_url = #{record.companyLogoUrl,jdbcType=VARCHAR},
      </if>
      <if test="record.headPortraitUrl != null">
        head_portrait_url = #{record.headPortraitUrl,jdbcType=VARCHAR},
      </if>
      <if test="record.societyTag != null">
        society_tag = #{record.societyTag,jdbcType=VARCHAR},
      </if>
      <if test="record.introduction != null">
        introduction = #{record.introduction,jdbcType=VARCHAR},
      </if>
      <if test="record.valueAddedTag != null">
        value_added_tag = #{record.valueAddedTag,jdbcType=VARCHAR},
      </if>
      <if test="record.organizationId != null">
        organization_id = #{record.organizationId,jdbcType=VARCHAR},
      </if>
      <if test="record.identifyName != null">
        identify_name = #{record.identifyName,jdbcType=VARCHAR},
      </if>
      <if test="record.backgroundUrl != null">
        background_url = #{record.backgroundUrl,jdbcType=VARCHAR},
      </if>
      <if test="record.auditOpinion != null">
        audit_opinion = #{record.auditOpinion,jdbcType=VARCHAR},
      </if>
      <if test="record.auditStatus != null">
        audit_status = #{record.auditStatus,jdbcType=INTEGER},
      </if>
      <if test="record.shareType != null">
        share_type = #{record.shareType,jdbcType=INTEGER},
      </if>
      <if test="record.aid != null">
        aid = #{record.aid,jdbcType=VARCHAR},
      </if>
      <if test="record.transferTime != null">
        transfer_time = #{record.transferTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.username != null">
        username = #{record.username,jdbcType=VARCHAR},
      </if>
      <if test="record.authentication != null">
        authentication = #{record.authentication,jdbcType=INTEGER},
      </if>
    </set>
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExample" parameterType="map">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    update user
    set id = #{record.id,jdbcType=VARCHAR},
      mobile = #{record.mobile,jdbcType=VARCHAR},
      password = #{record.password,jdbcType=VARCHAR},
      nickname = #{record.nickname,jdbcType=VARCHAR},
      email = #{record.email,jdbcType=VARCHAR},
      create_time = #{record.createTime,jdbcType=TIMESTAMP},
      number = #{record.number,jdbcType=BIGINT},
      lvl = #{record.lvl,jdbcType=INTEGER},
      type = #{record.type,jdbcType=INTEGER},
      mid = #{record.mid,jdbcType=VARCHAR},
      status = #{record.status,jdbcType=INTEGER},
      source = #{record.source,jdbcType=INTEGER},
      update_time = #{record.updateTime,jdbcType=TIMESTAMP},
      company_logo_url = #{record.companyLogoUrl,jdbcType=VARCHAR},
      head_portrait_url = #{record.headPortraitUrl,jdbcType=VARCHAR},
      society_tag = #{record.societyTag,jdbcType=VARCHAR},
      introduction = #{record.introduction,jdbcType=VARCHAR},
      value_added_tag = #{record.valueAddedTag,jdbcType=VARCHAR},
      organization_id = #{record.organizationId,jdbcType=VARCHAR},
      identify_name = #{record.identifyName,jdbcType=VARCHAR},
      background_url = #{record.backgroundUrl,jdbcType=VARCHAR},
      audit_opinion = #{record.auditOpinion,jdbcType=VARCHAR},
      audit_status = #{record.auditStatus,jdbcType=INTEGER},
      share_type = #{record.shareType,jdbcType=INTEGER},
      aid = #{record.aid,jdbcType=VARCHAR},
      transfer_time = #{record.transferTime,jdbcType=TIMESTAMP},
      username = #{record.username,jdbcType=VARCHAR},
      authentication = #{record.authentication,jdbcType=INTEGER}
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.User">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    update user
    <set>
      <if test="mobile != null">
        mobile = #{mobile,jdbcType=VARCHAR},
      </if>
      <if test="password != null">
        password = #{password,jdbcType=VARCHAR},
      </if>
      <if test="nickname != null">
        nickname = #{nickname,jdbcType=VARCHAR},
      </if>
      <if test="email != null">
        email = #{email,jdbcType=VARCHAR},
      </if>
      <if test="createTime != null">
        create_time = #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="number != null">
        number = #{number,jdbcType=BIGINT},
      </if>
      <if test="lvl != null">
        lvl = #{lvl,jdbcType=INTEGER},
      </if>
      <if test="type != null">
        type = #{type,jdbcType=INTEGER},
      </if>
      <if test="mid != null">
        mid = #{mid,jdbcType=VARCHAR},
      </if>
      <if test="status != null">
        status = #{status,jdbcType=INTEGER},
      </if>
      <if test="source != null">
        source = #{source,jdbcType=INTEGER},
      </if>
      <if test="updateTime != null">
        update_time = #{updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="companyLogoUrl != null">
        company_logo_url = #{companyLogoUrl,jdbcType=VARCHAR},
      </if>
      <if test="headPortraitUrl != null">
        head_portrait_url = #{headPortraitUrl,jdbcType=VARCHAR},
      </if>
      <if test="societyTag != null">
        society_tag = #{societyTag,jdbcType=VARCHAR},
      </if>
      <if test="introduction != null">
        introduction = #{introduction,jdbcType=VARCHAR},
      </if>
      <if test="valueAddedTag != null">
        value_added_tag = #{valueAddedTag,jdbcType=VARCHAR},
      </if>
      <if test="organizationId != null">
        organization_id = #{organizationId,jdbcType=VARCHAR},
      </if>
      <if test="identifyName != null">
        identify_name = #{identifyName,jdbcType=VARCHAR},
      </if>
      <if test="backgroundUrl != null">
        background_url = #{backgroundUrl,jdbcType=VARCHAR},
      </if>
      <if test="auditOpinion != null">
        audit_opinion = #{auditOpinion,jdbcType=VARCHAR},
      </if>
      <if test="auditStatus != null">
        audit_status = #{auditStatus,jdbcType=INTEGER},
      </if>
      <if test="shareType != null">
        share_type = #{shareType,jdbcType=INTEGER},
      </if>
      <if test="aid != null">
        aid = #{aid,jdbcType=VARCHAR},
      </if>
      <if test="transferTime != null">
        transfer_time = #{transferTime,jdbcType=TIMESTAMP},
      </if>
      <if test="username != null">
        username = #{username,jdbcType=VARCHAR},
      </if>
      <if test="authentication != null">
        authentication = #{authentication,jdbcType=INTEGER},
      </if>
    </set>
    where id = #{id,jdbcType=VARCHAR}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.User">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu May 31 15:33:56 CST 2018.
    -->
    update user
    set mobile = #{mobile,jdbcType=VARCHAR},
      password = #{password,jdbcType=VARCHAR},
      nickname = #{nickname,jdbcType=VARCHAR},
      email = #{email,jdbcType=VARCHAR},
      create_time = #{createTime,jdbcType=TIMESTAMP},
      number = #{number,jdbcType=BIGINT},
      lvl = #{lvl,jdbcType=INTEGER},
      type = #{type,jdbcType=INTEGER},
      mid = #{mid,jdbcType=VARCHAR},
      status = #{status,jdbcType=INTEGER},
      source = #{source,jdbcType=INTEGER},
      update_time = #{updateTime,jdbcType=TIMESTAMP},
      company_logo_url = #{companyLogoUrl,jdbcType=VARCHAR},
      head_portrait_url = #{headPortraitUrl,jdbcType=VARCHAR},
      society_tag = #{societyTag,jdbcType=VARCHAR},
      introduction = #{introduction,jdbcType=VARCHAR},
      value_added_tag = #{valueAddedTag,jdbcType=VARCHAR},
      organization_id = #{organizationId,jdbcType=VARCHAR},
      identify_name = #{identifyName,jdbcType=VARCHAR},
      background_url = #{backgroundUrl,jdbcType=VARCHAR},
      audit_opinion = #{auditOpinion,jdbcType=VARCHAR},
      audit_status = #{auditStatus,jdbcType=INTEGER},
      share_type = #{shareType,jdbcType=INTEGER},
      aid = #{aid,jdbcType=VARCHAR},
      transfer_time = #{transferTime,jdbcType=TIMESTAMP},
      username = #{username,jdbcType=VARCHAR},
      authentication = #{authentication,jdbcType=INTEGER}
    where id = #{id,jdbcType=VARCHAR}
  </update>
 
  <resultMap id="UserPageHomeBo" type="com.goafanti.user.bo.UserPageHomeBo">
    <result column="uid" jdbcType="VARCHAR" property="uid" />
    <result column="lvl" jdbcType="INTEGER" property="lvl" />
    <result column="nickname" jdbcType="VARCHAR" property="nickname" />
    <result column="username" jdbcType="VARCHAR" property="username"/>
    <result column="identify_name" jdbcType="VARCHAR" property="identifyName"/>
    <result column="email" jdbcType="VARCHAR" property="email" />
    <result column="mobile" jdbcType="VARCHAR" property="mobile"/>
    <result column="number" jdbcType="INTEGER" property="number" />
    <result column="type" jdbcType="INTEGER" property="type" />
    <result column="status" jdbcType="INTEGER" property="status"/>
    <result column="authentication" jdbcType="INTEGER" property="authentication"/>
    <result column="head_portrait_url" jdbcType="VARCHAR" property="headPortraitUrl" />
    <result column="logo_url" jdbcType="VARCHAR" property="logoUrl" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
  </resultMap>
  
  <resultMap id="UserDownLoadBo" type="com.goafanti.user.bo.UserDownLoadBo">
    <id column="id" jdbcType="VARCHAR" property="id" />
    <result column="diploma_url" jdbcType="VARCHAR" property="diplomaUrl" />
    <result column="degree_diploma_url" jdbcType="VARCHAR" property="degreeDiplomaUrl" />
    <result column="professional_certificate_url" jdbcType="VARCHAR" property="professionalCertificateUrl" />
    <result column="qualification_certificate_url" jdbcType="VARCHAR" property="qualificationCertificateUrl" />
    <result column="positive_id_url" jdbcType="VARCHAR" property="positiveIdUrl" />
    <result column="opposite_id_url" jdbcType="VARCHAR" property="oppositeIdUrl" />
  </resultMap>
 
  <select id="selectByMobieAndType" resultMap="BaseResultMap">
    select
  <include refid="Base_Column_List" />
    from user
    where mobile = #{0} and type=#{1} and source = 0
  </select>
  
  <select id="selectByNameAndType" resultMap="BaseResultMap">
    select
  		<include refid="Base_Column_List" />
    from 
    	user
    where 
    	username = ${username} 
	    <if test="type != null">
	    	and type = ${type}
	    </if>
	    and source = 0
  </select>
  
  <select id="selectUserBaseByUserId" parameterType="java.lang.String" resultMap="UserPageHomeBo">
  	select 
  		id,
  		number,
  		type,
  		authentication,
  		username,
  		identify_name,
  		nickname,
  		create_time,
  		authentication,
  		status,email,
  		head_portrait_url,
  		mobile from user
   	where 
   		id = #{uid,jdbcType = VARCHAR}
  </select>
  
  <select id="selectUserDownLoadBoByUserId" parameterType="java.lang.String" resultMap="UserDownLoadBo">
  	select u.id,i.positive_id_url ,i.opposite_id_url,c.professional_certificate_url,c.qualification_certificate_url,
      e.diploma_url, e.degree_diploma_url
      from user u 
        LEFT JOIN user_identity i on u.id = i.uid
        LEFT JOIN user_career c on u.id = c.uid
        LEFT JOIN user_edu e on u.id = e.uid 
    where u.id =#{id,jdbcType=VARCHAR}
  </select>
  
  <select id="findUserListByPage" parameterType="String" resultType="com.goafanti.user.bo.UserListBo">
  	select 
  		u.id ,
  		u.mobile, 
  		u.email, 
  		u.create_time as createTime, 
  	    u.number , 
  	    i.username,
  	    i.audit_status as auditStatus, 
  	    a.name as adminName,
  	    ad.name as managerName
    from user u  
    LEFT JOIN admin a on a.id = u.aid
    LEFT JOIN admin ad on ad.id = u.mid
    LEFT JOIN user_identity i 
    ON u.id = i.uid  where u.type = 0
    <if test="mobile != null">
        and u.mobile = #{mobile,jdbcType=VARCHAR}
    </if>
    <if test="email != null">
        and u.email = #{email,jdbcType=VARCHAR}
    </if>
    <if test="pStart != null">
        and u.create_time <![CDATA[ > ]]> #{pStart,jdbcType=TIMESTAMP}
    </if>
    <if test="pEnd != null">
        and u.create_time <![CDATA[ < ]]> #{pEnd,jdbcType=TIMESTAMP}
    </if>
    <if test=" number != null">
        and u.number = #{number,jdbcType=INTEGER}
    </if>
    <if test="username != null">
        and i.username like CONCAT ('%',#{username,jdbcType=VARCHAR},'%')   
    </if>
    <if test="auditStatus != null">
        and i.audit_status= #{auditStatus,jdbcType=INTEGER}
    </if>
    order by u.number desc
    <if test="page_sql!=null">
        ${page_sql}
    </if>
  </select>
  
  <select id="findUserCount" parameterType="String" resultType="java.lang.Integer">
  	select count(1) 
    from user u LEFT JOIN user_identity i 
    ON u.id = i.uid 
    WHERE u.type = 0
    <if test="mobile != null">
        and u.mobile = #{mobile,jdbcType=VARCHAR}
    </if>
    <if test="email != null">
        and u.email = #{email,jdbcType=VARCHAR}
    </if>
    <if test="pStart != null">
        and u.create_time <![CDATA[ > ]]> #{pStart,jdbcType=TIMESTAMP}
    </if>
    <if test="pEnd != null">
        and u.create_time <![CDATA[ < ]]> #{pEnd,jdbcType=TIMESTAMP}
    </if>
    <if test="number != null">
        and u.number = #{number,jdbcType=INTEGER}
    </if>
    <if test="username != null">
        and i.username like CONCAT ('%',#{username,jdbcType=VARCHAR},'%') 
    </if>
    <if test="auditStatus != null">
        and i.audit_status= #{auditStatus,jdbcType=INTEGER}
    </if>
  </select>  
  
  <select id="findOrgListByPage" parameterType="String" resultType="com.goafanti.user.bo.OrgListBo">
  select u.id ,u.mobile, u.email, u.create_time as createTime, 
  	       u.number, o.audit_status as orgAuditStatus, a.name as adminName,
  	       o.unit_name as unitName, ad.name as managerName
    from user u  
    LEFT JOIN admin a on a.id = u.aid 
    LEFT JOIN admin ad on ad.id = u.mid
    LEFT JOIN organization_identity o 
    ON u.id = o.uid 
    WHERE u.type = 1
   
    <if test="mobile != null">
        and u.mobile = #{mobile,jdbcType=VARCHAR}
    </if>
    <if test="uid != null">
        and u.id = #{uid,jdbcType=VARCHAR}
    </if>
    <if test="email != null">
        and u.email = #{email,jdbcType=VARCHAR}
    </if>
    <if test="pStart != null">
        and u.create_time <![CDATA[ >= ]]> #{pStart,jdbcType=TIMESTAMP}
    </if>
    <if test="pEnd != null">
        and u.create_time <![CDATA[ < ]]> #{pEnd,jdbcType=TIMESTAMP}
    </if>
    <if test=" number != null">
        and u.number = #{number,jdbcType=INTEGER}
    </if>
    <if test="unitName != null">
        and o.unit_name = #{unitName,jdbcType=VARCHAR}
    </if>
    <if test="auditStatus != null">
        and o.audit_status= #{auditStatus,jdbcType=INTEGER}
    </if>
    order by u.number desc
    <if test="page_sql!=null">
        ${page_sql}
    </if>
  </select>
  
  <select id="findOrgCount" parameterType="String" resultType="java.lang.Integer">
  	select count(1) 
    from user u LEFT JOIN organization_identity o 
    ON u.id = o.uid 
    WHERE u.type = 1
    <if test="uid != null">
        and u.id = #{uid,jdbcType=VARCHAR}
    </if>
    <if test="mobile != null">
        and u.mobile = #{mobile,jdbcType=VARCHAR}
    </if>
    <if test="email != null">
        and u.email = #{email,jdbcType=VARCHAR}
    </if>
    <if test="pStart != null">
        and u.create_time <![CDATA[ >= ]]> #{pStart,jdbcType=TIMESTAMP}
    </if>
    <if test="pEnd != null">
        and u.create_time <![CDATA[ < ]]> #{pEnd,jdbcType=TIMESTAMP}
    </if>
    <if test=" number != null">
        and u.number = #{number,jdbcType=INTEGER}
    </if>
    <if test="unitName != null">
        and o.unit_name = #{unitName,jdbcType=VARCHAR}
    </if>
    <if test="auditStatus != null">
        and o.audit_status= #{auditStatus,jdbcType=INTEGER}
    </if>
  </select>  
  
   <select id="findUserByAidWithParamsListByPage" parameterType="java.lang.String" resultType="com.goafanti.user.bo.OrgListBo">
    select 
    	u.id ,
    	u.mobile, 
    	u.email, 
    	u.create_time as createTime, 
  	    u.number , 
  	    a.name as adminName, 
  	    ma.name as managerName, 
  	    u.type,
  	    i.username, 
  	    i.audit_status as userAuditStatus
    from user u  
    LEFT JOIN admin a on a.id = u.aid 
    LEFT JOIN admin ma on ma.id = u.mid 
    LEFT JOIN user_identity i on u.id = i.uid
    where u.type = 0
    <if test="aid != null">
    	and u.aid = #{aid,jdbcType=VARCHAR}
    </if>
    <if test="number !=null">
    	and u.number = #{number,jdbcType=INTEGER}
    </if>
    <if test="mobile !=null">
    	and u.mobile= #{mobile,jdbcType=VARCHAR}
    </if>
    <if test="auditStatus !=null">
    	and i.audit_status = #{auditStatus,jdbcType=INTEGER}
    </if>
     <if test="auditName !=null">
    	and i.username like CONCAT('%',#{auditName,jdbcType=VARCHAR},'%')
    </if>
    <if test="email !=null">
    	and u.email = #{email,jdbcType=VARCHAR}
    </if>
    <if test="startCreateTime !=null">
    	and u.create_time <![CDATA[ >= ]]> #{startCreateTime,jdbcType=TIMESTAMP}
    </if>
     <if test="endCreateTime !=null">
    	and u.create_time <![CDATA[ < ]]> #{endCreateTime,jdbcType=TIMESTAMP}
    </if>
    order by u.number desc
    <if test="page_sql!=null">
        ${page_sql}
    </if>
  </select>
  
  <select id="findUserByAidWithParamsCount" parameterType="String" resultType="java.lang.Integer">
  	 select 
    	count(1)
    from user u  
    LEFT JOIN admin a on a.id = u.aid 
    LEFT JOIN user_identity i on u.id = i.uid
    where u.type = 0
    <if test="aid != null">
    	and u.aid = #{aid,jdbcType=VARCHAR}
    </if>
    <if test="number !=null">
    	and u.number = #{number,jdbcType=INTEGER}
    </if>
    <if test="mobile !=null">
    	and u.mobile= #{mobile,jdbcType=VARCHAR}
    </if>
    <if test="auditStatus !=null">
    	and i.audit_status = #{auditStatus,jdbcType=INTEGER}
    </if>
    <if test="auditName !=null">
    	and i.username like CONCAT('%',#{auditName,jdbcType=VARCHAR},'%')
    </if>
    <if test="email !=null">
    	and u.email = #{email,jdbcType=VARCHAR}
    </if>
    <if test="startCreateTime !=null">
    	and u.create_time <![CDATA[ >= ]]> #{startCreateTime,jdbcType=TIMESTAMP}
    </if>
     <if test="endCreateTime !=null">
    	and u.create_time <![CDATA[ < ]]> #{endCreateTime,jdbcType=TIMESTAMP}
    </if>
  </select>
  
  
  <select id="findOrgByAidWithParamsListByPage" parameterType="java.lang.String" resultType="com.goafanti.user.bo.OrgListBo">
    select 
    	u.id ,
    	u.mobile, 
    	u.email, 
    	u.create_time as createTime, 
  	    u.number , 
  	    a.name as adminName, 
  	    ma.name as managerName, 
  	    u.type,
  	    i.unit_name as unitName, 
  	    i.audit_status as orgAuditStatus
    from user u  
    LEFT JOIN admin a on a.id = u.aid 
    LEFT JOIN admin ma on ma.id = u.mid 
    LEFT JOIN organization_identity i on u.id = i.uid
    where u.type = 1
    <if test="aid != null">
    	and u.aid = #{aid,jdbcType=VARCHAR}
    </if>
    <if test="number !=null">
    	and u.number = #{number,jdbcType=INTEGER}
    </if>
    <if test="mobile !=null">
    	and u.mobile= #{mobile,jdbcType=VARCHAR}
    </if>
    <if test="auditStatus !=null">
    	and i.audit_status = #{auditStatus,jdbcType=INTEGER}
    </if>
     <if test="auditName !=null">
    	and i.unit_name like CONCAT('%',#{auditName,jdbcType=VARCHAR},'%')
    </if>
    <if test="email !=null">
    	and u.email = #{email,jdbcType=VARCHAR}
    </if>
    <if test="startCreateTime !=null">
    	and u.create_time <![CDATA[ >= ]]> #{startCreateTime,jdbcType=TIMESTAMP}
    </if>
    <if test="endCreateTime !=null">
    	and u.create_time <![CDATA[ < ]]> #{endCreateTime,jdbcType=TIMESTAMP}
    </if>
    order by u.number desc
    <if test="page_sql!=null">
        ${page_sql}
    </if>
  </select>
  
  <select id="findOrgByAidWithParamsCount" parameterType="String" resultType="java.lang.Integer">
  	 select 
    	count(1)
    from user u  
    LEFT JOIN admin a on a.id = u.aid 
    LEFT JOIN organization_identity i on u.id = i.uid
    where u.type = 1
    <if test="aid != null">
    	and u.aid = #{aid,jdbcType=VARCHAR}
    </if>
    <if test="number !=null">
    	and u.number = #{number,jdbcType=INTEGER}
    </if>
    <if test="mobile !=null">
    	and u.mobile= #{mobile,jdbcType=VARCHAR}
    </if>
    <if test="auditStatus !=null">
    	and i.audit_status = #{auditStatus,jdbcType=INTEGER}
    </if>
    <if test="auditName !=null">
    	and i.unit_name like CONCAT('%',#{auditName,jdbcType=VARCHAR},'%')
    </if>
    <if test="email !=null">
    	and u.email = #{email,jdbcType=VARCHAR}
    </if>
    <if test="startCreateTime !=null">
    	and u.create_time <![CDATA[ >= ]]> #{startCreateTime,jdbcType=TIMESTAMP}
    </if>
     <if test="endCreateTime !=null">
    	and u.create_time <![CDATA[ < ]]> #{endCreateTime,jdbcType=TIMESTAMP}
    </if>
  </select>

  <select id="findUserByNameAndMobile" resultType="java.lang.String">
  	select 
  		ui.username
  	from user u 
  	left join user_identity ui on u.id = ui.uid
  	where u.lvl &gt; 0 and u.type = 0 and ui.audit_status = 5
  	<if test="name != null">
  		and ui.username = #{name,jdbcType=VARCHAR}
  	</if>
  	<if test="mobile != null">
  		and u.mobile = #{mobile,jdbcType=VARCHAR}
  	</if>
  </select>
  
  <select id="findOrgByNameAndMobile" resultType="java.lang.String">
  	select 
  		oi.unit_name 
  	from user u 
  	left join organization_identity oi on u.id = oi.uid
  	where u.lvl &gt; 0 and u.type = 1 and oi.audit_status = 5
  	<if test="name != null">
  		and oi.unit_name = #{name,jdbcType=VARCHAR}
  	</if>
  	<if test="mobile != null">
  		and u.mobile = #{mobile,jdbcType=VARCHAR}
  	</if>
  </select>

 	<select id="checkUser" resultMap="BaseResultMap">
		select
			id
		from
			user
		where status <![CDATA[!= ]]> 1
		<if test="id != null and id != ''">
			and id = #{id,jdbcType=VARCHAR}
		</if>
		<if test="identifyName != null and identifyName != ''">
			and identify_name = #{identifyName,jdbcType=VARCHAR}
		</if>
		<if test="mobile != null and mobile !=''">
			and mobile = #{mobile,jdbcType=VARCHAR}
		</if>
		<if test="type != null">
			and type = #{type,jdbcType=INTEGER}
		</if>
		<if test="source != null">
			and source = #{source,jdbcType=INTEGER}
		</if>
		<if test="nickname != null and nickname != ''">
			and nickname = #{nickname,jdbcType=INTEGER}
		</if>
		
	</select>

	<select id="userInterest" resultType="com.goafanti.user.bo.UserInterestBo">
		select
		t.to_uid as id,y.username as name,y.work_unit as workUnit,y.professional_title as professionalTitle,t.create_time as createTime
		from user_interest t
		LEFT  join user_identity y on t.to_uid=y.uid
		LEFT  join user u on t.to_uid=u.id
		where t.from_uid=#{uid,jdbcType=VARCHAR}

	</select>
	<select id="selectBaseInfo" parameterType="java.lang.String" resultType="com.goafanti.app.bo.UserBasicInfo">
		select
			a.id, 
			a.mobile, 
			a.nickname, 
			a.email, 
			a.number, 
			a.type, 
    		a.company_logo_url as companyLogoUrl, 
    		a.head_portrait_url as headPortraitUrl, 
    		a.introduction,
    		b.registration_id as registrationId,
   			b.easemob_name as easemobName,
   			b.easemob_pass as easemobPass
   		from user a left join jpush_easemob_account b 
   			on a.id = b.uid 
   		where 
   			a.id = #{id,jdbcType=VARCHAR}
	</select>
	
	<select id="selectByNumber" parameterType="java.lang.String" resultMap="BaseResultMap">
		select nickname,head_portrait_url from user where number = #{easemobName,jdbcType=VARCHAR}
	</select>
	
	<update id="updateEnteringAudit" parameterType="com.goafanti.common.model.User">
    update user
    <set>
      <if test="auditStatus != null">
        audit_status = #{auditStatus,jdbcType=INTEGER},
      </if>
      <if test="auditOpinion != null">
        audit_opinion = #{auditOpinion,jdbcType=VARCHAR},
      </if>
    </set>
    where id = #{id,jdbcType=VARCHAR}
  </update>
  
  <select id="selectUserByRoleName" parameterType="java.lang.String" resultMap="BaseResultMap">
  	select c.id from role a left join user_role b on a.id = b.rid left join admin c on b.uid = c.id where a.role_name = #{roleName}
  </select>
</mapper>