diff --git a/.gitignore b/playedu-api/.gitignore
similarity index 100%
rename from .gitignore
rename to playedu-api/.gitignore
diff --git a/.mvn/wrapper/maven-wrapper.jar b/playedu-api/.mvn/wrapper/maven-wrapper.jar
similarity index 100%
rename from .mvn/wrapper/maven-wrapper.jar
rename to playedu-api/.mvn/wrapper/maven-wrapper.jar
diff --git a/.mvn/wrapper/maven-wrapper.properties b/playedu-api/.mvn/wrapper/maven-wrapper.properties
similarity index 100%
rename from .mvn/wrapper/maven-wrapper.properties
rename to playedu-api/.mvn/wrapper/maven-wrapper.properties
diff --git a/Dockerfile b/playedu-api/Dockerfile
similarity index 100%
rename from Dockerfile
rename to playedu-api/Dockerfile
diff --git a/Dockerfile.local b/playedu-api/Dockerfile.local
similarity index 100%
rename from Dockerfile.local
rename to playedu-api/Dockerfile.local
diff --git a/LICENSE b/playedu-api/LICENSE
similarity index 100%
rename from LICENSE
rename to playedu-api/LICENSE
diff --git a/header.txt b/playedu-api/header.txt
similarity index 100%
rename from header.txt
rename to playedu-api/header.txt
diff --git a/mvnw b/playedu-api/mvnw
similarity index 100%
rename from mvnw
rename to playedu-api/mvnw
diff --git a/mvnw.cmd b/playedu-api/mvnw.cmd
similarity index 100%
rename from mvnw.cmd
rename to playedu-api/mvnw.cmd
diff --git a/playedu-api/playedu-api/pom.xml b/playedu-api/playedu-api/pom.xml
new file mode 100644
index 0000000..f8afe7c
--- /dev/null
+++ b/playedu-api/playedu-api/pom.xml
@@ -0,0 +1,58 @@
+
+
+ 4.0.0
+
+ xyz.playedu
+ playedu
+ 1.2
+
+
+ playedu-api
+
+
+ 17
+
+
+
+
+ xyz.playedu
+ playedu-common
+ 1.2
+
+
+ xyz.playedu
+ playedu-system
+ 1.2
+
+
+ xyz.playedu
+ playedu-course
+ 1.2
+
+
+ xyz.playedu
+ playedu-resource
+ 1.2
+
+
+
+
+ playedu-api
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 3.1.2
+
+
+
+ repackage
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/playedu-api/src/main/java/xyz/playedu/api/PlayeduApiApplication.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/PlayeduApiApplication.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/PlayeduApiApplication.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/PlayeduApiApplication.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/bus/LoginBus.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/bus/LoginBus.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/bus/LoginBus.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/bus/LoginBus.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/bus/UserBus.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/bus/UserBus.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/bus/UserBus.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/bus/UserBus.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/cache/LoginLimitCache.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/cache/LoginLimitCache.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/cache/LoginLimitCache.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/cache/LoginLimitCache.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/cache/LoginLockCache.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/cache/LoginLockCache.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/cache/LoginLockCache.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/cache/LoginLockCache.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/ExceptionController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/ExceptionController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/ExceptionController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/ExceptionController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminLogController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminLogController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminLogController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminLogController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminRoleController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminRoleController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminRoleController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminRoleController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminUserController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminUserController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminUserController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminUserController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AppConfigController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AppConfigController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/AppConfigController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AppConfigController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseAttachmentController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseAttachmentController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseAttachmentController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseAttachmentController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseAttachmentDownloadLogController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseAttachmentDownloadLogController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseAttachmentDownloadLogController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseAttachmentDownloadLogController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseUserController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseUserController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseUserController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/CourseUserController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/DashboardController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/DashboardController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/DashboardController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/DashboardController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/LoginController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/LoginController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/LoginController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/LoginController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/ResourceCategoryController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/ResourceCategoryController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/ResourceCategoryController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/ResourceCategoryController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/SystemController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/SystemController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/SystemController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/SystemController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/UploadController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/UploadController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/UploadController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/UploadController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/UserController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/UserController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/backend/UserController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/backend/UserController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/CategoryController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/CategoryController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/frontend/CategoryController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/CategoryController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/CourseController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/CourseController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/frontend/CourseController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/CourseController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/DepartmentController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/DepartmentController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/frontend/DepartmentController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/DepartmentController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/HourController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/HourController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/frontend/HourController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/HourController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/IndexController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/IndexController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/frontend/IndexController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/IndexController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/SystemController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/SystemController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/frontend/SystemController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/SystemController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/UserController.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/UserController.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/controller/frontend/UserController.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/controller/frontend/UserController.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/AdminUserLoginEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/AdminUserLoginEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/AdminUserLoginEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/AdminUserLoginEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/CourseCategoryDestroyEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseCategoryDestroyEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/CourseCategoryDestroyEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseCategoryDestroyEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/CourseDestroyEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseDestroyEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/CourseDestroyEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseDestroyEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/CourseHourCreatedEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseHourCreatedEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/CourseHourCreatedEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseHourCreatedEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/CourseHourDestroyEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseHourDestroyEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/CourseHourDestroyEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/CourseHourDestroyEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/DepartmentDestroyEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/DepartmentDestroyEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/DepartmentDestroyEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/DepartmentDestroyEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/ResourceCategoryDestroyEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/ResourceCategoryDestroyEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/ResourceCategoryDestroyEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/ResourceCategoryDestroyEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/UserCourseHourFinishedEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserCourseHourFinishedEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/UserCourseHourFinishedEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserCourseHourFinishedEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/UserCourseHourRecordDestroyEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserCourseHourRecordDestroyEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/UserCourseHourRecordDestroyEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserCourseHourRecordDestroyEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/UserCourseRecordDestroyEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserCourseRecordDestroyEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/UserCourseRecordDestroyEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserCourseRecordDestroyEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/UserDestroyEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserDestroyEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/UserDestroyEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserDestroyEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/UserLearnCourseUpdateEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserLearnCourseUpdateEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/UserLearnCourseUpdateEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserLearnCourseUpdateEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/UserLoginEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserLoginEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/UserLoginEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserLoginEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/event/UserLogoutEvent.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserLogoutEvent.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/event/UserLogoutEvent.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/event/UserLogoutEvent.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/interceptor/AdminInterceptor.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/interceptor/AdminInterceptor.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/interceptor/AdminInterceptor.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/interceptor/AdminInterceptor.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/interceptor/ApiInterceptor.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/interceptor/ApiInterceptor.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/interceptor/ApiInterceptor.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/interceptor/ApiInterceptor.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/interceptor/FrontInterceptor.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/interceptor/FrontInterceptor.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/interceptor/FrontInterceptor.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/interceptor/FrontInterceptor.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/interceptor/WebMvcConfig.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/interceptor/WebMvcConfig.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/interceptor/WebMvcConfig.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/interceptor/WebMvcConfig.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/AdminUserLoginListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/AdminUserLoginListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/AdminUserLoginListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/AdminUserLoginListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/CourseCategoryDestroyListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseCategoryDestroyListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/CourseCategoryDestroyListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseCategoryDestroyListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/CourseChapterDestroyListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseChapterDestroyListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/CourseChapterDestroyListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseChapterDestroyListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/CourseDestroyListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseDestroyListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/CourseDestroyListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseDestroyListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/CourseHourCreatedListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseHourCreatedListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/CourseHourCreatedListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseHourCreatedListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/CourseHourDestroyListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseHourDestroyListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/CourseHourDestroyListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/CourseHourDestroyListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/DepartmentDestroyListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/DepartmentDestroyListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/DepartmentDestroyListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/DepartmentDestroyListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseHourFinishedListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseHourFinishedListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseHourFinishedListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseHourFinishedListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseHourRecordDestroyListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseHourRecordDestroyListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseHourRecordDestroyListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseHourRecordDestroyListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseRecordDestroyListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseRecordDestroyListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseRecordDestroyListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserCourseRecordDestroyListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/UserDestroyListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserDestroyListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/UserDestroyListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserDestroyListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/UserLearnCourseUpdateListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserLearnCourseUpdateListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/UserLearnCourseUpdateListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserLearnCourseUpdateListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/UserLoginListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserLoginListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/UserLoginListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserLoginListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/listener/UserLogoutListener.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserLogoutListener.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/listener/UserLogoutListener.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/listener/UserLogoutListener.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/AdminRoleRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/AdminRoleRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/AdminRoleRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/AdminRoleRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/AdminUserRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/AdminUserRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/AdminUserRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/AdminUserRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/AppConfigRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/AppConfigRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/AppConfigRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/AppConfigRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentMultiRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentMultiRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentMultiRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentMultiRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentSortRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentSortRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentSortRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseAttachmentSortRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseCategoryRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseCategoryRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseCategoryRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseCategoryRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseChapterRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseChapterRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseChapterRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseChapterRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseChapterSortRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseChapterSortRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseChapterSortRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseChapterSortRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourMultiRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourMultiRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourMultiRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourMultiRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourSortRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourSortRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourSortRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseHourSortRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseUserDestroyRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseUserDestroyRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseUserDestroyRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/CourseUserDestroyRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentParentRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentParentRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentParentRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentParentRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentSortRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentSortRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentSortRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/DepartmentSortRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/LoginRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/LoginRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/LoginRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/LoginRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/PasswordChangeRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/PasswordChangeRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/PasswordChangeRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/PasswordChangeRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryChangeRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryChangeRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryChangeRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryChangeRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryParentRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryParentRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryParentRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryParentRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategoryRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategorySortRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategorySortRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategorySortRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceCategorySortRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceDestroyMultiRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceDestroyMultiRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceDestroyMultiRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceDestroyMultiRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceUpdateRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceUpdateRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceUpdateRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/ResourceUpdateRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/UploadFileMergeRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/UploadFileMergeRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/UploadFileMergeRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/UploadFileMergeRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/UserImportRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/UserImportRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/UserImportRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/UserImportRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/backend/UserRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/UserRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/backend/UserRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/backend/UserRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/frontend/ChangePasswordRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/frontend/ChangePasswordRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/frontend/ChangePasswordRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/frontend/ChangePasswordRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/frontend/CourseHourRecordRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/frontend/CourseHourRecordRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/frontend/CourseHourRecordRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/frontend/CourseHourRecordRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/frontend/LoginLdapRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/frontend/LoginLdapRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/frontend/LoginLdapRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/frontend/LoginLdapRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/request/frontend/LoginPasswordRequest.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/frontend/LoginPasswordRequest.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/request/frontend/LoginPasswordRequest.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/request/frontend/LoginPasswordRequest.java
diff --git a/playedu-api/src/main/java/xyz/playedu/api/schedule/LDAPSchedule.java b/playedu-api/playedu-api/src/main/java/xyz/playedu/api/schedule/LDAPSchedule.java
similarity index 100%
rename from playedu-api/src/main/java/xyz/playedu/api/schedule/LDAPSchedule.java
rename to playedu-api/playedu-api/src/main/java/xyz/playedu/api/schedule/LDAPSchedule.java
diff --git a/playedu-api/src/main/resources/application.yml b/playedu-api/playedu-api/src/main/resources/application.yml
similarity index 100%
rename from playedu-api/src/main/resources/application.yml
rename to playedu-api/playedu-api/src/main/resources/application.yml
diff --git a/playedu-api/src/main/resources/static/images/courses/thumb1.png b/playedu-api/playedu-api/src/main/resources/static/images/courses/thumb1.png
similarity index 100%
rename from playedu-api/src/main/resources/static/images/courses/thumb1.png
rename to playedu-api/playedu-api/src/main/resources/static/images/courses/thumb1.png
diff --git a/playedu-api/src/main/resources/static/images/courses/thumb2.png b/playedu-api/playedu-api/src/main/resources/static/images/courses/thumb2.png
similarity index 100%
rename from playedu-api/src/main/resources/static/images/courses/thumb2.png
rename to playedu-api/playedu-api/src/main/resources/static/images/courses/thumb2.png
diff --git a/playedu-api/src/main/resources/static/images/courses/thumb3.png b/playedu-api/playedu-api/src/main/resources/static/images/courses/thumb3.png
similarity index 100%
rename from playedu-api/src/main/resources/static/images/courses/thumb3.png
rename to playedu-api/playedu-api/src/main/resources/static/images/courses/thumb3.png
diff --git a/playedu-api/src/main/resources/static/images/default_avatar.png b/playedu-api/playedu-api/src/main/resources/static/images/default_avatar.png
similarity index 100%
rename from playedu-api/src/main/resources/static/images/default_avatar.png
rename to playedu-api/playedu-api/src/main/resources/static/images/default_avatar.png
diff --git a/playedu-common/pom.xml b/playedu-api/playedu-common/pom.xml
similarity index 100%
rename from playedu-common/pom.xml
rename to playedu-api/playedu-common/pom.xml
diff --git a/playedu-common/src/main/java/xyz/playedu/common/annotation/BackendPermission.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/annotation/BackendPermission.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/annotation/BackendPermission.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/annotation/BackendPermission.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/annotation/Lock.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/annotation/Lock.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/annotation/Lock.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/annotation/Lock.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/annotation/Log.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/annotation/Log.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/annotation/Log.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/annotation/Log.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/bus/BackendBus.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/bus/BackendBus.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/bus/BackendBus.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/bus/BackendBus.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/bus/LDAPBus.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/bus/LDAPBus.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/bus/LDAPBus.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/bus/LDAPBus.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/config/AuthConfig.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/AuthConfig.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/config/AuthConfig.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/AuthConfig.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/config/MybatisPlusConfig.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/MybatisPlusConfig.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/config/MybatisPlusConfig.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/MybatisPlusConfig.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/config/PlayEduConfig.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/PlayEduConfig.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/config/PlayEduConfig.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/PlayEduConfig.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/config/RedisConfig.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/RedisConfig.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/config/RedisConfig.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/RedisConfig.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/config/SaTokenConfig.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/SaTokenConfig.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/config/SaTokenConfig.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/SaTokenConfig.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/config/UniqueNameGeneratorConfig.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/UniqueNameGeneratorConfig.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/config/UniqueNameGeneratorConfig.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/config/UniqueNameGeneratorConfig.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/constant/BPermissionConstant.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/BPermissionConstant.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/constant/BPermissionConstant.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/BPermissionConstant.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/constant/BackendConstant.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/BackendConstant.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/constant/BackendConstant.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/BackendConstant.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/constant/BusinessTypeConstant.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/BusinessTypeConstant.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/constant/BusinessTypeConstant.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/BusinessTypeConstant.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/constant/ConfigConstant.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/ConfigConstant.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/constant/ConfigConstant.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/ConfigConstant.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/constant/FrontendConstant.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/FrontendConstant.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/constant/FrontendConstant.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/FrontendConstant.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/constant/SystemConstant.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/SystemConstant.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/constant/SystemConstant.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/constant/SystemConstant.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/context/BCtx.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/context/BCtx.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/context/BCtx.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/context/BCtx.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/context/FCtx.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/context/FCtx.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/context/FCtx.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/context/FCtx.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/AdminLog.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminLog.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/AdminLog.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminLog.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/AdminPermission.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminPermission.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/AdminPermission.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminPermission.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/AdminRole.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminRole.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/AdminRole.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminRole.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/AdminRolePermission.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminRolePermission.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/AdminRolePermission.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminRolePermission.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/AdminUser.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminUser.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/AdminUser.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminUser.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/AdminUserRole.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminUserRole.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/AdminUserRole.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AdminUserRole.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/AppConfig.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AppConfig.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/AppConfig.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/AppConfig.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/Category.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/Category.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/Category.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/Category.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/Department.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/Department.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/Department.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/Department.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/LdapDepartment.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/LdapDepartment.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/LdapDepartment.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/LdapDepartment.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/LdapUser.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/LdapUser.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/LdapUser.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/LdapUser.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/User.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/User.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/User.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/User.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/UserDepartment.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/UserDepartment.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/UserDepartment.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/UserDepartment.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/UserLoginRecord.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/UserLoginRecord.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/UserLoginRecord.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/UserLoginRecord.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/domain/UserUploadImageLog.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/UserUploadImageLog.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/domain/UserUploadImageLog.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/domain/UserUploadImageLog.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/exception/LimitException.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/exception/LimitException.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/exception/LimitException.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/exception/LimitException.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/exception/NotFoundException.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/exception/NotFoundException.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/exception/NotFoundException.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/exception/NotFoundException.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/exception/ServiceException.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/exception/ServiceException.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/exception/ServiceException.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/exception/ServiceException.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminLogMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminLogMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/AdminLogMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminLogMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminPermissionMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminPermissionMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/AdminPermissionMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminPermissionMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminRoleMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminRoleMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/AdminRoleMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminRoleMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminRolePermissionMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminRolePermissionMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/AdminRolePermissionMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminRolePermissionMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminUserMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminUserMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/AdminUserMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminUserMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminUserRoleMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminUserRoleMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/AdminUserRoleMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AdminUserRoleMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/AppConfigMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AppConfigMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/AppConfigMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/AppConfigMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/CategoryMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/CategoryMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/CategoryMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/CategoryMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/DepartmentMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/DepartmentMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/DepartmentMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/DepartmentMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/LdapDepartmentMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/LdapDepartmentMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/LdapDepartmentMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/LdapDepartmentMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/LdapUserMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/LdapUserMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/LdapUserMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/LdapUserMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/UserDepartmentMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/UserDepartmentMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/UserDepartmentMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/UserDepartmentMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/UserLoginRecordMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/UserLoginRecordMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/UserLoginRecordMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/UserLoginRecordMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/UserMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/UserMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/UserMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/UserMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/mapper/UserUploadImageLogMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/UserUploadImageLogMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/mapper/UserUploadImageLogMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/mapper/UserUploadImageLogMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/AdminLogService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminLogService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/AdminLogService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminLogService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/AdminPermissionService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminPermissionService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/AdminPermissionService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminPermissionService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/AdminRolePermissionService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminRolePermissionService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/AdminRolePermissionService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminRolePermissionService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/AdminRoleService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminRoleService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/AdminRoleService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminRoleService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/AdminUserRoleService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminUserRoleService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/AdminUserRoleService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminUserRoleService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/AdminUserService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminUserService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/AdminUserService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AdminUserService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/AppConfigService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AppConfigService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/AppConfigService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AppConfigService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/AuthService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AuthService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/AuthService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/AuthService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/BackendAuthService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/BackendAuthService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/BackendAuthService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/BackendAuthService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/CategoryService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/CategoryService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/CategoryService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/CategoryService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/DepartmentService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/DepartmentService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/DepartmentService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/DepartmentService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/FrontendAuthService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/FrontendAuthService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/FrontendAuthService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/FrontendAuthService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/LdapDepartmentService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/LdapDepartmentService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/LdapDepartmentService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/LdapDepartmentService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/LdapUserService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/LdapUserService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/LdapUserService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/LdapUserService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/RateLimiterService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/RateLimiterService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/RateLimiterService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/RateLimiterService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/UserDepartmentService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/UserDepartmentService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/UserDepartmentService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/UserDepartmentService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/UserLoginRecordService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/UserLoginRecordService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/UserLoginRecordService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/UserLoginRecordService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/UserService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/UserService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/UserService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/UserService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/UserUploadImageLogService.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/UserUploadImageLogService.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/UserUploadImageLogService.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/UserUploadImageLogService.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminLogServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminLogServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminLogServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminLogServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminPermissionServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminPermissionServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminPermissionServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminPermissionServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminRolePermissionServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminRolePermissionServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminRolePermissionServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminRolePermissionServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminRoleServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminRoleServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminRoleServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminRoleServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminUserRoleServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminUserRoleServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminUserRoleServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminUserRoleServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminUserServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminUserServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminUserServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminUserServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AppConfigServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AppConfigServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/AppConfigServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AppConfigServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AuthServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AuthServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/AuthServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/AuthServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/BackendAuthServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/BackendAuthServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/BackendAuthServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/BackendAuthServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/CategoryServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/CategoryServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/CategoryServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/CategoryServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/DepartmentServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/DepartmentServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/DepartmentServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/DepartmentServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/FrontendAuthServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/FrontendAuthServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/FrontendAuthServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/FrontendAuthServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/LdapDepartmentServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/LdapDepartmentServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/LdapDepartmentServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/LdapDepartmentServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/LdapUserServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/LdapUserServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/LdapUserServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/LdapUserServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/RateLimiterServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/RateLimiterServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/RateLimiterServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/RateLimiterServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserDepartmentServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserDepartmentServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/UserDepartmentServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserDepartmentServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserLoginRecordServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserLoginRecordServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/UserLoginRecordServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserLoginRecordServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/UserServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserUploadImageLogServiceImpl.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserUploadImageLogServiceImpl.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/service/impl/UserUploadImageLogServiceImpl.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/service/impl/UserUploadImageLogServiceImpl.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/ImageCaptchaResult.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/ImageCaptchaResult.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/ImageCaptchaResult.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/ImageCaptchaResult.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/JsonResponse.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/JsonResponse.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/JsonResponse.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/JsonResponse.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/LdapConfig.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/LdapConfig.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/LdapConfig.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/LdapConfig.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/SelectOption.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/SelectOption.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/SelectOption.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/SelectOption.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/UploadFileInfo.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/UploadFileInfo.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/UploadFileInfo.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/UploadFileInfo.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/config/S3Config.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/config/S3Config.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/config/S3Config.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/config/S3Config.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/mapper/CourseCategoryCountMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/CourseCategoryCountMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/mapper/CourseCategoryCountMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/CourseCategoryCountMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/mapper/DepartmentsUserCountMapRes.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/DepartmentsUserCountMapRes.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/mapper/DepartmentsUserCountMapRes.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/DepartmentsUserCountMapRes.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/mapper/ResourceCategoryCountMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/ResourceCategoryCountMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/mapper/ResourceCategoryCountMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/ResourceCategoryCountMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordCourseCountMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordCourseCountMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordCourseCountMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordCourseCountMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordUserCountMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordUserCountMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordUserCountMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordUserCountMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordUserFirstCreatedAtMapper.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordUserFirstCreatedAtMapper.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordUserFirstCreatedAtMapper.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/mapper/UserCourseHourRecordUserFirstCreatedAtMapper.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/paginate/AdminLogPaginateFiler.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/AdminLogPaginateFiler.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/paginate/AdminLogPaginateFiler.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/AdminLogPaginateFiler.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/paginate/AdminUserPaginateFilter.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/AdminUserPaginateFilter.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/paginate/AdminUserPaginateFilter.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/AdminUserPaginateFilter.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/paginate/CourseAttachmentDownloadLogPaginateFiler.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/CourseAttachmentDownloadLogPaginateFiler.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/paginate/CourseAttachmentDownloadLogPaginateFiler.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/CourseAttachmentDownloadLogPaginateFiler.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/paginate/CoursePaginateFiler.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/CoursePaginateFiler.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/paginate/CoursePaginateFiler.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/CoursePaginateFiler.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/paginate/PaginationResult.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/PaginationResult.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/paginate/PaginationResult.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/PaginationResult.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/paginate/ResourcePaginateFilter.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/ResourcePaginateFilter.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/paginate/ResourcePaginateFilter.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/ResourcePaginateFilter.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserCourseHourRecordPaginateFilter.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserCourseHourRecordPaginateFilter.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserCourseHourRecordPaginateFilter.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserCourseHourRecordPaginateFilter.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserCourseRecordPaginateFilter.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserCourseRecordPaginateFilter.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserCourseRecordPaginateFilter.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserCourseRecordPaginateFilter.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserPaginateFilter.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserPaginateFilter.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserPaginateFilter.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/types/paginate/UserPaginateFilter.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/Base64Util.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/Base64Util.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/Base64Util.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/Base64Util.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/HelperUtil.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/HelperUtil.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/HelperUtil.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/HelperUtil.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/IpUtil.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/IpUtil.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/IpUtil.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/IpUtil.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/PrivacyUtil.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/PrivacyUtil.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/PrivacyUtil.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/PrivacyUtil.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/RedisDistributedLock.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/RedisDistributedLock.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/RedisDistributedLock.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/RedisDistributedLock.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/RedisUtil.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/RedisUtil.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/RedisUtil.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/RedisUtil.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/RequestUtil.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/RequestUtil.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/RequestUtil.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/RequestUtil.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/S3Util.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/S3Util.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/S3Util.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/S3Util.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/StringUtil.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/StringUtil.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/StringUtil.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/StringUtil.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapTransformDepartment.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapTransformDepartment.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapTransformDepartment.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapTransformDepartment.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapTransformUser.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapTransformUser.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapTransformUser.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapTransformUser.java
diff --git a/playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapUtil.java b/playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapUtil.java
similarity index 100%
rename from playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapUtil.java
rename to playedu-api/playedu-common/src/main/java/xyz/playedu/common/util/ldap/LdapUtil.java
diff --git a/playedu-common/src/main/resources/lua/RateLimiterScript.lua b/playedu-api/playedu-common/src/main/resources/lua/RateLimiterScript.lua
similarity index 100%
rename from playedu-common/src/main/resources/lua/RateLimiterScript.lua
rename to playedu-api/playedu-common/src/main/resources/lua/RateLimiterScript.lua
diff --git a/playedu-common/src/main/resources/mapper/AdminLogMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/AdminLogMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/AdminLogMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/AdminLogMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/AdminPermissionMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/AdminPermissionMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/AdminPermissionMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/AdminPermissionMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/AdminRoleMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/AdminRoleMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/AdminRoleMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/AdminRoleMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/AdminRolePermissionMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/AdminRolePermissionMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/AdminRolePermissionMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/AdminRolePermissionMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/AdminUserMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/AdminUserMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/AdminUserMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/AdminUserMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/AdminUserRoleMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/AdminUserRoleMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/AdminUserRoleMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/AdminUserRoleMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/AppConfigMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/AppConfigMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/AppConfigMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/AppConfigMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/CategoryMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/CategoryMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/CategoryMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/CategoryMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/DepartmentMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/DepartmentMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/DepartmentMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/DepartmentMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/LdapDepartmentMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/LdapDepartmentMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/LdapDepartmentMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/LdapDepartmentMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/LdapUserMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/LdapUserMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/LdapUserMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/LdapUserMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/UserDepartmentMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/UserDepartmentMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/UserDepartmentMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/UserDepartmentMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/UserLoginRecordMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/UserLoginRecordMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/UserLoginRecordMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/UserLoginRecordMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/UserMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/UserMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/UserMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/UserMapper.xml
diff --git a/playedu-common/src/main/resources/mapper/UserUploadImageLogMapper.xml b/playedu-api/playedu-common/src/main/resources/mapper/UserUploadImageLogMapper.xml
similarity index 100%
rename from playedu-common/src/main/resources/mapper/UserUploadImageLogMapper.xml
rename to playedu-api/playedu-common/src/main/resources/mapper/UserUploadImageLogMapper.xml
diff --git a/playedu-course/pom.xml b/playedu-api/playedu-course/pom.xml
similarity index 100%
rename from playedu-course/pom.xml
rename to playedu-api/playedu-course/pom.xml
diff --git a/playedu-course/src/main/java/xyz/playedu/course/bus/UserBus.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/bus/UserBus.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/bus/UserBus.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/bus/UserBus.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/caches/CourseCache.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/caches/CourseCache.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/caches/CourseCache.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/caches/CourseCache.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/caches/UserCanSeeCourseCache.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/caches/UserCanSeeCourseCache.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/caches/UserCanSeeCourseCache.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/caches/UserCanSeeCourseCache.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/caches/UserLastLearnTimeCache.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/caches/UserLastLearnTimeCache.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/caches/UserLastLearnTimeCache.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/caches/UserLastLearnTimeCache.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/Course.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/Course.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/Course.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/Course.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/CourseAttachment.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseAttachment.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/CourseAttachment.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseAttachment.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/CourseAttachmentDownloadLog.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseAttachmentDownloadLog.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/CourseAttachmentDownloadLog.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseAttachmentDownloadLog.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/CourseCategory.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseCategory.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/CourseCategory.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseCategory.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/CourseChapter.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseChapter.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/CourseChapter.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseChapter.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/CourseDepartment.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseDepartment.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/CourseDepartment.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseDepartment.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/CourseHour.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseHour.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/CourseHour.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/CourseHour.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/UserCourseHourRecord.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserCourseHourRecord.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/UserCourseHourRecord.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserCourseHourRecord.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/UserCourseRecord.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserCourseRecord.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/UserCourseRecord.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserCourseRecord.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/UserLatestLearn.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserLatestLearn.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/UserLatestLearn.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserLatestLearn.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/UserLearnDurationRecord.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserLearnDurationRecord.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/UserLearnDurationRecord.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserLearnDurationRecord.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/domain/UserLearnDurationStats.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserLearnDurationStats.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/domain/UserLearnDurationStats.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/domain/UserLearnDurationStats.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseAttachmentDownloadLogMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseAttachmentDownloadLogMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/CourseAttachmentDownloadLogMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseAttachmentDownloadLogMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseAttachmentMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseAttachmentMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/CourseAttachmentMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseAttachmentMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseCategoryMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseCategoryMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/CourseCategoryMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseCategoryMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseChapterMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseChapterMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/CourseChapterMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseChapterMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseDepartmentMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseDepartmentMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/CourseDepartmentMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseDepartmentMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseHourMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseHourMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/CourseHourMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseHourMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/CourseMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/CourseMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/UserCourseHourRecordMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/UserCourseHourRecordMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/UserCourseHourRecordMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/UserCourseHourRecordMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/UserCourseRecordMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/UserCourseRecordMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/UserCourseRecordMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/UserCourseRecordMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/UserLearnDurationRecordMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/UserLearnDurationRecordMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/UserLearnDurationRecordMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/UserLearnDurationRecordMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/mapper/UserLearnDurationStatsMapper.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/UserLearnDurationStatsMapper.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/mapper/UserLearnDurationStatsMapper.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/mapper/UserLearnDurationStatsMapper.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/CourseAttachmentDownloadLogService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseAttachmentDownloadLogService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/CourseAttachmentDownloadLogService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseAttachmentDownloadLogService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/CourseAttachmentService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseAttachmentService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/CourseAttachmentService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseAttachmentService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/CourseCategoryService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseCategoryService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/CourseCategoryService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseCategoryService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/CourseChapterService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseChapterService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/CourseChapterService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseChapterService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/CourseDepartmentService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseDepartmentService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/CourseDepartmentService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseDepartmentService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/CourseHourService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseHourService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/CourseHourService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseHourService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/CourseService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/CourseService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/CourseService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/UserCourseHourRecordService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/UserCourseHourRecordService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/UserCourseHourRecordService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/UserCourseHourRecordService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/UserCourseRecordService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/UserCourseRecordService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/UserCourseRecordService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/UserCourseRecordService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/UserLearnDurationRecordService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/UserLearnDurationRecordService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/UserLearnDurationRecordService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/UserLearnDurationRecordService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/UserLearnDurationStatsService.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/UserLearnDurationStatsService.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/UserLearnDurationStatsService.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/UserLearnDurationStatsService.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseAttachmentDownloadLogServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseAttachmentDownloadLogServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseAttachmentDownloadLogServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseAttachmentDownloadLogServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseAttachmentServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseAttachmentServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseAttachmentServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseAttachmentServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseCategoryServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseCategoryServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseCategoryServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseCategoryServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseChapterServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseChapterServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseChapterServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseChapterServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseDepartmentServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseDepartmentServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseDepartmentServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseDepartmentServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseHourServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseHourServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseHourServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseHourServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/CourseServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserCourseHourRecordServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserCourseHourRecordServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/UserCourseHourRecordServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserCourseHourRecordServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserCourseRecordServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserCourseRecordServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/UserCourseRecordServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserCourseRecordServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserLearnDurationRecordServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserLearnDurationRecordServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/UserLearnDurationRecordServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserLearnDurationRecordServiceImpl.java
diff --git a/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserLearnDurationStatsServiceImpl.java b/playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserLearnDurationStatsServiceImpl.java
similarity index 100%
rename from playedu-course/src/main/java/xyz/playedu/course/service/impl/UserLearnDurationStatsServiceImpl.java
rename to playedu-api/playedu-course/src/main/java/xyz/playedu/course/service/impl/UserLearnDurationStatsServiceImpl.java
diff --git a/playedu-course/src/main/resources/mapper/BackendPermission.xml b/playedu-api/playedu-course/src/main/resources/mapper/BackendPermission.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/BackendPermission.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/BackendPermission.xml
diff --git a/playedu-course/src/main/resources/mapper/CourseAttachmentDownloadLogMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/CourseAttachmentDownloadLogMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/CourseAttachmentDownloadLogMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/CourseAttachmentDownloadLogMapper.xml
diff --git a/playedu-course/src/main/resources/mapper/CourseAttachmentMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/CourseAttachmentMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/CourseAttachmentMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/CourseAttachmentMapper.xml
diff --git a/playedu-course/src/main/resources/mapper/CourseCategoryMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/CourseCategoryMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/CourseCategoryMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/CourseCategoryMapper.xml
diff --git a/playedu-course/src/main/resources/mapper/CourseChapterMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/CourseChapterMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/CourseChapterMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/CourseChapterMapper.xml
diff --git a/playedu-course/src/main/resources/mapper/CourseDepartmentMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/CourseDepartmentMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/CourseDepartmentMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/CourseDepartmentMapper.xml
diff --git a/playedu-course/src/main/resources/mapper/CourseHourMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/CourseHourMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/CourseHourMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/CourseHourMapper.xml
diff --git a/playedu-course/src/main/resources/mapper/CourseMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/CourseMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/CourseMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/CourseMapper.xml
diff --git a/playedu-course/src/main/resources/mapper/UserCourseHourRecordMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/UserCourseHourRecordMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/UserCourseHourRecordMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/UserCourseHourRecordMapper.xml
diff --git a/playedu-course/src/main/resources/mapper/UserCourseRecordMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/UserCourseRecordMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/UserCourseRecordMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/UserCourseRecordMapper.xml
diff --git a/playedu-course/src/main/resources/mapper/UserLearnDurationStatsMapper.xml b/playedu-api/playedu-course/src/main/resources/mapper/UserLearnDurationStatsMapper.xml
similarity index 100%
rename from playedu-course/src/main/resources/mapper/UserLearnDurationStatsMapper.xml
rename to playedu-api/playedu-course/src/main/resources/mapper/UserLearnDurationStatsMapper.xml
diff --git a/playedu-resource/pom.xml b/playedu-api/playedu-resource/pom.xml
similarity index 100%
rename from playedu-resource/pom.xml
rename to playedu-api/playedu-resource/pom.xml
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/domain/Resource.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/domain/Resource.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/domain/Resource.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/domain/Resource.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/domain/ResourceCategory.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/domain/ResourceCategory.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/domain/ResourceCategory.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/domain/ResourceCategory.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/domain/ResourceVideo.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/domain/ResourceVideo.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/domain/ResourceVideo.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/domain/ResourceVideo.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceCategoryMapper.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceCategoryMapper.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceCategoryMapper.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceCategoryMapper.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceMapper.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceMapper.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceMapper.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceMapper.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceVideoMapper.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceVideoMapper.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceVideoMapper.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/mapper/ResourceVideoMapper.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceCategoryService.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceCategoryService.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceCategoryService.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceCategoryService.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceService.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceService.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceService.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceService.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceVideoService.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceVideoService.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceVideoService.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/ResourceVideoService.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/service/UploadService.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/UploadService.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/service/UploadService.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/UploadService.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceCategoryServiceImpl.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceCategoryServiceImpl.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceCategoryServiceImpl.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceCategoryServiceImpl.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceServiceImpl.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceServiceImpl.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceServiceImpl.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceServiceImpl.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceVideoServiceImpl.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceVideoServiceImpl.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceVideoServiceImpl.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/ResourceVideoServiceImpl.java
diff --git a/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/UploadServiceImpl.java b/playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/UploadServiceImpl.java
similarity index 100%
rename from playedu-resource/src/main/java/xyz/playedu/resource/service/impl/UploadServiceImpl.java
rename to playedu-api/playedu-resource/src/main/java/xyz/playedu/resource/service/impl/UploadServiceImpl.java
diff --git a/playedu-resource/src/main/resources/mapper/ResourceCategoryMapper.xml b/playedu-api/playedu-resource/src/main/resources/mapper/ResourceCategoryMapper.xml
similarity index 100%
rename from playedu-resource/src/main/resources/mapper/ResourceCategoryMapper.xml
rename to playedu-api/playedu-resource/src/main/resources/mapper/ResourceCategoryMapper.xml
diff --git a/playedu-resource/src/main/resources/mapper/ResourceMapper.xml b/playedu-api/playedu-resource/src/main/resources/mapper/ResourceMapper.xml
similarity index 100%
rename from playedu-resource/src/main/resources/mapper/ResourceMapper.xml
rename to playedu-api/playedu-resource/src/main/resources/mapper/ResourceMapper.xml
diff --git a/playedu-resource/src/main/resources/mapper/ResourceVideoMapper.xml b/playedu-api/playedu-resource/src/main/resources/mapper/ResourceVideoMapper.xml
similarity index 100%
rename from playedu-resource/src/main/resources/mapper/ResourceVideoMapper.xml
rename to playedu-api/playedu-resource/src/main/resources/mapper/ResourceVideoMapper.xml
diff --git a/playedu-system/pom.xml b/playedu-api/playedu-system/pom.xml
similarity index 100%
rename from playedu-system/pom.xml
rename to playedu-api/playedu-system/pom.xml
diff --git a/playedu-system/src/main/java/xyz/playedu/system/aspectj/AdminLogAspect.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/aspectj/AdminLogAspect.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/aspectj/AdminLogAspect.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/aspectj/AdminLogAspect.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/aspectj/BackendPermissionAspect.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/aspectj/BackendPermissionAspect.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/aspectj/BackendPermissionAspect.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/aspectj/BackendPermissionAspect.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/aspectj/LockAspect.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/aspectj/LockAspect.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/aspectj/LockAspect.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/aspectj/LockAspect.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/checks/AdminPermissionCheck.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/AdminPermissionCheck.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/checks/AdminPermissionCheck.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/AdminPermissionCheck.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/checks/AppConfigCheck.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/AppConfigCheck.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/checks/AppConfigCheck.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/AppConfigCheck.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/checks/MigrationCheck.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/MigrationCheck.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/checks/MigrationCheck.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/MigrationCheck.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/checks/SystemDataCheck.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/SystemDataCheck.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/checks/SystemDataCheck.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/SystemDataCheck.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/checks/UpgradeCheck.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/UpgradeCheck.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/checks/UpgradeCheck.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/checks/UpgradeCheck.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/domain/Migration.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/domain/Migration.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/domain/Migration.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/domain/Migration.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/mapper/MigrationMapper.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/mapper/MigrationMapper.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/mapper/MigrationMapper.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/mapper/MigrationMapper.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/service/MigrationService.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/service/MigrationService.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/service/MigrationService.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/service/MigrationService.java
diff --git a/playedu-system/src/main/java/xyz/playedu/system/service/impl/MigrationServiceImpl.java b/playedu-api/playedu-system/src/main/java/xyz/playedu/system/service/impl/MigrationServiceImpl.java
similarity index 100%
rename from playedu-system/src/main/java/xyz/playedu/system/service/impl/MigrationServiceImpl.java
rename to playedu-api/playedu-system/src/main/java/xyz/playedu/system/service/impl/MigrationServiceImpl.java
diff --git a/playedu-system/src/main/resources/mapper/MigrationMapper.xml b/playedu-api/playedu-system/src/main/resources/mapper/MigrationMapper.xml
similarity index 100%
rename from playedu-system/src/main/resources/mapper/MigrationMapper.xml
rename to playedu-api/playedu-system/src/main/resources/mapper/MigrationMapper.xml
diff --git a/playedu-api/pom.xml b/playedu-api/pom.xml
index f8afe7c..5c0aaac 100644
--- a/playedu-api/pom.xml
+++ b/playedu-api/pom.xml
@@ -1,15 +1,28 @@
-
+4.0.0
- xyz.playedu
- playedu
- 1.2
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.1.5
+
- playedu-api
+ xyz.playedu
+ playedu
+ 1.2
+ pom
+ playedu
+ playedu
+
+
+ playedu-api
+ playedu-common
+ playedu-system
+ playedu-course
+ playedu-resource
+ 17
@@ -17,42 +30,149 @@
- xyz.playedu
- playedu-common
- 1.2
+ org.springframework.boot
+ spring-boot-starter-web
- xyz.playedu
- playedu-system
- 1.2
+ org.springframework.boot
+ spring-boot-starter-aop
- xyz.playedu
- playedu-course
- 1.2
+ org.springframework.boot
+ spring-boot-starter-websocket
- xyz.playedu
- playedu-resource
- 1.2
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 3.0.1
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ com.mysql
+ mysql-connector-j
+ runtime
+
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.3
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+
+ com.google.code.gson
+ gson
+ 2.10.1
+
+
+
+ org.apache.commons
+ commons-lang3
+ 3.12.0
+
+
+ org.apache.commons
+ commons-collections4
+ 4.4
+
+
+
+ com.amazonaws
+ aws-java-sdk-s3
+ 1.12.572
+
+
+ javax.xml.bind
+ jaxb-api
+ 2.3.1
+
+
+
+ cn.hutool
+ hutool-json
+ 5.8.16
+
+
+ cn.hutool
+ hutool-http
+ 5.8.16
+
+
+ cn.hutool
+ hutool-core
+ 5.8.16
+
+
+
+
+ cn.dev33
+ sa-token-spring-boot3-starter
+ 1.34.0
+
+
+
+ cn.dev33
+ sa-token-dao-redis-jackson
+ 1.34.0
+
+
+
+ cn.dev33
+ sa-token-jwt
+ 1.34.0
- playedu-api
- org.springframework.boot
- spring-boot-maven-plugin
- 3.1.2
-
-
-
- repackage
-
-
-
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+ ${java.version}
+ ${java.version}
+ UTF-8
+
+
+
+ com.diffplug.spotless
+ spotless-maven-plugin
+ 2.36.0
+
+
+
+ 1.16.0
+
+ true
+
+
+ header.txt
+
+
+
-
\ No newline at end of file
+
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 5c0aaac..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,178 +0,0 @@
-
-
- 4.0.0
-
- org.springframework.boot
- spring-boot-starter-parent
- 3.1.5
-
-
-
- xyz.playedu
- playedu
- 1.2
- pom
- playedu
- playedu
-
-
- playedu-api
- playedu-common
- playedu-system
- playedu-course
- playedu-resource
-
-
-
- 17
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-aop
-
-
- org.springframework.boot
- spring-boot-starter-websocket
-
-
- org.mybatis.spring.boot
- mybatis-spring-boot-starter
- 3.0.1
-
-
- org.springframework.boot
- spring-boot-starter-data-redis
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
- com.mysql
- mysql-connector-j
- runtime
-
-
-
- org.projectlombok
- lombok
- true
-
-
-
- com.baomidou
- mybatis-plus-boot-starter
- 3.5.3
-
-
-
-
- org.springframework.boot
- spring-boot-starter-validation
-
-
-
- com.google.code.gson
- gson
- 2.10.1
-
-
-
- org.apache.commons
- commons-lang3
- 3.12.0
-
-
- org.apache.commons
- commons-collections4
- 4.4
-
-
-
- com.amazonaws
- aws-java-sdk-s3
- 1.12.572
-
-
- javax.xml.bind
- jaxb-api
- 2.3.1
-
-
-
- cn.hutool
- hutool-json
- 5.8.16
-
-
- cn.hutool
- hutool-http
- 5.8.16
-
-
- cn.hutool
- hutool-core
- 5.8.16
-
-
-
-
- cn.dev33
- sa-token-spring-boot3-starter
- 1.34.0
-
-
-
- cn.dev33
- sa-token-dao-redis-jackson
- 1.34.0
-
-
-
- cn.dev33
- sa-token-jwt
- 1.34.0
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.11.0
-
- ${java.version}
- ${java.version}
- UTF-8
-
-
-
- com.diffplug.spotless
- spotless-maven-plugin
- 2.36.0
-
-
-
- 1.16.0
-
- true
-
-
- header.txt
-
-
-
-
-
-
-