用户,社交接口

Change-Id: I10d13773cbe4bbcf3b69a2038cdf7aa9ba54b6df
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index ae3ef3f..da307c7 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,41 +4,171 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="f008fe30-0711-42e2-bb33-17dcfdbad387" name="Changes" comment="">
-      <change beforePath="$PROJECT_DIR$/.idea/dbnavigator.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dbnavigator.xml" afterDir="false" />
+    <list default="true" id="f008fe30-0711-42e2-bb33-17dcfdbad387" name="Changes" comment="pom">
+      <change afterPath="$PROJECT_DIR$/.idea/dataSources.local.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/dataSources.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/dataSources/6689f15a-5cd0-40b0-970c-713db3e7bac2.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/dataSources/6689f15a-5cd0-40b0-970c-713db3e7bac2/storage_v2/_src_/schema/information_schema.FNRwLQ.meta" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/dataSources/6689f15a-5cd0-40b0-970c-713db3e7bac2/storage_v2/_src_/schema/mysql.osA4Bg.meta" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/dataSources/6689f15a-5cd0-40b0-970c-713db3e7bac2/storage_v2/_src_/schema/performance_schema.kIw0nw.meta" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/dataSources/6689f15a-5cd0-40b0-970c-713db3e7bac2/storage_v2/_src_/schema/ptproject.lTCJ3Q.meta" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/dataSources/6689f15a-5cd0-40b0-970c-713db3e7bac2/storage_v2/_src_/schema/sys.zb4BAA.meta" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/sqlDataSources.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/echo-backend.iml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/logs/myapp.log" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/CommentController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/DynamicController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/GroupController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/LevelController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/PostController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/TaskController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/UserFollowController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/UserMessageController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/Collections.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/Comments.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/DynamicComment.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/DynamicLikes.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/ExperienceHistory.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/FriendRelation.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/Group.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/GroupComments.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/GroupMembers.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/GroupPost.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/Level.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/Likes.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/Post.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/Task.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/UserDynamic.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/UserFollow.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/UserInviteCode.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/UserMessages.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/UserTaskStatus.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/Users.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/CollectionsRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/CommentRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/DynamicCommentRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/DynamicLikesRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/ExperienceHistoryRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/FriendRelationRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/GroupCommentsRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/GroupMembersRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/GroupPostRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/GroupRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/LevelRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/LikesRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/PostRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/TaskRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/UserDynamicRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/UserFollowRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/UserInviteCodeRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/UserMessagesRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/UserRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/UserTaskStatusRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/CommentService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/DynamicService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/GroupService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/LevelService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/PostService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/TaskService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/UserFollowService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/UserMessageService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/utils/Result.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/CommentControllerTest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/DynamicControllerTest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/GroupControllerTest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/LevelControllerTest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/PostControllerTest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/TaskControllerTest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/UserFollowControllerTest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/UserMessageControllerTest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/CommentController.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/DynamicController.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/GroupController.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/LevelController.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/PostController.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/TaskController.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserFollowController.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserMessageController.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/Collections.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/Comments.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/DynamicComment.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/DynamicLikes.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/ExperienceHistory.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/FriendRelation.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/Group.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/GroupComments.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/GroupMembers.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/GroupPost.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/Level.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/Likes.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/Post.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/Task.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/UserDynamic.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/UserFollow.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/UserInviteCode.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/UserMessages.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/UserTaskStatus.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/Users.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/CollectionsRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/CommentRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/DynamicCommentRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/DynamicLikesRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/ExperienceHistoryRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/FriendRelationRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/GroupCommentsRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/GroupMembersRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/GroupPostRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/GroupRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/LevelRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/LikesRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/PostRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/TaskRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/UserDynamicRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/UserFollowRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/UserInviteCodeRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/UserMessagesRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/UserRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/repository/UserTaskStatusRepository.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/service/CommentService.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/service/DynamicService.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/service/GroupService.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/service/LevelService.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/service/PostService.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/service/TaskService.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/service/UserFollowService.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/service/UserMessageService.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/utils/Result.class" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/uploads/post/微信图片_20250408154007.jpg" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/create.sql" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/MyProjectApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/MyProjectApplication.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/common/base/Result.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/common/base/Result.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/config/MyMetaObjectHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/config/MyMetaObjectHandler.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/InviteController.java" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/UserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/UserController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/dto/param/InviteParam.java" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/dto/param/TorrentUploadParam.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/dto/param/TorrentUploadParam.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/EntityBase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/EntityBase.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/InvitationEntity.java" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/User.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/User.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/mapper/InvitationMapper.java" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/mapper/UserMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/mapper/UserMapper.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/InvitationService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/InvitationService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/UserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/UserService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/serviceImpl/InvitationServiceImpl.java" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/serviceImpl/TorrentServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/serviceImpl/TorrentServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/serviceImpl/UserServiceImpl.java" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/resources/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.properties" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/PromotionMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/PromotionMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/TorrentControllerTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/TorrentControllerTest.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/UserControllerTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/com/example/myproject/controller/UserControllerTest.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application.properties" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/MyProjectApplication.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/MyProjectApplication.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserController$EmailRequest.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserController$EmailRequest.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserController$VerificationRequest.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserController$VerificationRequest.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserController$EmailRequest.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserController$VerificationRequest.class" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/controller/UserController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/User.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/entity/User.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/mapper/UserMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/mapper/UserMapper.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/utils/Result.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/service/UserService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/myproject/service/UserService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/example/myproject/service/serviceImpl/UserServiceImpl.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/echo-backend-1.0-SNAPSHOT.jar" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/echo-backend-1.0-SNAPSHOT.jar.original" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/maven-archiver/pom.properties" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/test-classes/classpath.index" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/test-classes/com/example/myproject/controller/UserControllerTest$1.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/test-classes/com/example/myproject/controller/UserControllerTest.class" beforeDir="false" />
     </list>
