<?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.m2pool.lease.mapper.LeaseUserMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.m2pool.lease.entity.LeaseUser">
        <id column="id" property="id" />
        <result column="user_id" property="userId" />
        <result column="password" property="password" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, user_id, password, create_time, update_time
    </sql>


    <select id="getGoogleInfoByEmail" resultType="com.m2pool.lease.entity.GoogleInfo">
        select
            user_id as email,
            google_auth secret,
            google_status status
        from
            lease_user
        where
            user_id = #{email}
            limit 1
    </select>
    <select id="checkSecretIfExist" resultType="java.lang.Boolean">
        select COUNT(1) from lease_user where google_auth = #{secret}
    </select>
    <select id="getUserInfoByEmail" resultType="com.m2pool.lease.vo.v2.UserGoogleAuthInfo">
        select
            user_id email,
            password pwd,
            google_auth secret,
            google_status status
        from
            lease_user
        where
            user_id = #{email}
            limit 1
    </select>

    <update id="bingGoogleAuthenticator">
        update lease_user
        set
            google_auth = #{info.secret},
            google_status = #{info.status},
            update_time = sysdate()
        where user_id = #{info.email}
    </update>
    <update id="closeGoogleAuthenticator">
        update lease_user
        set
            google_auth = '',
            google_status = 0
        where user_id = #{info.email}
    </update>
</mapper>
