添加API接口,修改DB1文件
Change-Id: I5a493962f5a8b0c60e6944a7d630263789d3b4ee
diff --git a/src/main/java/database/Database1.java b/src/main/java/database/Database1.java
index f835288..ed64717 100644
--- a/src/main/java/database/Database1.java
+++ b/src/main/java/database/Database1.java
@@ -156,20 +156,40 @@
return seed;
}
+ @Override
+ public Seed[] GetSeedListByTag(String tag){
+ JPAQuery<Seed> query = new JPAQuery<>(entitymanager);
+ QSeed s = QSeed.seed;
+ List<Seed> seeds = query.select(s).from(s).where(s.seedtag.eq(tag)).fetch();
+ return seeds.toArray(new Seed[0]);
+ }
+
//添加一个新的种子,0成功,其他失败信息待定;
@Override
public int RegisterSeed(Seed seedinfo){
try {
+ entitymanager.getTransaction().begin();
JPAQuery<Seed> query = new JPAQuery<>(entitymanager);
QSeed s = QSeed.seed;
Seed seed = query.select(s).from(s).where(s.seedid.eq(seedinfo.seedid)).fetchOne();
+ User user = entitymanager.find(User.class, seedinfo.seeduserid);
+ if (user == null) {
+ entitymanager.getTransaction().rollback();
+ return 2; // 用户不存在
+ }
+ seed.user = user; // 设置种子的用户关联
if (seed != null) {
+ entitymanager.getTransaction().rollback();
return 1;
}
entitymanager.persist(seedinfo);
+ entitymanager.getTransaction().commit();
return 0;
} catch (Exception e) {
e.printStackTrace();
+ if (entitymanager.getTransaction().isActive()) {
+ entitymanager.getTransaction().rollback();
+ }
return 2;
}
}