Complete the corrections of the errors in the last submission.Create the backend code structure
Please enter the commit message for your changes. Lines starting
Change-Id: I3f0c3764560b14466236e66627f34d8b71b05cd8
diff --git a/src/main/java/com/g9/g9backend/G9BackendApplication.java b/src/main/java/com/g9/g9backend/G9BackendApplication.java
index aca5308..c241d07 100644
--- a/src/main/java/com/g9/g9backend/G9BackendApplication.java
+++ b/src/main/java/com/g9/g9backend/G9BackendApplication.java
@@ -1,9 +1,13 @@
package com.g9.g9backend;
+import com.github.jeffreyning.mybatisplus.conf.EnableMPP;
+import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
+@MapperScan("com.g9.g9backend.mapper")
+@EnableMPP
public class G9BackendApplication {
public static void main(String[] args) {
diff --git a/src/main/java/com/g9/g9backend/config/MybatisPlusConfig.java b/src/main/java/com/g9/g9backend/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..31cc606
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/config/MybatisPlusConfig.java
@@ -0,0 +1,23 @@
+package com.g9.g9backend.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+@Configuration
+@EnableTransactionManagement
+@MapperScan( { "com.g9.g9backend.mapper" })
+public class MybatisPlusConfig {
+
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
+ mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+ return mybatisPlusInterceptor;
+ }
+
+}
diff --git a/src/main/java/com/g9/g9backend/controller/AIController.java b/src/main/java/com/g9/g9backend/controller/AIController.java
new file mode 100644
index 0000000..d291739
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/controller/AIController.java
@@ -0,0 +1,18 @@
+package com.g9.g9backend.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * AIController AI控制器类,处理与智能搜索/推荐相关的请求
+ *
+ * @author Seamher
+ */
+@RestController
+@RequestMapping("/ai")
+public class AIController {
+
+ private final Logger logger = LoggerFactory.getLogger(AIController.class);
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/controller/CommunityController.java b/src/main/java/com/g9/g9backend/controller/CommunityController.java
new file mode 100644
index 0000000..229fe96
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/controller/CommunityController.java
@@ -0,0 +1,16 @@
+package com.g9.g9backend.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * CommunityController 社区控制器类,处理与社区相关的请求
+ *
+ * @author Seamher
+ */
+@RestController
+public class CommunityController {
+
+ private final Logger logger = LoggerFactory.getLogger(CommunityController.class);
+}
diff --git a/src/main/java/com/g9/g9backend/controller/FileController.java b/src/main/java/com/g9/g9backend/controller/FileController.java
new file mode 100644
index 0000000..1f9ccd2
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/controller/FileController.java
@@ -0,0 +1,18 @@
+package com.g9.g9backend.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * FileController 文件控制器类,处理与文件相关的请求
+ *
+ * @author Seamher
+ */
+@RestController
+@RequestMapping("/file")
+public class FileController {
+
+ private final Logger logger = LoggerFactory.getLogger(FileController.class);
+}
diff --git a/src/main/java/com/g9/g9backend/controller/NotificationController.java b/src/main/java/com/g9/g9backend/controller/NotificationController.java
new file mode 100644
index 0000000..c774041
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/controller/NotificationController.java
@@ -0,0 +1,18 @@
+package com.g9.g9backend.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * NotificationController 通知控制器类,处理与通知相关的请求
+ *
+ * @author Seamher
+ */
+@RestController
+@RequestMapping("/notification")
+public class NotificationController {
+
+ private final Logger logger = LoggerFactory.getLogger(NotificationController.class);
+}
diff --git a/src/main/java/com/g9/g9backend/controller/ResourceController.java b/src/main/java/com/g9/g9backend/controller/ResourceController.java
new file mode 100644
index 0000000..5398d0a
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/controller/ResourceController.java
@@ -0,0 +1,18 @@
+package com.g9.g9backend.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * ResourceController 资源控制器类,处理与资源相关的请求
+ *
+ * @author hcy
+ */
+@RestController
+@RequestMapping("/resource")
+public class ResourceController {
+
+ private final Logger logger = LoggerFactory.getLogger(ResourceController.class);
+}
diff --git a/src/main/java/com/g9/g9backend/controller/RewardController.java b/src/main/java/com/g9/g9backend/controller/RewardController.java
new file mode 100644
index 0000000..c5b316b
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/controller/RewardController.java
@@ -0,0 +1,18 @@
+package com.g9.g9backend.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * RewardController 悬赏控制器类,处理与悬赏相关的请求
+ *
+ * @author Seamher
+ */
+@RestController
+@RequestMapping("/reward")
+public class RewardController {
+
+ private final Logger logger = LoggerFactory.getLogger(RewardController.class);
+}
diff --git a/src/main/java/com/g9/g9backend/controller/UserController.java b/src/main/java/com/g9/g9backend/controller/UserController.java
new file mode 100644
index 0000000..ca6de5c
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/controller/UserController.java
@@ -0,0 +1,20 @@
+package com.g9.g9backend.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * UserController 用户控制器类,处理与用户相关的请求
+ *
+ * @author hcy
+ */
+@RestController
+@RequestMapping("/user")
+public class UserController {
+
+ private final Logger logger = LoggerFactory.getLogger(UserController.class);
+}
+
+
diff --git a/src/main/java/com/g9/g9backend/mapper/CommentMapper.java b/src/main/java/com/g9/g9backend/mapper/CommentMapper.java
new file mode 100644
index 0000000..abb0c25
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/CommentMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.Comment;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CommentMapper extends BaseMapper<Comment> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/CommunityMapper.java b/src/main/java/com/g9/g9backend/mapper/CommunityMapper.java
new file mode 100644
index 0000000..65f152c
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/CommunityMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.Community;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CommunityMapper extends BaseMapper<Community> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/GameplayMapper.java b/src/main/java/com/g9/g9backend/mapper/GameplayMapper.java
new file mode 100644
index 0000000..b8db270
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/GameplayMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.g9.g9backend.pojo.Gameplay;
+import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface GameplayMapper extends MppBaseMapper<Gameplay> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/InvitationMapper.java b/src/main/java/com/g9/g9backend/mapper/InvitationMapper.java
new file mode 100644
index 0000000..a7beab4
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/InvitationMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.Invitation;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface InvitationMapper extends BaseMapper<Invitation> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/NotificationMapper.java b/src/main/java/com/g9/g9backend/mapper/NotificationMapper.java
new file mode 100644
index 0000000..2eebdeb
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/NotificationMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.Notification;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface NotificationMapper extends BaseMapper<Notification> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/ResourceMapper.java b/src/main/java/com/g9/g9backend/mapper/ResourceMapper.java
new file mode 100644
index 0000000..143fac1
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/ResourceMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.Resource;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ResourceMapper extends BaseMapper<Resource> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/ResourceVersionMapper.java b/src/main/java/com/g9/g9backend/mapper/ResourceVersionMapper.java
new file mode 100644
index 0000000..8184acd
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/ResourceVersionMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.ResourceVersion;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ResourceVersionMapper extends BaseMapper<ResourceVersion> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/RewardMapper.java b/src/main/java/com/g9/g9backend/mapper/RewardMapper.java
new file mode 100644
index 0000000..2186c98
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/RewardMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.Reward;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RewardMapper extends BaseMapper<Reward> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/SearchHistoryMapper.java b/src/main/java/com/g9/g9backend/mapper/SearchHistoryMapper.java
new file mode 100644
index 0000000..96e8f38
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/SearchHistoryMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.SearchHistory;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SearchHistoryMapper extends BaseMapper<SearchHistory> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/SubscriptionMapper.java b/src/main/java/com/g9/g9backend/mapper/SubscriptionMapper.java
new file mode 100644
index 0000000..acdc946
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/SubscriptionMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.g9.g9backend.pojo.Subscription;
+import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SubscriptionMapper extends MppBaseMapper<Subscription> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/ThreadMapper.java b/src/main/java/com/g9/g9backend/mapper/ThreadMapper.java
new file mode 100644
index 0000000..2dc2e6c
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/ThreadMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.Thread;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ThreadMapper extends BaseMapper<Thread> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/TorrentRecordMapper.java b/src/main/java/com/g9/g9backend/mapper/TorrentRecordMapper.java
new file mode 100644
index 0000000..f10fd73
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/TorrentRecordMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.TorrentRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface TorrentRecordMapper extends BaseMapper<TorrentRecord> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/UserCollectionMapper.java b/src/main/java/com/g9/g9backend/mapper/UserCollectionMapper.java
new file mode 100644
index 0000000..b12680f
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/UserCollectionMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.g9.g9backend.pojo.UserCollection;
+import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface UserCollectionMapper extends MppBaseMapper<UserCollection> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/UserLikeMapper.java b/src/main/java/com/g9/g9backend/mapper/UserLikeMapper.java
new file mode 100644
index 0000000..ec59892
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/UserLikeMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.g9.g9backend.pojo.UserLike;
+import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface UserLikeMapper extends MppBaseMapper<UserLike> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/UserMapper.java b/src/main/java/com/g9/g9backend/mapper/UserMapper.java
new file mode 100644
index 0000000..9efd790
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/UserMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.g9.g9backend.pojo.User;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface UserMapper extends BaseMapper<User> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/UserPurchaseMapper.java b/src/main/java/com/g9/g9backend/mapper/UserPurchaseMapper.java
new file mode 100644
index 0000000..4af725a
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/UserPurchaseMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.g9.g9backend.pojo.UserPurchase;
+import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface UserPurchaseMapper extends MppBaseMapper<UserPurchase> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/UserUploadMapper.java b/src/main/java/com/g9/g9backend/mapper/UserUploadMapper.java
new file mode 100644
index 0000000..403f742
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/UserUploadMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.g9.g9backend.pojo.UserUpload;
+import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface UserUploadMapper extends MppBaseMapper<UserUpload> {
+}
diff --git a/src/main/java/com/g9/g9backend/mapper/VersionMapper.java b/src/main/java/com/g9/g9backend/mapper/VersionMapper.java
new file mode 100644
index 0000000..fbf2b83
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/mapper/VersionMapper.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.mapper;
+
+import com.g9.g9backend.pojo.Version;
+import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface VersionMapper extends MppBaseMapper<Version> {
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/Comment.java b/src/main/java/com/g9/g9backend/pojo/Comment.java
new file mode 100644
index 0000000..08ebed6
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Comment.java
@@ -0,0 +1,34 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+import java.util.Date;
+
+/**
+ * Comment 实体类,表示评论的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Comment {
+
+ @TableId
+ private int commentId;
+
+ private int userId;
+
+ private int threadId;
+
+ private int resourceId;
+
+ private int rewardId;
+
+ private int replyId;
+
+ private String content;
+
+ private Date createAt;
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/Community.java b/src/main/java/com/g9/g9backend/pojo/Community.java
new file mode 100644
index 0000000..35f63de
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Community.java
@@ -0,0 +1,32 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+/**
+ * Community 实体类,表示社区的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Community {
+
+ @TableId
+ private int communityId;
+
+ private String communityName;
+
+ private String communityPicture;
+
+ private String description;
+
+ private float hot;
+
+ private String type;
+
+ private int threadNumber;
+
+ private int resourceId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/DTO/GetInvitationCodeDTO.java b/src/main/java/com/g9/g9backend/pojo/DTO/GetInvitationCodeDTO.java
new file mode 100644
index 0000000..2f3aaf2
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/DTO/GetInvitationCodeDTO.java
@@ -0,0 +1,27 @@
+package com.g9.g9backend.pojo.DTO;
+
+import com.g9.g9backend.pojo.Invitation;
+import lombok.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class GetInvitationCodeDTO {
+
+ // 调用 .add() 方法之前,确保 invitationCodeList 已经被实例化,否则会抛出空指针
+ private List<InvitationCode> invitationCodeList = new ArrayList<>();
+
+ public GetInvitationCodeDTO(List<Invitation> invitationList) {
+ for (Invitation invitation : invitationList) {
+ invitationCodeList.add(new InvitationCode(invitation.getInvitationCode()));
+ }
+ }
+
+ // 内部类 InvitationCode
+ @Data //注意没有@Data的话即没有getter、setter方法,会导致Jackson无法获取私有字段(仅对private)的值,从而无法序列化这个类
+ @AllArgsConstructor
+ public static class InvitationCode {
+ private String invitationCode;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/DTO/GetUserRewardDTO.java b/src/main/java/com/g9/g9backend/pojo/DTO/GetUserRewardDTO.java
new file mode 100644
index 0000000..237d707
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/DTO/GetUserRewardDTO.java
@@ -0,0 +1,23 @@
+package com.g9.g9backend.pojo.DTO;
+
+import com.g9.g9backend.pojo.Reward;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+public class GetUserRewardDTO {
+
+ private List<Reward> rewardList;
+
+ private long total;
+
+ private long pages;
+
+ private long current;
+
+ private long size;
+
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/DTO/RegisterDTO.java b/src/main/java/com/g9/g9backend/pojo/DTO/RegisterDTO.java
new file mode 100644
index 0000000..c7263dd
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/DTO/RegisterDTO.java
@@ -0,0 +1,16 @@
+package com.g9.g9backend.pojo.DTO;
+
+import lombok.*;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class RegisterDTO {
+
+ private String username;
+
+ private String password;
+
+ private String invitationCode;
+
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/Gameplay.java b/src/main/java/com/g9/g9backend/pojo/Gameplay.java
new file mode 100644
index 0000000..dfde540
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Gameplay.java
@@ -0,0 +1,21 @@
+package com.g9.g9backend.pojo;
+
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+import lombok.*;
+
+/**
+ * Gameplay 实体类,表示游戏玩法的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Gameplay {
+
+ @MppMultiId
+ private String gameplayName;
+
+ @MppMultiId
+ private int resourceId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/Invitation.java b/src/main/java/com/g9/g9backend/pojo/Invitation.java
new file mode 100644
index 0000000..782b0e1
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Invitation.java
@@ -0,0 +1,22 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+/**
+ * Invitation 实体类,表示邀请的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Invitation {
+
+ @TableId
+ private String invitationCode;
+
+ private int userId;
+
+ private int inviteeId;
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/Notification.java b/src/main/java/com/g9/g9backend/pojo/Notification.java
new file mode 100644
index 0000000..18f8e37
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Notification.java
@@ -0,0 +1,36 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+import java.util.Date;
+
+/**
+ * Notification 实体类,表示通知的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Notification {
+
+ @TableId
+ private int notificationId;
+
+ private int userId;
+
+ private String type;
+
+ private String title;
+
+ private String content;
+
+ private Date createAt;
+
+ private boolean isRead;
+
+ private int triggeredBy;
+
+ private int relatedId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/Resource.java b/src/main/java/com/g9/g9backend/pojo/Resource.java
new file mode 100644
index 0000000..f4346b2
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Resource.java
@@ -0,0 +1,46 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+import java.util.Date;
+
+/**
+ * Resource 实体类,表示资源的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Resource {
+
+ @TableId
+ private int resourceId;
+
+ private String resourceName;
+
+ private String resourcePicture;
+
+ private String resourceSummary;
+
+ private String resourceDetail;
+
+ private Date uploadTime;
+
+ private Date lastUpdateTime;
+
+ private float price;
+
+ private int downloads;
+
+ private int likes;
+
+ private int collections;
+
+ private int comments;
+
+ private int seeds;
+
+ private String classify;
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/ResourceVersion.java b/src/main/java/com/g9/g9backend/pojo/ResourceVersion.java
new file mode 100644
index 0000000..1e4acf9
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/ResourceVersion.java
@@ -0,0 +1,22 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+/**
+ * ResourceVersion 实体类,表示资源版本的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ResourceVersion {
+
+ @TableId
+ private int resourceVersionId;
+
+ private String resourceVersionName;
+
+ private int resourceId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/Reward.java b/src/main/java/com/g9/g9backend/pojo/Reward.java
new file mode 100644
index 0000000..91e376d
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Reward.java
@@ -0,0 +1,40 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+import java.util.Date;
+
+/**
+ * Reward 实体类,表示悬赏的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Reward {
+
+ @TableId
+ private int rewardId;
+
+ private String rewardName;
+
+ private String rewardPicture;
+
+ private int userId;
+
+ private float price;
+
+ private String rewardDescription;
+
+ private Date createAt;
+
+ private Date lastUpdateAt;
+
+ private int completedBy;
+
+ private Date completedAt;
+
+ private int resourceId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/SearchHistory.java b/src/main/java/com/g9/g9backend/pojo/SearchHistory.java
new file mode 100644
index 0000000..ba8894c
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/SearchHistory.java
@@ -0,0 +1,22 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+/**
+ * SearchHistory 实体类,表示搜索历史的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SearchHistory {
+
+ @TableId
+ private int searchHistoryId;
+
+ private String searchContent;
+
+ private int userId;
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/Subscription.java b/src/main/java/com/g9/g9backend/pojo/Subscription.java
new file mode 100644
index 0000000..399399e
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Subscription.java
@@ -0,0 +1,21 @@
+package com.g9.g9backend.pojo;
+
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+import lombok.*;
+
+/**
+ * Subscription 实体类,表示订阅的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Subscription {
+
+ @MppMultiId
+ private int userId;
+
+ @MppMultiId
+ private int followerId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/Thread.java b/src/main/java/com/g9/g9backend/pojo/Thread.java
new file mode 100644
index 0000000..f14929c
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Thread.java
@@ -0,0 +1,38 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+import java.util.Date;
+
+/**
+ * Thread 实体类,表示评论的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Thread {
+
+ @TableId
+ private int threadId;
+
+ private int userId;
+
+ private String threadPicture;
+
+ private String title;
+
+ private String content;
+
+ private int likes;
+
+ private boolean isLike;
+
+ private Date createAt;
+
+ private int commentNumber;
+
+ private int communityId;
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/TorrentRecord.java b/src/main/java/com/g9/g9backend/pojo/TorrentRecord.java
new file mode 100644
index 0000000..89ed56b
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/TorrentRecord.java
@@ -0,0 +1,30 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+import java.util.Date;
+
+/**
+ * TorrentRecord 实体类,表示做种记录的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TorrentRecord {
+
+ @TableId
+ private int torrentRecordId;
+
+ private String torrentUrl;
+
+ private String infoHash;
+
+ private Date uploadTime;
+
+ private int uploaderUserId;
+
+ private int resourceVersionId;
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/User.java b/src/main/java/com/g9/g9backend/pojo/User.java
new file mode 100644
index 0000000..2915460
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/User.java
@@ -0,0 +1,36 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+/**
+ * User 实体类,表示用户的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class User {
+
+ @TableId
+ private int userId;
+
+ private String username;
+
+ private String password;
+
+ private String avatar;
+
+ private int followerCount;
+
+ private int subscriberCount;
+
+ private String signature;
+
+ private int uploadAmount;
+
+ private int purchaseAmount;
+
+ private int credits;
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/UserCollection.java b/src/main/java/com/g9/g9backend/pojo/UserCollection.java
new file mode 100644
index 0000000..7ffb746
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/UserCollection.java
@@ -0,0 +1,22 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+import lombok.*;
+
+/**
+ * UserCollection 实体类,表示用户收藏的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserCollection {
+
+ @MppMultiId
+ private int userId;
+
+ @MppMultiId
+ private int resourceId;
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/UserLike.java b/src/main/java/com/g9/g9backend/pojo/UserLike.java
new file mode 100644
index 0000000..585661b
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/UserLike.java
@@ -0,0 +1,22 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+import lombok.*;
+
+/**
+ * UserLike 实体类,表示用户点赞的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserLike {
+
+ @MppMultiId
+ private int userId;
+
+ @MppMultiId
+ private int resourceId;
+}
diff --git a/src/main/java/com/g9/g9backend/pojo/UserPurchase.java b/src/main/java/com/g9/g9backend/pojo/UserPurchase.java
new file mode 100644
index 0000000..80ac247
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/UserPurchase.java
@@ -0,0 +1,22 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+import lombok.*;
+
+/**
+ * UserPurchase 实体类,表示用户购买的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserPurchase {
+
+ @MppMultiId
+ private int userId;
+
+ @MppMultiId
+ private int resourceId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/UserUpload.java b/src/main/java/com/g9/g9backend/pojo/UserUpload.java
new file mode 100644
index 0000000..8f9fc42
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/UserUpload.java
@@ -0,0 +1,22 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+import lombok.*;
+
+/**
+ * UserUpload 实体类,表示用户上传的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserUpload {
+
+ @MppMultiId
+ private int userId;
+
+ @MppMultiId
+ private int resourceId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/pojo/Version.java b/src/main/java/com/g9/g9backend/pojo/Version.java
new file mode 100644
index 0000000..1f4fe9f
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/pojo/Version.java
@@ -0,0 +1,22 @@
+package com.g9.g9backend.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+import lombok.*;
+
+/**
+ * Version 实体类,表示游戏版本的数据模型
+ *
+ * @author hcy
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Version {
+
+ @MppMultiId
+ private String versionName;
+
+ @MppMultiId
+ private int resourceVersionId;
+}
diff --git a/src/main/java/com/g9/g9backend/service/CommentService.java b/src/main/java/com/g9/g9backend/service/CommentService.java
new file mode 100644
index 0000000..11cee22
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/CommentService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.Comment;
+
+public interface CommentService extends IService<Comment> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/CommunityService.java b/src/main/java/com/g9/g9backend/service/CommunityService.java
new file mode 100644
index 0000000..a9bb07b
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/CommunityService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.Community;
+
+public interface CommunityService extends IService<Community> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/GameplayService.java b/src/main/java/com/g9/g9backend/service/GameplayService.java
new file mode 100644
index 0000000..46abf47
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/GameplayService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.g9.g9backend.pojo.Gameplay;
+import com.github.jeffreyning.mybatisplus.service.IMppService;
+
+public interface GameplayService extends IMppService<Gameplay> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/InvitationService.java b/src/main/java/com/g9/g9backend/service/InvitationService.java
new file mode 100644
index 0000000..3708d53
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/InvitationService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.Invitation;
+
+public interface InvitationService extends IService<Invitation> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/NotificationService.java b/src/main/java/com/g9/g9backend/service/NotificationService.java
new file mode 100644
index 0000000..81df5ba
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/NotificationService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.Notification;
+
+public interface NotificationService extends IService<Notification> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/ResourceService.java b/src/main/java/com/g9/g9backend/service/ResourceService.java
new file mode 100644
index 0000000..80a5894
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/ResourceService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.Resource;
+
+public interface ResourceService extends IService<Resource> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/ResourceVersionService.java b/src/main/java/com/g9/g9backend/service/ResourceVersionService.java
new file mode 100644
index 0000000..446843d
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/ResourceVersionService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.ResourceVersion;
+
+public interface ResourceVersionService extends IService<ResourceVersion> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/RewardService.java b/src/main/java/com/g9/g9backend/service/RewardService.java
new file mode 100644
index 0000000..3354687
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/RewardService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.Reward;
+
+public interface RewardService extends IService<Reward> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/SearchHistoryService.java b/src/main/java/com/g9/g9backend/service/SearchHistoryService.java
new file mode 100644
index 0000000..af571d3
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/SearchHistoryService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.SearchHistory;
+
+public interface SearchHistoryService extends IService<SearchHistory> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/SubscriptionService.java b/src/main/java/com/g9/g9backend/service/SubscriptionService.java
new file mode 100644
index 0000000..efb31a4
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/SubscriptionService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.g9.g9backend.pojo.Subscription;
+import com.github.jeffreyning.mybatisplus.service.IMppService;
+
+public interface SubscriptionService extends IMppService<Subscription> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/ThreadService.java b/src/main/java/com/g9/g9backend/service/ThreadService.java
new file mode 100644
index 0000000..8a7f6c0
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/ThreadService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.Thread;
+
+public interface ThreadService extends IService<Thread> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/TorrentRecordService.java b/src/main/java/com/g9/g9backend/service/TorrentRecordService.java
new file mode 100644
index 0000000..1be9886
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/TorrentRecordService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.TorrentRecord;
+
+public interface TorrentRecordService extends IService<TorrentRecord> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/UserCollectionService.java b/src/main/java/com/g9/g9backend/service/UserCollectionService.java
new file mode 100644
index 0000000..7445918
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/UserCollectionService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.g9.g9backend.pojo.UserCollection;
+import com.github.jeffreyning.mybatisplus.service.IMppService;
+
+public interface UserCollectionService extends IMppService<UserCollection> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/UserLikeService.java b/src/main/java/com/g9/g9backend/service/UserLikeService.java
new file mode 100644
index 0000000..97b710a
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/UserLikeService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.g9.g9backend.pojo.UserLike;
+import com.github.jeffreyning.mybatisplus.service.IMppService;
+
+public interface UserLikeService extends IMppService<UserLike> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/UserPurchaseService.java b/src/main/java/com/g9/g9backend/service/UserPurchaseService.java
new file mode 100644
index 0000000..4b0c810
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/UserPurchaseService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.g9.g9backend.pojo.UserPurchase;
+import com.github.jeffreyning.mybatisplus.service.IMppService;
+
+public interface UserPurchaseService extends IMppService<UserPurchase> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/UserService.java b/src/main/java/com/g9/g9backend/service/UserService.java
new file mode 100644
index 0000000..ef73123
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/UserService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.g9.g9backend.pojo.User;
+
+public interface UserService extends IService<User> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/UserUploadService.java b/src/main/java/com/g9/g9backend/service/UserUploadService.java
new file mode 100644
index 0000000..9de5434
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/UserUploadService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.g9.g9backend.pojo.UserUpload;
+import com.github.jeffreyning.mybatisplus.service.IMppService;
+
+public interface UserUploadService extends IMppService<UserUpload> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/VersionService.java b/src/main/java/com/g9/g9backend/service/VersionService.java
new file mode 100644
index 0000000..aff7fc7
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/VersionService.java
@@ -0,0 +1,7 @@
+package com.g9.g9backend.service;
+
+import com.g9.g9backend.pojo.Version;
+import com.github.jeffreyning.mybatisplus.service.IMppService;
+
+public interface VersionService extends IMppService<Version> {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/CommentServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/CommentServiceImpl.java
new file mode 100644
index 0000000..54d6baa
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/CommentServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.CommentMapper;
+import com.g9.g9backend.pojo.Comment;
+import com.g9.g9backend.service.CommentService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> implements CommentService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/CommunityServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/CommunityServiceImpl.java
new file mode 100644
index 0000000..b894c1d
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/CommunityServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.CommunityMapper;
+import com.g9.g9backend.pojo.Community;
+import com.g9.g9backend.service.CommunityService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community> implements CommunityService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/GameplayServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/GameplayServiceImpl.java
new file mode 100644
index 0000000..ea61895
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/GameplayServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.g9.g9backend.mapper.GameplayMapper;
+import com.g9.g9backend.pojo.Gameplay;
+import com.g9.g9backend.service.GameplayService;
+import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class GameplayServiceImpl extends MppServiceImpl<GameplayMapper, Gameplay> implements GameplayService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/InvitationServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/InvitationServiceImpl.java
new file mode 100644
index 0000000..9530312
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/InvitationServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.InvitationMapper;
+import com.g9.g9backend.pojo.Invitation;
+import com.g9.g9backend.service.InvitationService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class InvitationServiceImpl extends ServiceImpl<InvitationMapper, Invitation> implements InvitationService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/NotificationServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/NotificationServiceImpl.java
new file mode 100644
index 0000000..6201051
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/NotificationServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.NotificationMapper;
+import com.g9.g9backend.pojo.Notification;
+import com.g9.g9backend.service.NotificationService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class NotificationServiceImpl extends ServiceImpl<NotificationMapper, Notification> implements NotificationService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/ResourceServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/ResourceServiceImpl.java
new file mode 100644
index 0000000..978c4a0
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/ResourceServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.ResourceMapper;
+import com.g9.g9backend.pojo.Resource;
+import com.g9.g9backend.service.ResourceService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> implements ResourceService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/ResourceVersionServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/ResourceVersionServiceImpl.java
new file mode 100644
index 0000000..a0d684b
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/ResourceVersionServiceImpl.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.ResourceVersionMapper;
+import com.g9.g9backend.pojo.ResourceVersion;
+import com.g9.g9backend.service.ResourceVersionService;
+
+public class ResourceVersionServiceImpl extends ServiceImpl<ResourceVersionMapper, ResourceVersion> implements ResourceVersionService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/RewardServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/RewardServiceImpl.java
new file mode 100644
index 0000000..472d5d1
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/RewardServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.RewardMapper;
+import com.g9.g9backend.pojo.Reward;
+import com.g9.g9backend.service.RewardService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RewardServiceImpl extends ServiceImpl<RewardMapper, Reward> implements RewardService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/SearchHistoryServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/SearchHistoryServiceImpl.java
new file mode 100644
index 0000000..d226ff4
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/SearchHistoryServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.SearchHistoryMapper;
+import com.g9.g9backend.pojo.SearchHistory;
+import com.g9.g9backend.service.SearchHistoryService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SearchHistoryServiceImpl extends ServiceImpl<SearchHistoryMapper, SearchHistory> implements SearchHistoryService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/SubscriptionServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/SubscriptionServiceImpl.java
new file mode 100644
index 0000000..d432b0b
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/SubscriptionServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.g9.g9backend.mapper.SubscriptionMapper;
+import com.g9.g9backend.pojo.Subscription;
+import com.g9.g9backend.service.SubscriptionService;
+import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SubscriptionServiceImpl extends MppServiceImpl<SubscriptionMapper, Subscription> implements SubscriptionService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/ThreadServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/ThreadServiceImpl.java
new file mode 100644
index 0000000..e9468e2
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/ThreadServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.ThreadMapper;
+import com.g9.g9backend.pojo.Thread;
+import com.g9.g9backend.service.ThreadService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ThreadServiceImpl extends ServiceImpl<ThreadMapper, Thread> implements ThreadService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/TorrentRecordServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/TorrentRecordServiceImpl.java
new file mode 100644
index 0000000..3739fb0
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/TorrentRecordServiceImpl.java
@@ -0,0 +1,9 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.TorrentRecordMapper;
+import com.g9.g9backend.pojo.TorrentRecord;
+import com.g9.g9backend.service.TorrentRecordService;
+
+public class TorrentRecordServiceImpl extends ServiceImpl<TorrentRecordMapper, TorrentRecord> implements TorrentRecordService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/UserCollectionServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/UserCollectionServiceImpl.java
new file mode 100644
index 0000000..3cb2ede
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/UserCollectionServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.g9.g9backend.mapper.UserCollectionMapper;
+import com.g9.g9backend.pojo.UserCollection;
+import com.g9.g9backend.service.UserCollectionService;
+import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UserCollectionServiceImpl extends MppServiceImpl<UserCollectionMapper, UserCollection> implements UserCollectionService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/UserLikeServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/UserLikeServiceImpl.java
new file mode 100644
index 0000000..469032c
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/UserLikeServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.g9.g9backend.mapper.UserLikeMapper;
+import com.g9.g9backend.pojo.UserLike;
+import com.g9.g9backend.service.UserLikeService;
+import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UserLikeServiceImpl extends MppServiceImpl<UserLikeMapper, UserLike> implements UserLikeService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/UserPurchaseServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/UserPurchaseServiceImpl.java
new file mode 100644
index 0000000..8ce2735
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/UserPurchaseServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.g9.g9backend.mapper.UserPurchaseMapper;
+import com.g9.g9backend.pojo.UserPurchase;
+import com.g9.g9backend.service.UserPurchaseService;
+import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UserPurchaseServiceImpl extends MppServiceImpl<UserPurchaseMapper, UserPurchase> implements UserPurchaseService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/UserServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/UserServiceImpl.java
new file mode 100644
index 0000000..25ec0d6
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/UserServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.g9.g9backend.mapper.UserMapper;
+import com.g9.g9backend.pojo.User;
+import com.g9.g9backend.service.UserService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/UserUploadServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/UserUploadServiceImpl.java
new file mode 100644
index 0000000..73da607
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/UserUploadServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.g9.g9backend.mapper.UserUploadMapper;
+import com.g9.g9backend.pojo.UserUpload;
+import com.g9.g9backend.service.UserUploadService;
+import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UserUploadServiceImpl extends MppServiceImpl<UserUploadMapper, UserUpload> implements UserUploadService {
+}
diff --git a/src/main/java/com/g9/g9backend/service/impl/VersionServiceImpl.java b/src/main/java/com/g9/g9backend/service/impl/VersionServiceImpl.java
new file mode 100644
index 0000000..28ff686
--- /dev/null
+++ b/src/main/java/com/g9/g9backend/service/impl/VersionServiceImpl.java
@@ -0,0 +1,11 @@
+package com.g9.g9backend.service.impl;
+
+import com.g9.g9backend.mapper.VersionMapper;
+import com.g9.g9backend.pojo.Version;
+import com.g9.g9backend.service.VersionService;
+import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class VersionServiceImpl extends MppServiceImpl<VersionMapper, Version> implements VersionService {
+}