blob: 8addf6106088f30038ebbd3b3feb6a9b4f678e73 [file] [log] [blame]
rootcd436562025-05-08 14:09:19 +00001package tracker;
2
root0d8b11f2025-05-15 14:10:43 +00003import java.io.File;
4import javax.persistence.EntityManager;
5import javax.persistence.EntityManagerFactory;
6import javax.persistence.EntityTransaction;
7import javax.persistence.Persistence;
8import com.querydsl.jpa.impl.JPAUpdateClause;
9import object.QUserPT;
10import object.UserPT;
11import object.TTorent;
12import object.TransRecord;
13
14public class Tracker implements TrackerInterface {
15 private static final EntityManagerFactory emf =
16 Persistence.createEntityManagerFactory("myPersistenceUnit");
17
18 @Override
19 public boolean AddUpLoad(String userid, int upload) {
20 EntityManager em = emf.createEntityManager();
21 EntityTransaction tx = em.getTransaction();
22 try {
23 tx.begin();
24 QUserPT q = QUserPT.userPT;
25 long updated = new JPAUpdateClause(em, q)
26 .where(q.userid.eq(userid))
27 .set(q.upload, q.upload.add(upload))
28 .execute();
29 tx.commit();
30 return updated > 0;
31 } catch(Exception e) {
32 if (tx.isActive()) tx.rollback();
33 return false;
34 } finally {
35 em.close();
36 }
37 }
38
39 @Override
40 public boolean ReduceUpLoad(String userid,int upload){
41 return false;
42 };//给用户减上传量,返回0成功,返回1失败;
43
44 @Override
45 public boolean AddDownload(String userid,int download){
46 return false;
47 };//给用户增加下载量,返回0成功,返回1失败;
48
49 @Override
50 public boolean ReduceDownload(String userid,int download){
51 return false;
52 };//给用户减少下载量,返回0成功,返回1失败;
53
54 @Override
55 public boolean AddMagic(String userid,int magic){
56 return false;
57 };//给用户增加魔力值,返回0成功,返回1失败;
58
59 @Override
60 public boolean ReduceMagic(String userid,int magic){
61 return false;
62 };//给用户减少魔力值,返回0成功,返回1失败;
63
64 @Override
65 public TTorent ReadTorrent(File torrent){
66 return new TTorent();
67 };//传入torrent文件,解析后返回TTorent类
68
69 @Override
70 public int SaveTorrent(TTorent seed,String seedid){
71 return 0;
72 };//保存seedid对应的ttorent信息
73
74 @Override
75 public File GetTTorent(String seedid,String userid){
76 return null;
77 };//根据种子id获得ttorent信息然后构建Ttorent文件并返回,同时记录用户的下载行为
78
79
80 @Override
81 public int AddRecord(String seedid,TransRecord rd){
82 return 0;
83 };//新增一个seedid对应的种子的传输任务记录
84}