添加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;
         }
     }