blob: 27814fd6ba423b7741dc3cdf8cf3df4463693d1c [file] [log] [blame]
wuchimedesdb9fe682025-04-22 19:24:11 +08001<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
3 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
4<mapper namespace="com.example.g8backend.mapper.PeerMapper">
22301071b5666622025-06-06 21:32:34 +08005
6 <select id="getPeerByPK" parameterType="map" resultType="com.example.g8backend.entity.Peer">
wuchimedesdb9fe682025-04-22 19:24:11 +08007 SELECT * FROM peers
8 WHERE peer_id = #{peerId} and info_hash = #{infoHash} and passkey = #{passkey}
9 </select>
22301071b5666622025-06-06 21:32:34 +080010
11 <select id="getPeerByInfoHashAndPeerId" parameterType="map" resultType="com.example.g8backend.entity.Peer">
wuchimedesdb9fe682025-04-22 19:24:11 +080012 SELECT * FROM peers
13 WHERE info_hash = #{infoHash} and peer_id = #{peerId}
14 </select>
22301071b5666622025-06-06 21:32:34 +080015
223010717e8ebe42025-06-03 23:26:44 +080016 <select id="selectAllInfoHashesWithPeers" resultType="String">
17 SELECT DISTINCT info_hash FROM peers
18 </select>
19
20 <select id="countRecentActivity" resultType="Long" parameterType="String">
22301071b5666622025-06-06 21:32:34 +080021 SELECT COUNT(*) FROM torrents
223010717e8ebe42025-06-03 23:26:44 +080022 WHERE info_hash = #{infoHash}
22301071b5666622025-06-06 21:32:34 +080023 AND upload_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
223010717e8ebe42025-06-03 23:26:44 +080024 </select>
22301071b5666622025-06-06 21:32:34 +080025
26
223010717e8ebe42025-06-03 23:26:44 +080027 <select id="selectByInfoHashList" parameterType="list" resultType="com.example.g8backend.entity.Torrent">
28 SELECT * FROM torrents
29 WHERE info_hash IN
22301071b5666622025-06-06 21:32:34 +080030 <foreach collection="infoHashes" item="item" open="(" separator="," close=")">
223010717e8ebe42025-06-03 23:26:44 +080031 #{item}
32 </foreach>
33 </select>
22301071b5666622025-06-06 21:32:34 +080034
35
36 <update id="updatePeer" parameterType="map">
wuchimedesdb9fe682025-04-22 19:24:11 +080037 UPDATE peers
38 SET uploaded = #{uploaded}, downloaded = #{downloaded}
22301071b5666622025-06-06 21:32:34 +080039 WHERE peer_id = #{peerId} and info_hash = #{infoHash} and passkey = #{passkey}
wuchimedesdb9fe682025-04-22 19:24:11 +080040 </update>
22301071b5666622025-06-06 21:32:34 +080041
wuchimedesdb9fe682025-04-22 19:24:11 +080042</mapper>