<?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.pt5.pthouduan.mapper.UserMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.pt5.pthouduan.entity.User">
        <id column="userid" property="userid" />
        <result column="username" property="username" />
        <result column="password" property="password" />
        <result column="user_upload" property="userUpload" />
        <result column="user_download" property="userDownload" />
        <result column="credit" property="credit" />
        <result column="image" property="image" />
        <result column="sex" property="sex" />
        <result column="grade_id" property="gradeId" />
        <result column="passkey" property="passkey" />
        <result column="user_created_time" property="userCreatedTime" />
        <result column="ratio" property="ratio" />
        <result column="age" property="age" />
        <result column="privacy" property="privacy" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        username, password, user_upload, user_download, credit, image, sex, userid, grade_id, passkey, user_created_time, ratio, age, privacy
    </sql>
    <!-- 根据 passkey 查询用户名 -->
    <select id="getUsernameByPasskey" parameterType="java.lang.String" resultType="java.lang.String">
        SELECT username
        FROM user
        WHERE passkey = #{passkey}
    </select>

    <select id="findSeedersByInfoHash" resultType="com.pt5.pthouduan.entity.PeerInfo">
        SELECT
            ps.ip,
            ps.port,
            ps.peer_id,
            ps.uploaded,
            ps.upload_speed,
            ps.downloaded,
            ps.download_speed,
            ps.last_event,
            ps.last_updated,
            ps.created_at,
            ps.client,
            ps.username,
            ps.created_at,
            ps.completed_time,
            ps.port
        FROM peer_stats ps
        WHERE ps.info_hash = #{infoHash}
    </select>



    <!-- 根据 passkey 检查用户是否存在 -->
    <select id="existsByPasskey" resultType="boolean">
        SELECT COUNT(*) > 0
        FROM user
        WHERE passkey = #{passkey}
    </select>

<!--    <update id="incrementUserTraffic">-->
<!--        UPDATE user-->
<!--        SET user_upload = user_upload + #{user_upload},-->
<!--            user_download = user_download + #{user_download}-->
<!--        WHERE passkey = #{passkey}-->
<!--    </update>-->
    <update id="incrementUserTraffic">
        UPDATE user u
            JOIN torrent t ON t.info_hash = #{info_hash} AND u.passkey = #{passkey}
            SET
                u.user_upload = u.user_upload + (
                CASE
                WHEN t.promotionid = 1 THEN #{user_upload} * 2      -- 上传加倍
                ELSE #{user_upload}
                END
                ),
                u.user_download = u.user_download + (
                CASE
                WHEN t.promotionid = 2 THEN #{user_download} / 2    -- 下载减半
                WHEN t.promotionid = 3 THEN 0                       -- 免费下载
                ELSE #{user_download}
                END
                )
    </update>



</mapper>
