diff --git a/src/main/java/database/DataManagerInterface.java b/src/main/java/database/DataManagerInterface.java
index 0c4dc7d..cf98f46 100644
--- a/src/main/java/database/DataManagerInterface.java
+++ b/src/main/java/database/DataManagerInterface.java
@@ -6,12 +6,15 @@
 import entity.Post;
 import entity.Profile;
 import entity.Seed;
+import entity.SeedPromotion;
+import entity.SeedWithPromotionDTO;
 import entity.User;
 import entity.UserPT;
 import entity.UserStar;
 import entity.PostReply;
 import entity.SeedWithVotes;
 import java.io.File;
+import java.util.Date;
 public interface DataManagerInterface{
 //DB1
 
@@ -30,7 +33,7 @@
     public int DeleteSeed(String seedid);//删除一个种子，返回状态：0 success，1 不存在,2其他原因
 
     public Seed[] SearchSeed(String userQ);//传入搜索的关键词或句子，返回搜索到的种子信息（按照公共字符数量排序）
-    public Seed[] GetSeedListByTag(String tag);//获取某个标签下的种子列表
+    public SeedWithPromotionDTO[] GetSeedListByTag(String tag);//获取某个标签下的种子列表
     public Seed[] GetSeedListByUser(String userid);//获取某个用户的种子列表
 
     public int AddNotice(Notice notice);//返回状态：0 success，1 重复，2其他原因
@@ -81,9 +84,12 @@
 
     public boolean UploadTransmitProfile(Profile profile);
     public Profile GetTransmitProfile(String profileid);//获取迁移信息
-    public boolean ExamTransmitProfile(String profileid,boolean result);//审核迁移信息,0成功，1失败
+    public boolean ExamTransmitProfile(String profileid, boolean result, Integer grantedUpload);//审核迁移信息,0成功，1失败
     public Profile[] GetTransmitProfileList();//获取所有迁移信息
     public int InviteNewUser(String inviterid, String invitedemail);//邀请新用户，返回状态：0 success，1 重复，2其他原因
-    public int UploadMigration(String userid, File file);
+    public int UploadMigration(String userid, File file, String uploadtogive);
     public int createBagSeed(BegInfo begInfo, String userid, String info);
+    public Seed[] getAllSeeds(); // 获取所有种子信息
+    public SeedPromotion[] getAllSeedPromotions(); // 获取所有种子推广信息
+    public int createSeedPromotion(String seedid, Date startTime, Date endTime, Integer discount); // 添加种子推广信息
 }   
\ No newline at end of file