-    <option name="SHOW_DIALOG" value="false" />
+    <optiongit name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
     <option name="LAST_RESOLUTION" value="IGNORE" />
@@ -52,39 +182,56 @@
   </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+    <option name="ROOT_SYNC" value="SYNC" />
   </component>
   <component name="MarkdownSettingsMigration">
     <option name="stateVersion" value="1" />
   </component>
-  <component name="MavenImportPreferences">
-    <option name="importingSettings">
-      <MavenImportingSettings>
-        <option name="workspaceImportEnabled" value="true" />
-      </MavenImportingSettings>
-    </option>
-  </component>
   <component name="ProblemsViewState">
-    <option name="selectedTabId" value="CurrentFile" />
+    <option name="selectedTabId" value="ProjectErrors" />
   </component>
+  <component name="ProjectColorInfo">{
+  &quot;associatedIndex&quot;: 0
+}</component>
   <component name="ProjectId" id="2vZNfNTEFyHApdxmHZ7Y0rlJjKB" />
   <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
   <component name="ProjectViewState">
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
   </component>
-  <component name="PropertiesComponent">{
-  &quot;keyToString&quot;: {
-    &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
-    &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
-    &quot;last_opened_file_path&quot;: &quot;D:/study/学习资源/大三下/zy1&quot;
+  <component name="PropertiesComponent"><![CDATA[{
+  "keyToString": {
+    "JUnit.UserControllerTest.executor": "Run",
+    "RequestMappingsPanelOrder0": "0",
+    "RequestMappingsPanelOrder1": "1",
+    "RequestMappingsPanelWidth0": "75",
+    "RequestMappingsPanelWidth1": "75",
+    "RunOnceActivity.OpenProjectViewOnStart": "true",
+    "RunOnceActivity.ShowReadmeOnStart": "true",
+    "RunOnceActivity.git.unshallow": "true",
+    "Spring Boot.MyProjectApplication.executor": "Run",
+    "git-widget-placeholder": "my-branch",
+    "kotlin-language-version-configured": "true",
+    "last_opened_file_path": "D:/PT/echo-backend/src/main/java/com/example/myproject/service",
+    "node.js.detected.package.eslint": "true",
+    "node.js.selected.package.eslint": "(autodetect)",
+    "node.js.selected.package.tslint": "(autodetect)",
+    "nodejs_package_manager_path": "npm",
+    "settings.editor.selected.configurable": "project.propVCSSupport.DirectoryMappings",
+    "vue.rearranger.settings.migration": "true",
+    "应用程序.MyProjectApplication.executor": "Run"
   }
-}</component>
+}]]></component>
   <component name="RecentsManager">
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="D:\PT\echo-backend\src\main\java\com\example\myproject\service" />
+      <recent name="D:\PT\echo-backend\src\main\java\com\example\myproject\controller" />
+    </key>
     <key name="MoveFile.RECENT_KEYS">
       <recent name="D:\study\学习资源\大三下\school\echo-backend\src\main\resources\mapper" />
     </key>
   </component>
-  <component name="RunManager" selected="应用程序.MyProjectApplication">
+  <component name="RunManager" selected="Spring Boot.MyProjectApplication">
     <configuration name="BtClient" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
       <option name="MAIN_CLASS_NAME" value="com.example.myproject.client.BtClient" />
       <module name="echo-backend" />
@@ -152,13 +299,44 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
+    <configuration name="UserControllerTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
+      <module name="echo-backend" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.example.myproject.controller.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <option name="PACKAGE_NAME" value="com.example.myproject.controller" />
+      <option name="MAIN_CLASS_NAME" value="com.example.myproject.controller.UserControllerTest" />
+      <option name="TEST_OBJECT" value="class" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="MyProjectApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" nameIsGenerated="true">
+      <module name="echo-backend" />
+      <option name="SPRING_BOOT_MAIN_CLASS" value="com.example.myproject.MyProjectApplication" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
     <recent_temporary>
       <list>
+        <item itemvalue="JUnit.UserControllerTest" />
         <item itemvalue="应用程序.MyProjectApplication" />
         <item itemvalue="JUnit.TorrentControllerTest" />
       </list>
     </recent_temporary>
   </component>
+  <component name="SharedIndexes">
+    <attachedChunks>
+      <set>
+        <option value="bundled-jdk-9823dce3aa75-fdfe4dae3a2d-intellij.indexing.shared.core-IU-243.21565.193" />
+        <option value="bundled-js-predefined-d6986cc7102b-e768b9ed790e-JavaScript-IU-243.21565.193" />
+      </set>
+    </attachedChunks>
+  </component>
   <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
   <component name="TaskManager">
     <task active="true" id="Default" summary="Default task">
@@ -167,7 +345,55 @@
       <option name="number" value="Default" />
       <option name="presentableId" value="Default" />
       <updated>1744348740342</updated>
+      <workItem from="1749007243227" duration="1245000" />
     </task>
+    <task id="LOCAL-00001" summary="pom">
+      <option name="closed" value="true" />
+      <created>1749011916131</created>
+      <option name="number" value="00001" />
+      <option name="presentableId" value="LOCAL-00001" />
+      <option name="project" value="LOCAL" />
+      <updated>1749011916131</updated>
+    </task>
+    <task id="LOCAL-00002" summary="pom">
+      <option name="closed" value="true" />
+      <created>1749012141761</created>
+      <option name="number" value="00002" />
+      <option name="presentableId" value="LOCAL-00002" />
+      <option name="project" value="LOCAL" />
+      <updated>1749012141761</updated>
+    </task>
+    <option name="localTasksCounter" value="3" />
     <servers />
   </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="3" />
+  </component>
+  <component name="Vcs.Log.Tabs.Properties">
+    <option name="TAB_STATES">
+      <map>
+        <entry key="MAIN">
+          <value>
+            <State>
+              <option name="FILTERS">
+                <map>
+                  <entry key="branch">
+                    <value>
+                      <list>
+                        <option value="master" />
+                      </list>
+                    </value>
+                  </entry>
+                </map>
+              </option>
+            </State>
+          </value>
+        </entry>
+      </map>
+    </option>
+  </component>
+  <component name="VcsManagerConfiguration">
+    <MESSAGE value="pom" />
+    <option name="LAST_COMMIT_MESSAGE" value="pom" />
+  </component>
 </project>
\ No newline at end of file