修改pom.xml 新增QueryDSL依赖,修改实现Tracker代码
Change-Id: I3dfb6d7c1fdb7922bc78f53b9e88438cee425df6
diff --git a/src/main/java/object/config.java b/src/main/java/object/config.java
index e584e22..a620518 100644
--- a/src/main/java/object/config.java
+++ b/src/main/java/object/config.java
@@ -6,4 +6,6 @@
public int FakeTime;
public int BegVote;
public String SqlURL="192.168.5.9:3306";
+ public String Database="pt_database";
+ public String TestDatabase="pt_database_test";
}
diff --git a/src/main/java/tracker/Tracker.java b/src/main/java/tracker/Tracker.java
index e1165b2..8addf61 100644
--- a/src/main/java/tracker/Tracker.java
+++ b/src/main/java/tracker/Tracker.java
@@ -1,5 +1,84 @@
package tracker;
-// public class Tracker implements TrackerInterface {
-
-// }
+import java.io.File;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.persistence.Persistence;
+import com.querydsl.jpa.impl.JPAUpdateClause;
+import object.QUserPT;
+import object.UserPT;
+import object.TTorent;
+import object.TransRecord;
+
+public class Tracker implements TrackerInterface {
+ private static final EntityManagerFactory emf =
+ Persistence.createEntityManagerFactory("myPersistenceUnit");
+
+ @Override
+ public boolean AddUpLoad(String userid, int upload) {
+ EntityManager em = emf.createEntityManager();
+ EntityTransaction tx = em.getTransaction();
+ try {
+ tx.begin();
+ QUserPT q = QUserPT.userPT;
+ long updated = new JPAUpdateClause(em, q)
+ .where(q.userid.eq(userid))
+ .set(q.upload, q.upload.add(upload))
+ .execute();
+ tx.commit();
+ return updated > 0;
+ } catch(Exception e) {
+ if (tx.isActive()) tx.rollback();
+ return false;
+ } finally {
+ em.close();
+ }
+ }
+
+ @Override
+ public boolean ReduceUpLoad(String userid,int upload){
+ return false;
+ };//给用户减上传量,返回0成功,返回1失败;
+
+ @Override
+ public boolean AddDownload(String userid,int download){
+ return false;
+ };//给用户增加下载量,返回0成功,返回1失败;
+
+ @Override
+ public boolean ReduceDownload(String userid,int download){
+ return false;
+ };//给用户减少下载量,返回0成功,返回1失败;
+
+ @Override
+ public boolean AddMagic(String userid,int magic){
+ return false;
+ };//给用户增加魔力值,返回0成功,返回1失败;
+
+ @Override
+ public boolean ReduceMagic(String userid,int magic){
+ return false;
+ };//给用户减少魔力值,返回0成功,返回1失败;
+
+ @Override
+ public TTorent ReadTorrent(File torrent){
+ return new TTorent();
+ };//传入torrent文件,解析后返回TTorent类
+
+ @Override
+ public int SaveTorrent(TTorent seed,String seedid){
+ return 0;
+ };//保存seedid对应的ttorent信息
+
+ @Override
+ public File GetTTorent(String seedid,String userid){
+ return null;
+ };//根据种子id获得ttorent信息然后构建Ttorent文件并返回,同时记录用户的下载行为
+
+
+ @Override
+ public int AddRecord(String seedid,TransRecord rd){
+ return 0;
+ };//新增一个seedid对应的种子的传输任务记录
+}