| package tracker; |
| |
| 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对应的种子的传输任务记录 |
| } |