diff --git a/src/main/java/database/DataManagerInterface.java b/src/main/java/database/DataManagerInterface.java
index f8d0940..e20d533 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失败，并发放对应奖励
 
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
