diff --git a/src/main/java/database/DataManagerInterface.java b/src/main/java/database/DataManagerInterface.java
index f8d0940..fdaec8c 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 userid,boolean vote);//投票，返回状态：0 success，1 重复，2其他原因,vote=true表示赞成，vote=false表示反对
     public int SubmitSeed(String begid,Seed seed);//提交种子，返回状态：0 success，1 重复，2其他原因
     public void SettleBeg();//结算所有求种信息，求种信息中需要增加Beg截止日期，默认14天，期间投票>的则Beg成功，否则Beg失败，并发放对应奖励
 
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='申诉表，记录用户的申诉信息';
+
+
 ```
 
