登陆注册后端接口
Change-Id: Ida548e4f32a505259dd180a5ae1ff8989ccfc076
diff --git a/src/main/java/database/DataManagerInterface.java b/src/main/java/database/DataManagerInterface.java
index 1f4b510..c1df413 100644
--- a/src/main/java/database/DataManagerInterface.java
+++ b/src/main/java/database/DataManagerInterface.java
@@ -50,6 +50,7 @@
public int SubmitSeed(String begid,Seed seed);//提交种子,返回状态:0 success,1 重复,2其他原因
public void SettleBeg();//结算所有求种信息,求种信息中需要增加Beg截止日期,默认14天,期间投票>的则Beg成功,否则Beg失败,并发放对应奖励
+ public Post[] GetPostList();//获取用户的帖子列表
public int AddPost(Post post);//添加一个新的帖子,返回状态:0 success,1 重复,2其他原因
public int UpdatePost(Post post);//更新一个帖子,返回状态:0 success,1 不存在,2其他原因
public int DeletePost(String postid);//删除一个帖子,返回状态:0 success,1 不存在,2其他原因
diff --git a/src/main/java/database/Database1.java b/src/main/java/database/Database1.java
index e67dcb0..030abdd 100644
--- a/src/main/java/database/Database1.java
+++ b/src/main/java/database/Database1.java
@@ -20,6 +20,7 @@
import entity.QUserPT;
import entity.QUserStar;
import entity.QUserInvite;
+import entity.QPost;
import entity.Seed;
import entity.User;
import entity.UserPT;
@@ -47,12 +48,10 @@
return null;
}
- // 用户名和邮箱应该有且仅有一个不为空
- boolean hasUsername = userinfo.username != null && !userinfo.username.isEmpty();
boolean hasEmail = userinfo.email != null && !userinfo.email.isEmpty();
// 如果两个都为空或两个都不为空,返回null
- if ((!hasUsername && !hasEmail) || (hasUsername && hasEmail)) {
+ if (!hasEmail) {
return null;
}
@@ -60,21 +59,13 @@
QUser u = QUser.user;
User foundUser = null;
- if (hasUsername) {
- // 通过用户名和密码查找
- foundUser = query.select(u)
- .from(u)
- .where(u.username.eq(userinfo.username)
- .and(u.password.eq(userinfo.password)))
- .fetchOne();
- } else {
- // 通过邮箱和密码查找
- foundUser = query.select(u)
- .from(u)
- .where(u.email.eq(userinfo.email)
- .and(u.password.eq(userinfo.password)))
- .fetchOne();
- }
+
+ // 通过邮箱和密码查找
+ foundUser = query.select(u)
+ .from(u)
+ .where(u.email.eq(userinfo.email)
+ .and(u.password.eq(userinfo.password)))
+ .fetchOne();
// 如果找到匹配的用户则返回用户ID,否则返回null
return foundUser != null ? foundUser.userid : null;
@@ -108,13 +99,18 @@
return 1; // 邮箱重复
}
- entitymanager.persist(userinfo);
- return 0; // 注册成功
+ entitymanager.getTransaction().begin();
+ entitymanager.persist(userinfo);
+ entitymanager.getTransaction().commit();
+ return 0; // 注册成功
- }catch(Exception e){
- e.printStackTrace();
- return 3;
- }
+ }catch(Exception e){
+ e.printStackTrace();
+ if (entitymanager.getTransaction().isActive()) {
+ entitymanager.getTransaction().rollback();
+ }
+ return 4;
+ }
}
@@ -199,16 +195,24 @@
@Override
public int RegisterUserPT(UserPT userinfo){
try {
+ entitymanager.getTransaction().begin();
+
JPAQuery<UserPT> query = new JPAQuery<>(entitymanager);
QUserPT u = QUserPT.userPT;
UserPT checkUserPT = query.select(u).from(u).where(u.userid.eq(userinfo.userid)).fetchOne();
if (checkUserPT != null) {
+ entitymanager.getTransaction().rollback();
return 1;
}
+
entitymanager.persist(userinfo);
+ entitymanager.getTransaction().commit();
return 0;
} catch (Exception e) {
e.printStackTrace();
+ if (entitymanager.getTransaction().isActive()) {
+ entitymanager.getTransaction().rollback();
+ }
return 2;
}
}
@@ -596,5 +600,13 @@
}
//获取所有迁移信息
+ @Override
+ public Post[] GetPostList() {
+ JPAQuery<Post> query = new JPAQuery<>(entitymanager);
+ QPost p = QPost.post;
+ List<Post> posts = query.select(p).from(p).fetch();
+ return posts.toArray(new Post[0]);
+ }
+
}
diff --git a/src/main/java/database/Database2.java b/src/main/java/database/Database2.java
index 0e6dadf..7a58953 100644
--- a/src/main/java/database/Database2.java
+++ b/src/main/java/database/Database2.java
@@ -1101,4 +1101,9 @@
}
}
}
+
+ @Override
+ public Post[] GetPostList(){
+ return null;
+ }
}
\ No newline at end of file