blob: 8addf6106088f30038ebbd3b3feb6a9b4f678e73 [file] [log] [blame]
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对应的种子的传输任务记录
}