From 3eeb5bbd512e75c455b6d69544d7992fc4ca00d9 Mon Sep 17 00:00:00 2001 From: Azure <983547216@qq.com> Date: Tue, 7 Jul 2026 09:58:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{ => adapter}/sse/RedisSseListener.java | 2 +- .../sse/SseConnectionManager.java | 2 +- .../{ => adapter}/sse/SseController.java | 2 +- .../{ => adapter}/ws/RoomSessionManager.java | 2 +- .../ws/RoomWebSocketHandler.java | 20 +++---- .../{ => adapter}/ws/WsMessageHandler.java | 2 +- .../{ => adapter}/ws/WsMessageRouter.java | 2 +- .../ws/dto/WsInboundMessage.java | 2 +- .../{ => adapter}/ws/dto/WsMessage.java | 2 +- .../ws/dto/WsOutboundMessage.java | 2 +- .../AccountController.java | 4 +- .../{controller => api}/GameController.java | 4 +- .../{controller => api}/RoomController.java | 4 +- .../{controller => api}/UserController.java | 4 +- .../common/dto/game/GameItemResponse.java | 2 +- .../common/dto/game/RoomItemResponse.java | 2 +- .../common/dto/user/UserInfoResponse.java | 2 +- .../common/event/SseEventPublisher.java | 2 +- .../account/AccountService.java} | 20 +++---- .../engine/GameEngine.java | 2 +- .../engine/GameEngineFactory.java | 2 +- .../engine/GameEngineRegistry.java | 2 +- .../{service => domain}/engine/GameState.java | 2 +- .../engine/GomokuEngine.java | 10 ++-- .../engine/RoomContext.java | 4 +- .../game/GameService.java} | 11 ++-- .../{service => domain/room}/RoomManager.java | 14 ++--- .../token/RefreshTokenService.java} | 10 +--- .../user/UserService.java} | 15 ++--- .../config/EngineRegistrationConfig.java | 8 +-- .../config/OpenApiConfig.java | 2 +- .../config/PasswordConfig.java | 2 +- .../config/RedisConfigurer.java | 2 +- .../config/SaTokenConfigure.java | 2 +- .../config/SseConfig.java | 4 +- .../config/StaticResourceConfig.java | 2 +- .../config/WebSocketConfig.java | 4 +- .../persistence/entity}/AccountEntity.java | 4 +- .../persistence/entity}/BaseEntity.java | 2 +- .../persistence/entity}/GameConfigEntity.java | 4 +- .../persistence/entity}/GameMoveEntity.java | 4 +- .../persistence/entity}/GameRecordEntity.java | 4 +- .../persistence/entity}/GameRoomEntity.java | 4 +- .../persistence/entity}/RoomPlayerEntity.java | 4 +- .../persistence/entity}/UUIDBaseEntity.java | 2 +- .../persistence/entity}/UserEntity.java | 4 +- .../repository/AccountRepository.java | 4 +- .../repository/GameConfigRepository.java | 4 +- .../repository/GameMoveRepository.java | 4 +- .../repository/GameRecordRepository.java | 4 +- .../repository/GameRoomRepository.java | 4 +- .../repository/RoomPlayerRepository.java | 4 +- .../repository/UserRepository.java | 4 +- .../service/AccountService.java | 42 -------------- .../webgamebackend/service/GameService.java | 19 ------- .../service/RefreshTokenService.java | 40 ------------- .../webgamebackend/service/UserService.java | 57 ------------------- src/main/resources/application.yml | 9 +++ 58 files changed, 122 insertions(+), 285 deletions(-) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/sse/RedisSseListener.java (96%) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/sse/SseConnectionManager.java (99%) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/sse/SseController.java (99%) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/ws/RoomSessionManager.java (98%) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/ws/RoomWebSocketHandler.java (93%) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/ws/WsMessageHandler.java (93%) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/ws/WsMessageRouter.java (97%) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/ws/dto/WsInboundMessage.java (93%) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/ws/dto/WsMessage.java (79%) rename src/main/java/com/webgame/webgamebackend/{ => adapter}/ws/dto/WsOutboundMessage.java (95%) rename src/main/java/com/webgame/webgamebackend/{controller => api}/AccountController.java (95%) rename src/main/java/com/webgame/webgamebackend/{controller => api}/GameController.java (89%) rename src/main/java/com/webgame/webgamebackend/{controller => api}/RoomController.java (97%) rename src/main/java/com/webgame/webgamebackend/{controller => api}/UserController.java (96%) rename src/main/java/com/webgame/webgamebackend/{service/impl/AccountServiceImpl.java => domain/account/AccountService.java} (88%) rename src/main/java/com/webgame/webgamebackend/{service => domain}/engine/GameEngine.java (97%) rename src/main/java/com/webgame/webgamebackend/{service => domain}/engine/GameEngineFactory.java (89%) rename src/main/java/com/webgame/webgamebackend/{service => domain}/engine/GameEngineRegistry.java (97%) rename src/main/java/com/webgame/webgamebackend/{service => domain}/engine/GameState.java (93%) rename src/main/java/com/webgame/webgamebackend/{service => domain}/engine/GomokuEngine.java (97%) rename src/main/java/com/webgame/webgamebackend/{service => domain}/engine/RoomContext.java (96%) rename src/main/java/com/webgame/webgamebackend/{service/impl/GameServiceImpl.java => domain/game/GameService.java} (74%) rename src/main/java/com/webgame/webgamebackend/{service => domain/room}/RoomManager.java (98%) rename src/main/java/com/webgame/webgamebackend/{service/impl/RefreshTokenServiceImpl.java => domain/token/RefreshTokenService.java} (95%) rename src/main/java/com/webgame/webgamebackend/{service/impl/UserServiceImpl.java => domain/user/UserService.java} (95%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure}/config/EngineRegistrationConfig.java (78%) rename src/main/java/com/webgame/webgamebackend/{common => infrastructure}/config/OpenApiConfig.java (91%) rename src/main/java/com/webgame/webgamebackend/{common => infrastructure}/config/PasswordConfig.java (86%) rename src/main/java/com/webgame/webgamebackend/{common => infrastructure}/config/RedisConfigurer.java (97%) rename src/main/java/com/webgame/webgamebackend/{common => infrastructure}/config/SaTokenConfigure.java (96%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure}/config/SseConfig.java (89%) rename src/main/java/com/webgame/webgamebackend/{common => infrastructure}/config/StaticResourceConfig.java (95%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure}/config/WebSocketConfig.java (87%) rename src/main/java/com/webgame/webgamebackend/{entities => infrastructure/persistence/entity}/AccountEntity.java (85%) rename src/main/java/com/webgame/webgamebackend/{entities/base => infrastructure/persistence/entity}/BaseEntity.java (92%) rename src/main/java/com/webgame/webgamebackend/{entities => infrastructure/persistence/entity}/GameConfigEntity.java (93%) rename src/main/java/com/webgame/webgamebackend/{entities => infrastructure/persistence/entity}/GameMoveEntity.java (88%) rename src/main/java/com/webgame/webgamebackend/{entities => infrastructure/persistence/entity}/GameRecordEntity.java (90%) rename src/main/java/com/webgame/webgamebackend/{entities => infrastructure/persistence/entity}/GameRoomEntity.java (92%) rename src/main/java/com/webgame/webgamebackend/{entities => infrastructure/persistence/entity}/RoomPlayerEntity.java (88%) rename src/main/java/com/webgame/webgamebackend/{entities/base => infrastructure/persistence/entity}/UUIDBaseEntity.java (89%) rename src/main/java/com/webgame/webgamebackend/{entities => infrastructure/persistence/entity}/UserEntity.java (91%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure/persistence}/repository/AccountRepository.java (77%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure/persistence}/repository/GameConfigRepository.java (79%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure/persistence}/repository/GameMoveRepository.java (78%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure/persistence}/repository/GameRecordRepository.java (72%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure/persistence}/repository/GameRoomRepository.java (91%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure/persistence}/repository/RoomPlayerRepository.java (88%) rename src/main/java/com/webgame/webgamebackend/{ => infrastructure/persistence}/repository/UserRepository.java (75%) delete mode 100644 src/main/java/com/webgame/webgamebackend/service/AccountService.java delete mode 100644 src/main/java/com/webgame/webgamebackend/service/GameService.java delete mode 100644 src/main/java/com/webgame/webgamebackend/service/RefreshTokenService.java delete mode 100644 src/main/java/com/webgame/webgamebackend/service/UserService.java diff --git a/src/main/java/com/webgame/webgamebackend/sse/RedisSseListener.java b/src/main/java/com/webgame/webgamebackend/adapter/sse/RedisSseListener.java similarity index 96% rename from src/main/java/com/webgame/webgamebackend/sse/RedisSseListener.java rename to src/main/java/com/webgame/webgamebackend/adapter/sse/RedisSseListener.java index 3418321..5b29d4b 100644 --- a/src/main/java/com/webgame/webgamebackend/sse/RedisSseListener.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/sse/RedisSseListener.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.sse; +package com.webgame.webgamebackend.adapter.sse; import com.alibaba.fastjson2.JSON; import com.webgame.webgamebackend.common.event.SseEvent; diff --git a/src/main/java/com/webgame/webgamebackend/sse/SseConnectionManager.java b/src/main/java/com/webgame/webgamebackend/adapter/sse/SseConnectionManager.java similarity index 99% rename from src/main/java/com/webgame/webgamebackend/sse/SseConnectionManager.java rename to src/main/java/com/webgame/webgamebackend/adapter/sse/SseConnectionManager.java index 233005f..8a019e5 100644 --- a/src/main/java/com/webgame/webgamebackend/sse/SseConnectionManager.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/sse/SseConnectionManager.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.sse; +package com.webgame.webgamebackend.adapter.sse; import com.webgame.webgamebackend.common.event.SseEvent; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/com/webgame/webgamebackend/sse/SseController.java b/src/main/java/com/webgame/webgamebackend/adapter/sse/SseController.java similarity index 99% rename from src/main/java/com/webgame/webgamebackend/sse/SseController.java rename to src/main/java/com/webgame/webgamebackend/adapter/sse/SseController.java index 329ebf5..0ce57ee 100644 --- a/src/main/java/com/webgame/webgamebackend/sse/SseController.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/sse/SseController.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.sse; +package com.webgame.webgamebackend.adapter.sse; import com.webgame.webgamebackend.common.auth.AuthenticationProvider; import com.webgame.webgamebackend.common.dto.ApiResponse; diff --git a/src/main/java/com/webgame/webgamebackend/ws/RoomSessionManager.java b/src/main/java/com/webgame/webgamebackend/adapter/ws/RoomSessionManager.java similarity index 98% rename from src/main/java/com/webgame/webgamebackend/ws/RoomSessionManager.java rename to src/main/java/com/webgame/webgamebackend/adapter/ws/RoomSessionManager.java index 73bbc72..db84c77 100644 --- a/src/main/java/com/webgame/webgamebackend/ws/RoomSessionManager.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/ws/RoomSessionManager.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.ws; +package com.webgame.webgamebackend.adapter.ws; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/webgame/webgamebackend/ws/RoomWebSocketHandler.java b/src/main/java/com/webgame/webgamebackend/adapter/ws/RoomWebSocketHandler.java similarity index 93% rename from src/main/java/com/webgame/webgamebackend/ws/RoomWebSocketHandler.java rename to src/main/java/com/webgame/webgamebackend/adapter/ws/RoomWebSocketHandler.java index 43d42ea..c891207 100644 --- a/src/main/java/com/webgame/webgamebackend/ws/RoomWebSocketHandler.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/ws/RoomWebSocketHandler.java @@ -1,17 +1,17 @@ -package com.webgame.webgamebackend.ws; +package com.webgame.webgamebackend.adapter.ws; import com.webgame.webgamebackend.common.auth.AuthenticationProvider; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; -import com.webgame.webgamebackend.entities.GameRoomEntity; -import com.webgame.webgamebackend.repository.GameRoomRepository; -import com.webgame.webgamebackend.service.RoomManager; -import com.webgame.webgamebackend.service.engine.GameEngine; -import com.webgame.webgamebackend.service.engine.GameEngineRegistry; -import com.webgame.webgamebackend.service.engine.RoomContext; -import com.webgame.webgamebackend.ws.dto.WsInboundMessage; -import com.webgame.webgamebackend.ws.dto.WsMessage; -import com.webgame.webgamebackend.ws.dto.WsOutboundMessage; +import com.webgame.webgamebackend.infrastructure.persistence.entity.GameRoomEntity; +import com.webgame.webgamebackend.infrastructure.persistence.repository.GameRoomRepository; +import com.webgame.webgamebackend.domain.room.RoomManager; +import com.webgame.webgamebackend.domain.engine.GameEngine; +import com.webgame.webgamebackend.domain.engine.GameEngineRegistry; +import com.webgame.webgamebackend.domain.engine.RoomContext; +import com.webgame.webgamebackend.adapter.ws.dto.WsInboundMessage; +import com.webgame.webgamebackend.adapter.ws.dto.WsMessage; +import com.webgame.webgamebackend.adapter.ws.dto.WsOutboundMessage; import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/webgame/webgamebackend/ws/WsMessageHandler.java b/src/main/java/com/webgame/webgamebackend/adapter/ws/WsMessageHandler.java similarity index 93% rename from src/main/java/com/webgame/webgamebackend/ws/WsMessageHandler.java rename to src/main/java/com/webgame/webgamebackend/adapter/ws/WsMessageHandler.java index 2d7efd1..8d2f4ec 100644 --- a/src/main/java/com/webgame/webgamebackend/ws/WsMessageHandler.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/ws/WsMessageHandler.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.ws; +package com.webgame.webgamebackend.adapter.ws; import com.alibaba.fastjson2.JSONObject; diff --git a/src/main/java/com/webgame/webgamebackend/ws/WsMessageRouter.java b/src/main/java/com/webgame/webgamebackend/adapter/ws/WsMessageRouter.java similarity index 97% rename from src/main/java/com/webgame/webgamebackend/ws/WsMessageRouter.java rename to src/main/java/com/webgame/webgamebackend/adapter/ws/WsMessageRouter.java index ad625f1..e8bb69b 100644 --- a/src/main/java/com/webgame/webgamebackend/ws/WsMessageRouter.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/ws/WsMessageRouter.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.ws; +package com.webgame.webgamebackend.adapter.ws; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/webgame/webgamebackend/ws/dto/WsInboundMessage.java b/src/main/java/com/webgame/webgamebackend/adapter/ws/dto/WsInboundMessage.java similarity index 93% rename from src/main/java/com/webgame/webgamebackend/ws/dto/WsInboundMessage.java rename to src/main/java/com/webgame/webgamebackend/adapter/ws/dto/WsInboundMessage.java index eb7efc2..a0cf384 100644 --- a/src/main/java/com/webgame/webgamebackend/ws/dto/WsInboundMessage.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/ws/dto/WsInboundMessage.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.ws.dto; +package com.webgame.webgamebackend.adapter.ws.dto; /** * 客户端→服务端 WebSocket 消息类型 diff --git a/src/main/java/com/webgame/webgamebackend/ws/dto/WsMessage.java b/src/main/java/com/webgame/webgamebackend/adapter/ws/dto/WsMessage.java similarity index 79% rename from src/main/java/com/webgame/webgamebackend/ws/dto/WsMessage.java rename to src/main/java/com/webgame/webgamebackend/adapter/ws/dto/WsMessage.java index 8a38d23..5634c1a 100644 --- a/src/main/java/com/webgame/webgamebackend/ws/dto/WsMessage.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/ws/dto/WsMessage.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.ws.dto; +package com.webgame.webgamebackend.adapter.ws.dto; /** * WebSocket 消息通用封装 diff --git a/src/main/java/com/webgame/webgamebackend/ws/dto/WsOutboundMessage.java b/src/main/java/com/webgame/webgamebackend/adapter/ws/dto/WsOutboundMessage.java similarity index 95% rename from src/main/java/com/webgame/webgamebackend/ws/dto/WsOutboundMessage.java rename to src/main/java/com/webgame/webgamebackend/adapter/ws/dto/WsOutboundMessage.java index e7b2801..b2463d9 100644 --- a/src/main/java/com/webgame/webgamebackend/ws/dto/WsOutboundMessage.java +++ b/src/main/java/com/webgame/webgamebackend/adapter/ws/dto/WsOutboundMessage.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.ws.dto; +package com.webgame.webgamebackend.adapter.ws.dto; /** * 服务端→客户端 WebSocket 消息类型 diff --git a/src/main/java/com/webgame/webgamebackend/controller/AccountController.java b/src/main/java/com/webgame/webgamebackend/api/AccountController.java similarity index 95% rename from src/main/java/com/webgame/webgamebackend/controller/AccountController.java rename to src/main/java/com/webgame/webgamebackend/api/AccountController.java index 643fb8f..af64762 100644 --- a/src/main/java/com/webgame/webgamebackend/controller/AccountController.java +++ b/src/main/java/com/webgame/webgamebackend/api/AccountController.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.controller; +package com.webgame.webgamebackend.api; import com.webgame.webgamebackend.common.dto.ApiResponse; import com.webgame.webgamebackend.common.dto.account.LoginRequest; @@ -6,7 +6,7 @@ import com.webgame.webgamebackend.common.dto.account.LoginResponse; import com.webgame.webgamebackend.common.dto.account.LogoutRequest; import com.webgame.webgamebackend.common.dto.account.RefreshTokenRequest; import com.webgame.webgamebackend.common.dto.account.RegisterRequest; -import com.webgame.webgamebackend.service.AccountService; +import com.webgame.webgamebackend.domain.account.AccountService; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; diff --git a/src/main/java/com/webgame/webgamebackend/controller/GameController.java b/src/main/java/com/webgame/webgamebackend/api/GameController.java similarity index 89% rename from src/main/java/com/webgame/webgamebackend/controller/GameController.java rename to src/main/java/com/webgame/webgamebackend/api/GameController.java index f63ddb6..d638d54 100644 --- a/src/main/java/com/webgame/webgamebackend/controller/GameController.java +++ b/src/main/java/com/webgame/webgamebackend/api/GameController.java @@ -1,8 +1,8 @@ -package com.webgame.webgamebackend.controller; +package com.webgame.webgamebackend.api; import com.webgame.webgamebackend.common.dto.ApiResponse; import com.webgame.webgamebackend.common.dto.game.GameListResponse; -import com.webgame.webgamebackend.service.GameService; +import com.webgame.webgamebackend.domain.game.GameService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/src/main/java/com/webgame/webgamebackend/controller/RoomController.java b/src/main/java/com/webgame/webgamebackend/api/RoomController.java similarity index 97% rename from src/main/java/com/webgame/webgamebackend/controller/RoomController.java rename to src/main/java/com/webgame/webgamebackend/api/RoomController.java index 30809c6..42b94c3 100644 --- a/src/main/java/com/webgame/webgamebackend/controller/RoomController.java +++ b/src/main/java/com/webgame/webgamebackend/api/RoomController.java @@ -1,9 +1,9 @@ -package com.webgame.webgamebackend.controller; +package com.webgame.webgamebackend.api; import com.webgame.webgamebackend.common.auth.AuthenticationProvider; import com.webgame.webgamebackend.common.dto.ApiResponse; import com.webgame.webgamebackend.common.dto.game.*; -import com.webgame.webgamebackend.service.RoomManager; +import com.webgame.webgamebackend.domain.room.RoomManager; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; diff --git a/src/main/java/com/webgame/webgamebackend/controller/UserController.java b/src/main/java/com/webgame/webgamebackend/api/UserController.java similarity index 96% rename from src/main/java/com/webgame/webgamebackend/controller/UserController.java rename to src/main/java/com/webgame/webgamebackend/api/UserController.java index 1b33d04..3489f34 100644 --- a/src/main/java/com/webgame/webgamebackend/controller/UserController.java +++ b/src/main/java/com/webgame/webgamebackend/api/UserController.java @@ -1,11 +1,11 @@ -package com.webgame.webgamebackend.controller; +package com.webgame.webgamebackend.api; import com.webgame.webgamebackend.common.auth.AuthenticationProvider; import com.webgame.webgamebackend.common.dto.ApiResponse; import com.webgame.webgamebackend.common.dto.user.UpdateStatusRequest; import com.webgame.webgamebackend.common.dto.user.UpdateUserInfoRequest; import com.webgame.webgamebackend.common.dto.user.UserInfoResponse; -import com.webgame.webgamebackend.service.UserService; +import com.webgame.webgamebackend.domain.user.UserService; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; diff --git a/src/main/java/com/webgame/webgamebackend/common/dto/game/GameItemResponse.java b/src/main/java/com/webgame/webgamebackend/common/dto/game/GameItemResponse.java index 930959f..42738e5 100644 --- a/src/main/java/com/webgame/webgamebackend/common/dto/game/GameItemResponse.java +++ b/src/main/java/com/webgame/webgamebackend/common/dto/game/GameItemResponse.java @@ -1,7 +1,7 @@ package com.webgame.webgamebackend.common.dto.game; import com.alibaba.fastjson2.JSON; -import com.webgame.webgamebackend.entities.GameConfigEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.GameConfigEntity; import java.util.List; diff --git a/src/main/java/com/webgame/webgamebackend/common/dto/game/RoomItemResponse.java b/src/main/java/com/webgame/webgamebackend/common/dto/game/RoomItemResponse.java index 9129181..268e62f 100644 --- a/src/main/java/com/webgame/webgamebackend/common/dto/game/RoomItemResponse.java +++ b/src/main/java/com/webgame/webgamebackend/common/dto/game/RoomItemResponse.java @@ -1,6 +1,6 @@ package com.webgame.webgamebackend.common.dto.game; -import com.webgame.webgamebackend.entities.GameRoomEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.GameRoomEntity; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/webgame/webgamebackend/common/dto/user/UserInfoResponse.java b/src/main/java/com/webgame/webgamebackend/common/dto/user/UserInfoResponse.java index 7a88ca6..3c6cbc4 100644 --- a/src/main/java/com/webgame/webgamebackend/common/dto/user/UserInfoResponse.java +++ b/src/main/java/com/webgame/webgamebackend/common/dto/user/UserInfoResponse.java @@ -1,6 +1,6 @@ package com.webgame.webgamebackend.common.dto.user; -import com.webgame.webgamebackend.entities.UserEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UserEntity; import java.time.LocalDate; diff --git a/src/main/java/com/webgame/webgamebackend/common/event/SseEventPublisher.java b/src/main/java/com/webgame/webgamebackend/common/event/SseEventPublisher.java index c5ba77c..923fe14 100644 --- a/src/main/java/com/webgame/webgamebackend/common/event/SseEventPublisher.java +++ b/src/main/java/com/webgame/webgamebackend/common/event/SseEventPublisher.java @@ -3,7 +3,7 @@ package com.webgame.webgamebackend.common.event; import com.alibaba.fastjson2.JSON; import com.webgame.webgamebackend.common.exception.BusinessException; import com.webgame.webgamebackend.common.exception.ErrorCode; -import com.webgame.webgamebackend.sse.SseConnectionManager; +import com.webgame.webgamebackend.adapter.sse.SseConnectionManager; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.core.RedisTemplate; diff --git a/src/main/java/com/webgame/webgamebackend/service/impl/AccountServiceImpl.java b/src/main/java/com/webgame/webgamebackend/domain/account/AccountService.java similarity index 88% rename from src/main/java/com/webgame/webgamebackend/service/impl/AccountServiceImpl.java rename to src/main/java/com/webgame/webgamebackend/domain/account/AccountService.java index 9227685..23e32a3 100644 --- a/src/main/java/com/webgame/webgamebackend/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/webgame/webgamebackend/domain/account/AccountService.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.service.impl; +package com.webgame.webgamebackend.domain.account; import com.webgame.webgamebackend.common.auth.AuthenticationProvider; import com.webgame.webgamebackend.common.constants.UserConstants; @@ -7,12 +7,12 @@ import com.webgame.webgamebackend.common.dto.account.LoginResponse; import com.webgame.webgamebackend.common.dto.account.RegisterRequest; import com.webgame.webgamebackend.common.exception.BusinessException; import com.webgame.webgamebackend.common.exception.ErrorCode; -import com.webgame.webgamebackend.entities.AccountEntity; -import com.webgame.webgamebackend.entities.UserEntity; -import com.webgame.webgamebackend.repository.AccountRepository; -import com.webgame.webgamebackend.repository.UserRepository; -import com.webgame.webgamebackend.service.AccountService; -import com.webgame.webgamebackend.service.RefreshTokenService; +import com.webgame.webgamebackend.infrastructure.persistence.entity.AccountEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UserEntity; +import com.webgame.webgamebackend.infrastructure.persistence.repository.AccountRepository; +import com.webgame.webgamebackend.infrastructure.persistence.repository.UserRepository; +import com.webgame.webgamebackend.domain.account.AccountService; +import com.webgame.webgamebackend.domain.token.RefreshTokenService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; @@ -27,7 +27,7 @@ import java.util.concurrent.ThreadLocalRandom; @Slf4j @Service @RequiredArgsConstructor -public class AccountServiceImpl implements AccountService { +public class AccountService { private final AccountRepository accountRepository; private final UserRepository userRepository; @@ -35,7 +35,6 @@ public class AccountServiceImpl implements AccountService { private final RefreshTokenService refreshTokenService; private final AuthenticationProvider authProvider; - @Override public LoginResponse login(LoginRequest request) { AccountEntity account = accountRepository.findByUsername(request.username()) .orElseThrow(() -> new BusinessException(ErrorCode.BAD_CREDENTIALS)); @@ -50,7 +49,6 @@ public class AccountServiceImpl implements AccountService { return new LoginResponse(accessToken, refreshToken); } - @Override @Transactional public LoginResponse register(RegisterRequest request) { // 检查用户名是否已存在 @@ -80,7 +78,6 @@ public class AccountServiceImpl implements AccountService { return new LoginResponse(accessToken, refreshToken); } - @Override public LoginResponse refresh(String refreshToken) { // 校验 refresh token,有效则用它签发新的 access token String userId = refreshTokenService.validate(refreshToken); @@ -90,7 +87,6 @@ public class AccountServiceImpl implements AccountService { return new LoginResponse(accessToken, refreshToken); } - @Override public void logout(String refreshToken) { // 获取当前登录用户ID(用于日志) String loginId = authProvider.getCurrentUserId(); diff --git a/src/main/java/com/webgame/webgamebackend/service/engine/GameEngine.java b/src/main/java/com/webgame/webgamebackend/domain/engine/GameEngine.java similarity index 97% rename from src/main/java/com/webgame/webgamebackend/service/engine/GameEngine.java rename to src/main/java/com/webgame/webgamebackend/domain/engine/GameEngine.java index c5bc5d8..c182aba 100644 --- a/src/main/java/com/webgame/webgamebackend/service/engine/GameEngine.java +++ b/src/main/java/com/webgame/webgamebackend/domain/engine/GameEngine.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.service.engine; +package com.webgame.webgamebackend.domain.engine; import com.fasterxml.jackson.databind.JsonNode; diff --git a/src/main/java/com/webgame/webgamebackend/service/engine/GameEngineFactory.java b/src/main/java/com/webgame/webgamebackend/domain/engine/GameEngineFactory.java similarity index 89% rename from src/main/java/com/webgame/webgamebackend/service/engine/GameEngineFactory.java rename to src/main/java/com/webgame/webgamebackend/domain/engine/GameEngineFactory.java index 173d9a7..4a4d993 100644 --- a/src/main/java/com/webgame/webgamebackend/service/engine/GameEngineFactory.java +++ b/src/main/java/com/webgame/webgamebackend/domain/engine/GameEngineFactory.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.service.engine; +package com.webgame.webgamebackend.domain.engine; /** * 游戏引擎工厂接口 diff --git a/src/main/java/com/webgame/webgamebackend/service/engine/GameEngineRegistry.java b/src/main/java/com/webgame/webgamebackend/domain/engine/GameEngineRegistry.java similarity index 97% rename from src/main/java/com/webgame/webgamebackend/service/engine/GameEngineRegistry.java rename to src/main/java/com/webgame/webgamebackend/domain/engine/GameEngineRegistry.java index 5802528..ddaa3ca 100644 --- a/src/main/java/com/webgame/webgamebackend/service/engine/GameEngineRegistry.java +++ b/src/main/java/com/webgame/webgamebackend/domain/engine/GameEngineRegistry.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.service.engine; +package com.webgame.webgamebackend.domain.engine; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/webgame/webgamebackend/service/engine/GameState.java b/src/main/java/com/webgame/webgamebackend/domain/engine/GameState.java similarity index 93% rename from src/main/java/com/webgame/webgamebackend/service/engine/GameState.java rename to src/main/java/com/webgame/webgamebackend/domain/engine/GameState.java index 836dd09..3cce30f 100644 --- a/src/main/java/com/webgame/webgamebackend/service/engine/GameState.java +++ b/src/main/java/com/webgame/webgamebackend/domain/engine/GameState.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.service.engine; +package com.webgame.webgamebackend.domain.engine; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/src/main/java/com/webgame/webgamebackend/service/engine/GomokuEngine.java b/src/main/java/com/webgame/webgamebackend/domain/engine/GomokuEngine.java similarity index 97% rename from src/main/java/com/webgame/webgamebackend/service/engine/GomokuEngine.java rename to src/main/java/com/webgame/webgamebackend/domain/engine/GomokuEngine.java index bb1ce78..3432a7b 100644 --- a/src/main/java/com/webgame/webgamebackend/service/engine/GomokuEngine.java +++ b/src/main/java/com/webgame/webgamebackend/domain/engine/GomokuEngine.java @@ -1,13 +1,13 @@ -package com.webgame.webgamebackend.service.engine; +package com.webgame.webgamebackend.domain.engine; import com.alibaba.fastjson2.JSON; import com.fasterxml.jackson.databind.JsonNode; import com.webgame.webgamebackend.common.exception.BusinessException; import com.webgame.webgamebackend.common.exception.ErrorCode; -import com.webgame.webgamebackend.entities.GameMoveEntity; -import com.webgame.webgamebackend.repository.GameMoveRepository; -import com.webgame.webgamebackend.ws.dto.WsMessage; -import com.webgame.webgamebackend.ws.dto.WsOutboundMessage; +import com.webgame.webgamebackend.infrastructure.persistence.entity.GameMoveEntity; +import com.webgame.webgamebackend.infrastructure.persistence.repository.GameMoveRepository; +import com.webgame.webgamebackend.adapter.ws.dto.WsMessage; +import com.webgame.webgamebackend.adapter.ws.dto.WsOutboundMessage; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/webgame/webgamebackend/service/engine/RoomContext.java b/src/main/java/com/webgame/webgamebackend/domain/engine/RoomContext.java similarity index 96% rename from src/main/java/com/webgame/webgamebackend/service/engine/RoomContext.java rename to src/main/java/com/webgame/webgamebackend/domain/engine/RoomContext.java index 370267f..5a0289b 100644 --- a/src/main/java/com/webgame/webgamebackend/service/engine/RoomContext.java +++ b/src/main/java/com/webgame/webgamebackend/domain/engine/RoomContext.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.service.engine; +package com.webgame.webgamebackend.domain.engine; -import com.webgame.webgamebackend.ws.dto.WsMessage; +import com.webgame.webgamebackend.adapter.ws.dto.WsMessage; import lombok.Getter; import java.util.List; diff --git a/src/main/java/com/webgame/webgamebackend/service/impl/GameServiceImpl.java b/src/main/java/com/webgame/webgamebackend/domain/game/GameService.java similarity index 74% rename from src/main/java/com/webgame/webgamebackend/service/impl/GameServiceImpl.java rename to src/main/java/com/webgame/webgamebackend/domain/game/GameService.java index 545e902..2f0e9e1 100644 --- a/src/main/java/com/webgame/webgamebackend/service/impl/GameServiceImpl.java +++ b/src/main/java/com/webgame/webgamebackend/domain/game/GameService.java @@ -1,10 +1,10 @@ -package com.webgame.webgamebackend.service.impl; +package com.webgame.webgamebackend.domain.game; import com.webgame.webgamebackend.common.dto.game.GameItemResponse; import com.webgame.webgamebackend.common.dto.game.GameListResponse; -import com.webgame.webgamebackend.entities.GameConfigEntity; -import com.webgame.webgamebackend.repository.GameConfigRepository; -import com.webgame.webgamebackend.service.GameService; +import com.webgame.webgamebackend.infrastructure.persistence.entity.GameConfigEntity; +import com.webgame.webgamebackend.infrastructure.persistence.repository.GameConfigRepository; +import com.webgame.webgamebackend.domain.game.GameService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -19,11 +19,10 @@ import java.util.List; @Slf4j @Service @RequiredArgsConstructor -public class GameServiceImpl implements GameService { +public class GameService { private final GameConfigRepository gameConfigRepository; - @Override public GameListResponse getGameList() { List configs = gameConfigRepository.findByEnabledTrueOrderBySortOrderAsc(); List list = configs.stream() diff --git a/src/main/java/com/webgame/webgamebackend/service/RoomManager.java b/src/main/java/com/webgame/webgamebackend/domain/room/RoomManager.java similarity index 98% rename from src/main/java/com/webgame/webgamebackend/service/RoomManager.java rename to src/main/java/com/webgame/webgamebackend/domain/room/RoomManager.java index 0447d1c..c11f28a 100644 --- a/src/main/java/com/webgame/webgamebackend/service/RoomManager.java +++ b/src/main/java/com/webgame/webgamebackend/domain/room/RoomManager.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.service; +package com.webgame.webgamebackend.domain.room; import com.alibaba.fastjson2.JSON; import com.webgame.webgamebackend.common.dto.game.*; @@ -8,12 +8,12 @@ import com.webgame.webgamebackend.common.event.SseEventPublisher; import com.webgame.webgamebackend.common.event.SseEventType; import com.webgame.webgamebackend.common.exception.BusinessException; import com.webgame.webgamebackend.common.exception.ErrorCode; -import com.webgame.webgamebackend.entities.*; -import com.webgame.webgamebackend.repository.*; -import com.webgame.webgamebackend.service.engine.*; -import com.webgame.webgamebackend.ws.RoomSessionManager; -import com.webgame.webgamebackend.ws.dto.WsMessage; -import com.webgame.webgamebackend.ws.dto.WsOutboundMessage; +import com.webgame.webgamebackend.infrastructure.persistence.entity.*; +import com.webgame.webgamebackend.infrastructure.persistence.repository.*; +import com.webgame.webgamebackend.domain.engine.*; +import com.webgame.webgamebackend.adapter.ws.RoomSessionManager; +import com.webgame.webgamebackend.adapter.ws.dto.WsMessage; +import com.webgame.webgamebackend.adapter.ws.dto.WsOutboundMessage; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; diff --git a/src/main/java/com/webgame/webgamebackend/service/impl/RefreshTokenServiceImpl.java b/src/main/java/com/webgame/webgamebackend/domain/token/RefreshTokenService.java similarity index 95% rename from src/main/java/com/webgame/webgamebackend/service/impl/RefreshTokenServiceImpl.java rename to src/main/java/com/webgame/webgamebackend/domain/token/RefreshTokenService.java index ab90681..c5a9f51 100644 --- a/src/main/java/com/webgame/webgamebackend/service/impl/RefreshTokenServiceImpl.java +++ b/src/main/java/com/webgame/webgamebackend/domain/token/RefreshTokenService.java @@ -1,8 +1,8 @@ -package com.webgame.webgamebackend.service.impl; +package com.webgame.webgamebackend.domain.token; import com.webgame.webgamebackend.common.exception.BusinessException; import com.webgame.webgamebackend.common.exception.ErrorCode; -import com.webgame.webgamebackend.service.RefreshTokenService; +import com.webgame.webgamebackend.domain.token.RefreshTokenService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.core.StringRedisTemplate; @@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit; @Slf4j @Service @RequiredArgsConstructor -public class RefreshTokenServiceImpl implements RefreshTokenService { +public class RefreshTokenService { /** Redis key 前缀 */ private static final String KEY_PREFIX = "xzg:refresh:"; @@ -43,7 +43,6 @@ public class RefreshTokenServiceImpl implements RefreshTokenService { private final StringRedisTemplate stringRedisTemplate; - @Override public String create(String userId) { if (userId == null || userId.isBlank()) { throw new BusinessException(ErrorCode.BAD_REQUEST, "用户ID不能为空"); @@ -64,7 +63,6 @@ public class RefreshTokenServiceImpl implements RefreshTokenService { return token; } - @Override public String validate(String token) { if (token == null || token.isBlank()) { throw new BusinessException(ErrorCode.REFRESH_TOKEN_MISSING); @@ -76,7 +74,6 @@ public class RefreshTokenServiceImpl implements RefreshTokenService { return userId; } - @Override public String rotate(String oldToken) { String userId = validate(oldToken); // 先删反向映射,再删正向映射: @@ -88,7 +85,6 @@ public class RefreshTokenServiceImpl implements RefreshTokenService { return create(userId); } - @Override public void revoke(String token) { if (token == null || token.isBlank()) { return; diff --git a/src/main/java/com/webgame/webgamebackend/service/impl/UserServiceImpl.java b/src/main/java/com/webgame/webgamebackend/domain/user/UserService.java similarity index 95% rename from src/main/java/com/webgame/webgamebackend/service/impl/UserServiceImpl.java rename to src/main/java/com/webgame/webgamebackend/domain/user/UserService.java index f94a781..63ab900 100644 --- a/src/main/java/com/webgame/webgamebackend/service/impl/UserServiceImpl.java +++ b/src/main/java/com/webgame/webgamebackend/domain/user/UserService.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.service.impl; +package com.webgame.webgamebackend.domain.user; import com.webgame.webgamebackend.common.auth.AuthenticationProvider; import com.webgame.webgamebackend.common.dto.user.UpdateStatusRequest; @@ -6,9 +6,9 @@ import com.webgame.webgamebackend.common.dto.user.UpdateUserInfoRequest; import com.webgame.webgamebackend.common.dto.user.UserInfoResponse; import com.webgame.webgamebackend.common.exception.BusinessException; import com.webgame.webgamebackend.common.exception.ErrorCode; -import com.webgame.webgamebackend.entities.UserEntity; -import com.webgame.webgamebackend.repository.UserRepository; -import com.webgame.webgamebackend.service.UserService; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UserEntity; +import com.webgame.webgamebackend.infrastructure.persistence.repository.UserRepository; +import com.webgame.webgamebackend.domain.user.UserService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -27,7 +27,7 @@ import java.util.Set; @Slf4j @Service @RequiredArgsConstructor -public class UserServiceImpl implements UserService { +public class UserService { /** 头像存储目录(相对于项目工作目录) */ private static final String AVATAR_DIR = "uploads/avatars"; @@ -50,7 +50,6 @@ public class UserServiceImpl implements UserService { private final UserRepository userRepository; private final AuthenticationProvider authProvider; - @Override public UserInfoResponse getCurrentUserInfo() { String accountId = authProvider.getCurrentUserId(); log.info("[用户服务] 获取当前登录用户信息, accountId: {}", accountId); @@ -59,7 +58,6 @@ public class UserServiceImpl implements UserService { return UserInfoResponse.from(user); } - @Override @Transactional public UserInfoResponse updateUserInfo(String accountId, UpdateUserInfoRequest request) { UserEntity user = userRepository.findByAccountId(accountId) @@ -90,7 +88,6 @@ public class UserServiceImpl implements UserService { return UserInfoResponse.from(user); } - @Override @Transactional public void updateStatus(String accountId, UpdateStatusRequest request) { UserEntity user = userRepository.findByAccountId(accountId) @@ -101,7 +98,6 @@ public class UserServiceImpl implements UserService { log.info("[用户服务] 更新在线状态, accountId={}, status={}", accountId, request.status()); } - @Override @Transactional public UserInfoResponse uploadAvatar(String accountId, MultipartFile file) { // 校验文件类型 @@ -144,7 +140,6 @@ public class UserServiceImpl implements UserService { } } - @Override @Transactional public UserInfoResponse deleteAvatar(String accountId) { UserEntity user = userRepository.findByAccountId(accountId) diff --git a/src/main/java/com/webgame/webgamebackend/config/EngineRegistrationConfig.java b/src/main/java/com/webgame/webgamebackend/infrastructure/config/EngineRegistrationConfig.java similarity index 78% rename from src/main/java/com/webgame/webgamebackend/config/EngineRegistrationConfig.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/config/EngineRegistrationConfig.java index f8250ee..e234cf9 100644 --- a/src/main/java/com/webgame/webgamebackend/config/EngineRegistrationConfig.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/config/EngineRegistrationConfig.java @@ -1,8 +1,8 @@ -package com.webgame.webgamebackend.config; +package com.webgame.webgamebackend.infrastructure.config; -import com.webgame.webgamebackend.repository.GameMoveRepository; -import com.webgame.webgamebackend.service.engine.GameEngineRegistry; -import com.webgame.webgamebackend.service.engine.GomokuEngine; +import com.webgame.webgamebackend.infrastructure.persistence.repository.GameMoveRepository; +import com.webgame.webgamebackend.domain.engine.GameEngineRegistry; +import com.webgame.webgamebackend.domain.engine.GomokuEngine; import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/webgame/webgamebackend/common/config/OpenApiConfig.java b/src/main/java/com/webgame/webgamebackend/infrastructure/config/OpenApiConfig.java similarity index 91% rename from src/main/java/com/webgame/webgamebackend/common/config/OpenApiConfig.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/config/OpenApiConfig.java index 41b667c..51c1d14 100644 --- a/src/main/java/com/webgame/webgamebackend/common/config/OpenApiConfig.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/config/OpenApiConfig.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.common.config; +package com.webgame.webgamebackend.infrastructure.config; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; diff --git a/src/main/java/com/webgame/webgamebackend/common/config/PasswordConfig.java b/src/main/java/com/webgame/webgamebackend/infrastructure/config/PasswordConfig.java similarity index 86% rename from src/main/java/com/webgame/webgamebackend/common/config/PasswordConfig.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/config/PasswordConfig.java index eae5d45..44ad3fc 100644 --- a/src/main/java/com/webgame/webgamebackend/common/config/PasswordConfig.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/config/PasswordConfig.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.common.config; +package com.webgame.webgamebackend.infrastructure.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/com/webgame/webgamebackend/common/config/RedisConfigurer.java b/src/main/java/com/webgame/webgamebackend/infrastructure/config/RedisConfigurer.java similarity index 97% rename from src/main/java/com/webgame/webgamebackend/common/config/RedisConfigurer.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/config/RedisConfigurer.java index 8788bca..1d99018 100644 --- a/src/main/java/com/webgame/webgamebackend/common/config/RedisConfigurer.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/config/RedisConfigurer.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.common.config; +package com.webgame.webgamebackend.infrastructure.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/com/webgame/webgamebackend/common/config/SaTokenConfigure.java b/src/main/java/com/webgame/webgamebackend/infrastructure/config/SaTokenConfigure.java similarity index 96% rename from src/main/java/com/webgame/webgamebackend/common/config/SaTokenConfigure.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/config/SaTokenConfigure.java index 6005266..b5da9b2 100644 --- a/src/main/java/com/webgame/webgamebackend/common/config/SaTokenConfigure.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/config/SaTokenConfigure.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.common.config; +package com.webgame.webgamebackend.infrastructure.config; import cn.dev33.satoken.fun.strategy.SaCorsHandleFunction; import cn.dev33.satoken.router.SaHttpMethod; diff --git a/src/main/java/com/webgame/webgamebackend/config/SseConfig.java b/src/main/java/com/webgame/webgamebackend/infrastructure/config/SseConfig.java similarity index 89% rename from src/main/java/com/webgame/webgamebackend/config/SseConfig.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/config/SseConfig.java index 7cc1c9c..95f88f5 100644 --- a/src/main/java/com/webgame/webgamebackend/config/SseConfig.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/config/SseConfig.java @@ -1,7 +1,7 @@ -package com.webgame.webgamebackend.config; +package com.webgame.webgamebackend.infrastructure.config; import com.webgame.webgamebackend.common.event.SseEventPublisher; -import com.webgame.webgamebackend.sse.RedisSseListener; +import com.webgame.webgamebackend.adapter.sse.RedisSseListener; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; diff --git a/src/main/java/com/webgame/webgamebackend/common/config/StaticResourceConfig.java b/src/main/java/com/webgame/webgamebackend/infrastructure/config/StaticResourceConfig.java similarity index 95% rename from src/main/java/com/webgame/webgamebackend/common/config/StaticResourceConfig.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/config/StaticResourceConfig.java index 03e1361..249dcb8 100644 --- a/src/main/java/com/webgame/webgamebackend/common/config/StaticResourceConfig.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/config/StaticResourceConfig.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.common.config; +package com.webgame.webgamebackend.infrastructure.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; diff --git a/src/main/java/com/webgame/webgamebackend/config/WebSocketConfig.java b/src/main/java/com/webgame/webgamebackend/infrastructure/config/WebSocketConfig.java similarity index 87% rename from src/main/java/com/webgame/webgamebackend/config/WebSocketConfig.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/config/WebSocketConfig.java index 1d2f5b8..e18d186 100644 --- a/src/main/java/com/webgame/webgamebackend/config/WebSocketConfig.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/config/WebSocketConfig.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.config; +package com.webgame.webgamebackend.infrastructure.config; -import com.webgame.webgamebackend.ws.RoomWebSocketHandler; +import com.webgame.webgamebackend.adapter.ws.RoomWebSocketHandler; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.config.annotation.EnableWebSocket; diff --git a/src/main/java/com/webgame/webgamebackend/entities/AccountEntity.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/AccountEntity.java similarity index 85% rename from src/main/java/com/webgame/webgamebackend/entities/AccountEntity.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/AccountEntity.java index 507876e..4998b29 100644 --- a/src/main/java/com/webgame/webgamebackend/entities/AccountEntity.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/AccountEntity.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.entities; +package com.webgame.webgamebackend.infrastructure.persistence.entity; -import com.webgame.webgamebackend.entities.base.UUIDBaseEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UUIDBaseEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Table; diff --git a/src/main/java/com/webgame/webgamebackend/entities/base/BaseEntity.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/BaseEntity.java similarity index 92% rename from src/main/java/com/webgame/webgamebackend/entities/base/BaseEntity.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/BaseEntity.java index 7dcdc2f..9752f4b 100644 --- a/src/main/java/com/webgame/webgamebackend/entities/base/BaseEntity.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/BaseEntity.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.entities.base; +package com.webgame.webgamebackend.infrastructure.persistence.entity; import jakarta.persistence.*; import lombok.Getter; diff --git a/src/main/java/com/webgame/webgamebackend/entities/GameConfigEntity.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameConfigEntity.java similarity index 93% rename from src/main/java/com/webgame/webgamebackend/entities/GameConfigEntity.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameConfigEntity.java index 0e703b5..e137925 100644 --- a/src/main/java/com/webgame/webgamebackend/entities/GameConfigEntity.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameConfigEntity.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.entities; +package com.webgame.webgamebackend.infrastructure.persistence.entity; -import com.webgame.webgamebackend.entities.base.UUIDBaseEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UUIDBaseEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Table; diff --git a/src/main/java/com/webgame/webgamebackend/entities/GameMoveEntity.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameMoveEntity.java similarity index 88% rename from src/main/java/com/webgame/webgamebackend/entities/GameMoveEntity.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameMoveEntity.java index 8048831..601ad9c 100644 --- a/src/main/java/com/webgame/webgamebackend/entities/GameMoveEntity.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameMoveEntity.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.entities; +package com.webgame.webgamebackend.infrastructure.persistence.entity; -import com.webgame.webgamebackend.entities.base.UUIDBaseEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UUIDBaseEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Table; diff --git a/src/main/java/com/webgame/webgamebackend/entities/GameRecordEntity.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameRecordEntity.java similarity index 90% rename from src/main/java/com/webgame/webgamebackend/entities/GameRecordEntity.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameRecordEntity.java index 13aec58..8d1ef31 100644 --- a/src/main/java/com/webgame/webgamebackend/entities/GameRecordEntity.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameRecordEntity.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.entities; +package com.webgame.webgamebackend.infrastructure.persistence.entity; -import com.webgame.webgamebackend.entities.base.UUIDBaseEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UUIDBaseEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Table; diff --git a/src/main/java/com/webgame/webgamebackend/entities/GameRoomEntity.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameRoomEntity.java similarity index 92% rename from src/main/java/com/webgame/webgamebackend/entities/GameRoomEntity.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameRoomEntity.java index 72dd8c5..8c264c7 100644 --- a/src/main/java/com/webgame/webgamebackend/entities/GameRoomEntity.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/GameRoomEntity.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.entities; +package com.webgame.webgamebackend.infrastructure.persistence.entity; -import com.webgame.webgamebackend.entities.base.UUIDBaseEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UUIDBaseEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Table; diff --git a/src/main/java/com/webgame/webgamebackend/entities/RoomPlayerEntity.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/RoomPlayerEntity.java similarity index 88% rename from src/main/java/com/webgame/webgamebackend/entities/RoomPlayerEntity.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/RoomPlayerEntity.java index def9c54..0f9131f 100644 --- a/src/main/java/com/webgame/webgamebackend/entities/RoomPlayerEntity.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/RoomPlayerEntity.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.entities; +package com.webgame.webgamebackend.infrastructure.persistence.entity; -import com.webgame.webgamebackend.entities.base.UUIDBaseEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UUIDBaseEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Table; diff --git a/src/main/java/com/webgame/webgamebackend/entities/base/UUIDBaseEntity.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/UUIDBaseEntity.java similarity index 89% rename from src/main/java/com/webgame/webgamebackend/entities/base/UUIDBaseEntity.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/UUIDBaseEntity.java index ccc5cb4..fdf4db6 100644 --- a/src/main/java/com/webgame/webgamebackend/entities/base/UUIDBaseEntity.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/UUIDBaseEntity.java @@ -1,4 +1,4 @@ -package com.webgame.webgamebackend.entities.base; +package com.webgame.webgamebackend.infrastructure.persistence.entity; import jakarta.persistence.*; import lombok.Getter; diff --git a/src/main/java/com/webgame/webgamebackend/entities/UserEntity.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/UserEntity.java similarity index 91% rename from src/main/java/com/webgame/webgamebackend/entities/UserEntity.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/UserEntity.java index de93c8c..a335714 100644 --- a/src/main/java/com/webgame/webgamebackend/entities/UserEntity.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/entity/UserEntity.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.entities; +package com.webgame.webgamebackend.infrastructure.persistence.entity; -import com.webgame.webgamebackend.entities.base.UUIDBaseEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UUIDBaseEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/src/main/java/com/webgame/webgamebackend/repository/AccountRepository.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/AccountRepository.java similarity index 77% rename from src/main/java/com/webgame/webgamebackend/repository/AccountRepository.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/AccountRepository.java index 1b80bb6..b76cdc5 100644 --- a/src/main/java/com/webgame/webgamebackend/repository/AccountRepository.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/AccountRepository.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.repository; +package com.webgame.webgamebackend.infrastructure.persistence.repository; -import com.webgame.webgamebackend.entities.AccountEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.AccountEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; diff --git a/src/main/java/com/webgame/webgamebackend/repository/GameConfigRepository.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameConfigRepository.java similarity index 79% rename from src/main/java/com/webgame/webgamebackend/repository/GameConfigRepository.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameConfigRepository.java index 1e8c52d..d111ef7 100644 --- a/src/main/java/com/webgame/webgamebackend/repository/GameConfigRepository.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameConfigRepository.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.repository; +package com.webgame.webgamebackend.infrastructure.persistence.repository; -import com.webgame.webgamebackend.entities.GameConfigEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.GameConfigEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; diff --git a/src/main/java/com/webgame/webgamebackend/repository/GameMoveRepository.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameMoveRepository.java similarity index 78% rename from src/main/java/com/webgame/webgamebackend/repository/GameMoveRepository.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameMoveRepository.java index 7e326a1..1e8f8c7 100644 --- a/src/main/java/com/webgame/webgamebackend/repository/GameMoveRepository.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameMoveRepository.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.repository; +package com.webgame.webgamebackend.infrastructure.persistence.repository; -import com.webgame.webgamebackend.entities.GameMoveEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.GameMoveEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; diff --git a/src/main/java/com/webgame/webgamebackend/repository/GameRecordRepository.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameRecordRepository.java similarity index 72% rename from src/main/java/com/webgame/webgamebackend/repository/GameRecordRepository.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameRecordRepository.java index 7ca2e7f..474b34e 100644 --- a/src/main/java/com/webgame/webgamebackend/repository/GameRecordRepository.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameRecordRepository.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.repository; +package com.webgame.webgamebackend.infrastructure.persistence.repository; -import com.webgame.webgamebackend.entities.GameRecordEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.GameRecordEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; diff --git a/src/main/java/com/webgame/webgamebackend/repository/GameRoomRepository.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameRoomRepository.java similarity index 91% rename from src/main/java/com/webgame/webgamebackend/repository/GameRoomRepository.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameRoomRepository.java index 7cabca5..909fcdf 100644 --- a/src/main/java/com/webgame/webgamebackend/repository/GameRoomRepository.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/GameRoomRepository.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.repository; +package com.webgame.webgamebackend.infrastructure.persistence.repository; -import com.webgame.webgamebackend.entities.GameRoomEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.GameRoomEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; diff --git a/src/main/java/com/webgame/webgamebackend/repository/RoomPlayerRepository.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/RoomPlayerRepository.java similarity index 88% rename from src/main/java/com/webgame/webgamebackend/repository/RoomPlayerRepository.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/RoomPlayerRepository.java index 084f3b1..fc6f210 100644 --- a/src/main/java/com/webgame/webgamebackend/repository/RoomPlayerRepository.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/RoomPlayerRepository.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.repository; +package com.webgame.webgamebackend.infrastructure.persistence.repository; -import com.webgame.webgamebackend.entities.RoomPlayerEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.RoomPlayerEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; diff --git a/src/main/java/com/webgame/webgamebackend/repository/UserRepository.java b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/UserRepository.java similarity index 75% rename from src/main/java/com/webgame/webgamebackend/repository/UserRepository.java rename to src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/UserRepository.java index 6c459ab..51510d2 100644 --- a/src/main/java/com/webgame/webgamebackend/repository/UserRepository.java +++ b/src/main/java/com/webgame/webgamebackend/infrastructure/persistence/repository/UserRepository.java @@ -1,6 +1,6 @@ -package com.webgame.webgamebackend.repository; +package com.webgame.webgamebackend.infrastructure.persistence.repository; -import com.webgame.webgamebackend.entities.UserEntity; +import com.webgame.webgamebackend.infrastructure.persistence.entity.UserEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; diff --git a/src/main/java/com/webgame/webgamebackend/service/AccountService.java b/src/main/java/com/webgame/webgamebackend/service/AccountService.java deleted file mode 100644 index 4b4453d..0000000 --- a/src/main/java/com/webgame/webgamebackend/service/AccountService.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.webgame.webgamebackend.service; - -import com.webgame.webgamebackend.common.dto.account.LoginRequest; -import com.webgame.webgamebackend.common.dto.account.LoginResponse; -import com.webgame.webgamebackend.common.dto.account.RegisterRequest; - -/** - * 账号服务接口 - */ -public interface AccountService { - - /** - * 登录 - * - * @param request 登录请求 - * @return 登录结果(含 token) - */ - LoginResponse login(LoginRequest request); - - /** - * 注册 - * - * @param request 注册请求 - * @return 注册结果(含双 token,注册后自动登录) - */ - LoginResponse register(RegisterRequest request); - - /** - * 刷新令牌 - * - * @param refreshToken 刷新令牌 - * @return 新的双 token(accessToken + refreshToken) - */ - LoginResponse refresh(String refreshToken); - - /** - * 登出,使 access token 和 refresh token 失效 - * - * @param refreshToken 刷新令牌 - */ - void logout(String refreshToken); -} diff --git a/src/main/java/com/webgame/webgamebackend/service/GameService.java b/src/main/java/com/webgame/webgamebackend/service/GameService.java deleted file mode 100644 index 1672fd7..0000000 --- a/src/main/java/com/webgame/webgamebackend/service/GameService.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.webgame.webgamebackend.service; - -import com.webgame.webgamebackend.common.dto.game.GameListResponse; - -/** - * 游戏服务接口 - * - * 管理游戏配置相关的查询。 - * 房间管理已迁移到 {@link RoomManager}。 - */ -public interface GameService { - - /** - * 获取游戏列表 - * - * @return 所有启用的游戏信息 - */ - GameListResponse getGameList(); -} diff --git a/src/main/java/com/webgame/webgamebackend/service/RefreshTokenService.java b/src/main/java/com/webgame/webgamebackend/service/RefreshTokenService.java deleted file mode 100644 index 26c693b..0000000 --- a/src/main/java/com/webgame/webgamebackend/service/RefreshTokenService.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.webgame.webgamebackend.service; - -/** - * 刷新令牌服务接口,管理 refresh token 的生命周期 - */ -public interface RefreshTokenService { - - /** - * 为用户创建新的刷新令牌,存入 Redis,TTL 30 天 - * - * @param userId 用户ID - * @return 生成的 refresh token 字符串 - */ - String create(String userId); - - /** - * 校验刷新令牌是否有效 - * - * @param token 刷新令牌 - * @return 对应的用户ID - * @throws com.webgame.webgamebackend.common.exception.BusinessException 令牌无效时抛出 - */ - String validate(String token); - - /** - * 轮换刷新令牌:删除旧 token,生成新 token(防重放) - * - * @param oldToken 旧的刷新令牌 - * @return 新的刷新令牌 - * @throws com.webgame.webgamebackend.common.exception.BusinessException 旧令牌无效时抛出 - */ - String rotate(String oldToken); - - /** - * 撤销刷新令牌(登出时调用) - * - * @param token 要撤销的刷新令牌 - */ - void revoke(String token); -} diff --git a/src/main/java/com/webgame/webgamebackend/service/UserService.java b/src/main/java/com/webgame/webgamebackend/service/UserService.java deleted file mode 100644 index 3e320ad..0000000 --- a/src/main/java/com/webgame/webgamebackend/service/UserService.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.webgame.webgamebackend.service; - -import com.webgame.webgamebackend.common.dto.user.UpdateStatusRequest; -import com.webgame.webgamebackend.common.dto.user.UpdateUserInfoRequest; -import com.webgame.webgamebackend.common.dto.user.UserInfoResponse; -import org.springframework.web.multipart.MultipartFile; - -/** - * 用户服务接口 - */ -public interface UserService { - - /** - * 获取当前登录用户的资料 - * - * @return 用户信息 - */ - UserInfoResponse getCurrentUserInfo(); - - /** - * 更新当前登录用户的资料 - * - * @param accountId 账号 ID - * @param request 更新请求(所有字段可选) - * @return 更新后的用户信息 - */ - UserInfoResponse updateUserInfo(String accountId, UpdateUserInfoRequest request); - - /** - * 更新当前登录用户的在线状态 - * - * @param accountId 账号 ID - * @param request 状态更新请求 - */ - void updateStatus(String accountId, UpdateStatusRequest request); - - /** - * 上传并更新当前登录用户的头像 - * - * 文件会被保存到 uploads/avatars/{accountId}.jpg,并更新 DB 中的 avatar 字段。 - * - * @param accountId 账号 ID - * @param file 头像文件(前端已裁剪为 200×200 JPEG) - * @return 更新后的用户信息 - */ - UserInfoResponse uploadAvatar(String accountId, MultipartFile file); - - /** - * 删除当前登录用户的头像 - * - * 删除磁盘文件,并将 DB 中 avatar 置为 null(前端会回退显示默认头像)。 - * - * @param accountId 账号 ID - * @return 更新后的用户信息 - */ - UserInfoResponse deleteAvatar(String accountId); -} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ffa3a05..f5344fe 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -74,6 +74,15 @@ logging: # #如果是true,则用的是https而不是http,默认值是true # secure: false +############## 游戏配置 ############## +game: + # 断线重连超时时间(秒) + disconnect-timeout-seconds: 60 + # 聊天消息最大长度 + chat-max-length: 500 + # 五子棋棋盘大小 + board-size: 15 + ############## Sa-Token 配置 (文档: https://sa-token.cc) ############## sa-token: # token 名称(同时也是 cookie 名称)