修改Vip部分接口,实现Vip和DB1接口功能及单元测试,新增VipSeed和UserStar实体类

Change-Id: I0479a68f3ff8c8ccd0fd7e9e5894e5b48cb7ffec
diff --git a/src/main/java/entity/UserStar.java b/src/main/java/entity/UserStar.java
new file mode 100644
index 0000000..c0bf225
--- /dev/null
+++ b/src/main/java/entity/UserStar.java
@@ -0,0 +1,43 @@
+package entity;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.ForeignKey;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "UserFavorite")
+@IdClass(UserStarId.class)  
+public class UserStar {
+    @Id
+    @Column(name = "user_id", length = 36, nullable = false)
+    public String userid;  
+
+    @Id
+    @Column(name = "seed_id", length = 64, nullable = false)
+    public String seedid;
+
+    @OneToOne(optional = false)
+    @JoinColumn(
+        name = "user_id",
+        referencedColumnName = "user_id",
+        foreignKey = @ForeignKey(name = "fk_user_id"),
+        insertable = false, updatable = false
+    )
+    public User user;
+
+    @OneToOne(optional = false)
+    @JoinColumn(
+        name = "seed_id",
+        referencedColumnName = "seed_id",
+        foreignKey = @ForeignKey(name = "fk_seed_id"),
+        insertable = false, updatable = false
+    )
+    public Seed seed;
+
+    public UserStar() {}  
+}
\ No newline at end of file
diff --git a/src/main/java/entity/UserStarId.java b/src/main/java/entity/UserStarId.java
new file mode 100644
index 0000000..6cc362b
--- /dev/null
+++ b/src/main/java/entity/UserStarId.java
@@ -0,0 +1,29 @@
+package entity;
+
+import java.io.Serializable;
+import java.util.Objects;
+
+public class UserStarId implements Serializable {
+    public String userid;  
+    public String seedid;
+
+    public UserStarId() {}  
+
+    public UserStarId(String userid, String seedid) {
+        this.userid = userid;
+        this.seedid = seedid;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        UserStarId that = (UserStarId) o;
+        return Objects.equals(userid, that.userid) && Objects.equals(seedid, that.seedid);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(userid, seedid);
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/entity/VipSeed.java b/src/main/java/entity/VipSeed.java
new file mode 100644
index 0000000..72f8abf
--- /dev/null
+++ b/src/main/java/entity/VipSeed.java
@@ -0,0 +1,43 @@
+package entity;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.ForeignKey;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "VipSeed")
+public class VipSeed {
+    @Id
+    @Column(name = "seed_id", length = 64, nullable = false)
+    public String seedid;
+
+    @OneToOne(optional = false)
+    @JoinColumn(name = "seed_id", referencedColumnName = "seed_id", foreignKey = @ForeignKey(name = "fk_vip_seed"), insertable = false, updatable = false)
+    public Seed seed;
+
+    @Column(name = "seeder_count", nullable = false)
+    public int seedercount;
+
+    @Column(name = "reward_magic", nullable = false)
+    public int rewardmagic;
+
+    @Column(name = "stop_caching", nullable = false)
+    public int stopcaching;
+
+    @Column(name = "bonus", nullable = false)
+    public int bonus;
+
+    @Column(name = "cache_status", nullable = false)
+    public boolean cachestate;
+
+    @Column(name = "farmer_number", nullable = false)
+    public int farmernumber;
+
+    public VipSeed() {
+        // 默认构造函数
+    }
+}
\ No newline at end of file