修改AddComment接口,新增PostReply实体类

Change-Id: I35c8a3d12e0dbfade1fbe3c7eefdd72d7030b6a7
diff --git a/src/main/java/database/DataManagerInterface.java b/src/main/java/database/DataManagerInterface.java
index f8d0940..d284288 100644
--- a/src/main/java/database/DataManagerInterface.java
+++ b/src/main/java/database/DataManagerInterface.java
@@ -1,12 +1,12 @@
 package database;
 
+import object.BegInfo;
+import object.Notice;
+import object.Post;
+import object.Profile;
 import object.Seed;
 import object.User;
 import object.UserPT;
-import object.Notice;
-import object.BegInfo;
-import object.Post;
-import object.Profile;
 public interface DataManagerInterface{
 //DB1
 
@@ -39,10 +39,10 @@
 // ----------------------------------------------------------------------------------------------------
 
 //DB2
-    public boolean AddBegSeed(BegInfo info);//添加一个新的求种信息,返回状态:0 success,1 重复,2其他原因
-    public boolean UpdateBegSeed(BegInfo info);//更新一个求种信息,返回状态:0 success,1 重复,2其他原因
-    public boolean DeleteBegSeed(String begid);//删除一个求种信息,返回状态:0 success,1 重复,2其他原因
-    public boolean VoteSeed(String begid,String userid,boolean vote);//投票,返回状态:0 success,1 重复,2其他原因,vote=true表示赞成,vote=false表示反对
+    public int AddBegSeed(BegInfo info);//添加一个新的求种信息,返回状态:0 success,1 重复,2其他原因
+    public int UpdateBegSeed(BegInfo info);//更新一个求种信息,返回状态:0 success,1 重复,2其他原因
+    public int DeleteBegSeed(String begid);//删除一个求种信息,返回状态:0 success,1 重复,2其他原因
+    public int VoteSeed(String begId, String seedId, String userId);//求种结果投票,返回状态:0 success,1 重复,2其他原因
     public int SubmitSeed(String begid,Seed seed);//提交种子,返回状态:0 success,1 重复,2其他原因
     public void SettleBeg();//结算所有求种信息,求种信息中需要增加Beg截止日期,默认14天,期间投票>的则Beg成功,否则Beg失败,并发放对应奖励
 
@@ -50,7 +50,7 @@
     public int UpdatePost(Post post);//更新一个帖子,返回状态:0 success,1 不存在,2其他原因
     public int DeletePost(String postid);//删除一个帖子,返回状态:0 success,1 不存在,2其他原因
 
-    public int AddComment(String postid,String comment);//添加一个评论,返回状态:0 success,1 不存在,2其他原因
+    public int AddComment(String postid, String userid, String comment);//添加一个评论,返回状态:0 success,1 不存在,2其他原因
     public int DeleteComment(String postid,String commentid);//删除一个评论,返回状态:0 success,1 不存在,2其他原因
 
     
diff --git a/src/main/java/object/PostReply.java b/src/main/java/object/PostReply.java
new file mode 100644
index 0000000..bc95625
--- /dev/null
+++ b/src/main/java/object/PostReply.java
@@ -0,0 +1,38 @@
+package object;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Entity
+@Table(name = "PostReply")
+public class PostReply {
+    @Id
+    @Column(name = "reply_id", length = 64, nullable = false)
+    public String replyid;
+
+    @Column(name = "post_id", length = 64, nullable = false)
+    public String postid;
+
+    @ManyToOne(optional = false)
+    @JoinColumn(name = "post_id", referencedColumnName = "post_id", 
+                foreignKey = @ForeignKey(name = "fk_pr_post"), 
+                insertable = false, updatable = false)
+    public Post post;
+
+    @Column(name = "author_id", length = 36, nullable = false)
+    public String authorid;
+
+    @ManyToOne(optional = false)
+    @JoinColumn(name = "author_id", referencedColumnName = "user_id", 
+                foreignKey = @ForeignKey(name = "fk_pr_user"), 
+                insertable = false, updatable = false)
+    public User author;
+
+    @Lob
+    @Column(name = "content", nullable = false)
+    public String content;
+
+    @Column(name = "created_at", nullable = false)
+    @Temporal(TemporalType.TIMESTAMP)
+    public Date createdAt;
+}
\ No newline at end of file
diff --git "a/\345\274\200\345\217\221\346\226\207\346\241\243/API\346\226\207\346\241\243.md" "b/\345\274\200\345\217\221\346\226\207\346\241\243/API\346\226\207\346\241\243.md"
index f46d856..16c7315 100644
--- "a/\345\274\200\345\217\221\346\226\207\346\241\243/API\346\226\207\346\241\243.md"
+++ "b/\345\274\200\345\217\221\346\226\207\346\241\243/API\346\226\207\346\241\243.md"
@@ -175,7 +175,6 @@
   * 做种数(小于等于环境变量:预期做种数)

   * 奖励魔力值数量:

   * 是否继续缓存:0表示继续缓存,1表示不在缓存中

-

 * Transport:种子传输信息表

   * 传输任务ID:唯一标识每次传输任务,每次增量的时候通过选择ID然后增加对应字段值,主键

   * 上传用户ID:字符串,主键,同时应该是User表的外键(User表中有这里才能插入,User表删除了,这里必须要删除)

@@ -185,7 +184,6 @@
   * 用户下载量:整数

   * 用户上传峰值:整数

   * 用户下载峰值:整数

-

 * BegSeed:求种任务列表

   * 求种帖子ID:唯一标识

   * 求种人数:有多少个人页点了“求种”,整数

@@ -195,7 +193,7 @@
 * SubmitSeed:提交悬赏任务

   * 求种ID:唯一标识需要是BegSeed的外键

   * 种子ID:唯一标识:需要是Seed的外键

-  * 投票:大于环境变量设置票数则在BegSeed中更新为合适

+  * 投票:大于环境变量设置票数则在BegSeed中更新为合适,int值,悬赏周期结束后,选取投票数最高的成为悬赏结果

 * 帖子表

   * 帖子ID:唯一标识

   * 标题,

@@ -210,7 +208,6 @@
   * 回复内容,

   * 回复用户,

   * 回复时间

-

 * 公告表

   * 公告ID

   * 公告内容,

@@ -228,6 +225,14 @@
   * 已发放魔力值

   * 待发放上传量

   * 已发放上传量

+* 申诉表

+  * 申诉id

+  * 申诉人

+  * 申诉内容

+  * 申诉文件URL、

+  * 审核状态(int)

+

+* TTorent表

 

 ```sql

 -- 用户表

@@ -401,5 +406,22 @@
   CONSTRAINT `fk_um_user` FOREIGN KEY (`user_id`) REFERENCES `User`(`user_id`) ON DELETE CASCADE

 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

 

+-- 申诉表

+CREATE TABLE `Appeal` (

+  `appeal_id` VARCHAR(64) NOT NULL COMMENT '申诉ID',

+  `user_id`   VARCHAR(36) NOT NULL COMMENT '申诉人(User.user_id)',

+  `content`   TEXT         NOT NULL COMMENT '申诉内容',

+  `file_url`  VARCHAR(255) DEFAULT NULL COMMENT '申诉文件URL',

+  `status`    INT          NOT NULL DEFAULT 0 COMMENT '审核状态',

+  PRIMARY KEY (`appeal_id`),

+  CONSTRAINT `fk_appeal_user`

+    FOREIGN KEY (`user_id`)

+    REFERENCES `User`(`user_id`)

+    ON DELETE CASCADE

+) ENGINE=InnoDB

+  DEFAULT CHARSET=utf8mb4

+  COMMENT='申诉表,记录用户的申诉信息';

+

+

 ```

 

diff --git "a/\345\274\200\345\217\221\346\226\207\346\241\243/create.sql" "b/\345\274\200\345\217\221\346\226\207\346\241\243/create.sql"
index b5daae4..74b40c5 100644
--- "a/\345\274\200\345\217\221\346\226\207\346\241\243/create.sql"
+++ "b/\345\274\200\345\217\221\346\226\207\346\241\243/create.sql"
@@ -169,3 +169,14 @@
   CONSTRAINT `fk_um_user` FOREIGN KEY (`user_id`) REFERENCES `User`(`user_id`) ON DELETE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
+-- 悬赏任务用户投票表
+CREATE TABLE `UserVotes` (
+  `user_id` VARCHAR(36) NOT NULL,
+  `beg_id` VARCHAR(64) NOT NULL,
+  `seed_id` VARCHAR(64) NOT NULL,
+  `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`user_id`, `beg_id`, `seed_id`),
+  FOREIGN KEY (`user_id`) REFERENCES `User`(`user_id`) ON DELETE CASCADE,
+  FOREIGN KEY (`beg_id`) REFERENCES `BegSeed`(`beg_id`) ON DELETE CASCADE,
+  FOREIGN KEY (`seed_id`) REFERENCES `Seed`(`seed_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
\ No newline at end of file