上传量下载量跑通,修复infohash逻辑
Change-Id: I42c3131f426f840283a7604310f5d2aefe78c840
diff --git a/src/main/java/tracker/Tracker.java b/src/main/java/tracker/Tracker.java
index 11e0265..795d595 100644
--- a/src/main/java/tracker/Tracker.java
+++ b/src/main/java/tracker/Tracker.java
@@ -42,6 +42,7 @@
tx.begin();
try {
// 1) find the seedId by infoHash
+ System.out.println("DEBUG AddUpLoad: Looking for infoHash: '" + infoHash + "' (length: " + infoHash.length() + ")");
String seedId = em.createQuery(
"SELECT s.seedId FROM SeedHash s WHERE s.infoHash = :ih", String.class)
.setParameter("ih", infoHash)
@@ -98,9 +99,9 @@
).setParameter("uid", userid)
.getSingleResult();
- System.out.println("按回车继续...");
+ System.out.println("------------------------------------------------");
System.out.printf("thisadd:%d userptsofar:%d userptafter:%d totaluploadnow:%d delta:%d%n",upload, PTuploadbefor,PTuploadafter, totalUpload,delta);
- System.out.println("按回车继续...");
+ System.out.println("------------------------------------------------");
return false; // success
} catch (RuntimeException ex) {
if (tx.isActive()) tx.rollback();
@@ -151,6 +152,7 @@
EntityTransaction tx = em.getTransaction();
try {
// 1. 查 SeedHash
+ System.out.println("DEBUG AddDownload: Looking for infoHash: '" + infoHash + "' (length: " + infoHash.length() + ")");
TypedQuery<SeedHash> qsh = em.createQuery(
"SELECT s FROM SeedHash s WHERE s.infoHash = :h", SeedHash.class);
qsh.setParameter("h", infoHash);
@@ -556,4 +558,18 @@
return -1;
}
+
+ /**
+ * 从数据库中查询所有 info_hash(hex 字符串)
+ */
+ public List<String> getAllInfoHashes() {
+ EntityManager em = emf.createEntityManager();
+ try {
+ return em.createQuery(
+ "SELECT sh.infoHash FROM SeedHash sh", String.class
+ ).getResultList();
+ } finally {
+ em.close();
+ }
+ }
}
\ No newline at end of file