diff --git a/src/main/java/com/example/catchTheLetters/controller/LevelController.java b/src/main/java/com/example/catchTheLetters/controller/LevelController.java index eeddf40..660eb1d 100644 --- a/src/main/java/com/example/catchTheLetters/controller/LevelController.java +++ b/src/main/java/com/example/catchTheLetters/controller/LevelController.java @@ -3,13 +3,16 @@ package com.example.catchTheLetters.controller; import com.example.catchTheLetters.entity.*; import com.example.catchTheLetters.model.vo.RankVo; import com.example.catchTheLetters.service.LevelService; +import com.example.catchTheLetters.service.RoomService; import com.example.catchTheLetters.service.VersionService; +import com.example.catchTheLetters.service.impl.RoomServiceImpl; import com.example.catchTheLetters.utils.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -31,6 +34,9 @@ public class LevelController { @Resource private VersionService versionService; + @Resource + private RoomService roomService; + @ApiOperation(value = "关卡列表(只返回ID、排序、名称和类型)") @GetMapping("/list") public R> list() { @@ -111,4 +117,10 @@ public class LevelController { public R> getNewVersion(){ return versionService.getNewDownloads(); } + + @ApiOperation(value = "获取所有房间") + @GetMapping("/all-room") + public R> getAllRoom(){ + return R.ok(roomService.getAllRoom()); + } } diff --git a/src/main/java/com/example/catchTheLetters/service/RoomService.java b/src/main/java/com/example/catchTheLetters/service/RoomService.java index 6479686..ee84aa6 100644 --- a/src/main/java/com/example/catchTheLetters/service/RoomService.java +++ b/src/main/java/com/example/catchTheLetters/service/RoomService.java @@ -1,8 +1,11 @@ package com.example.catchTheLetters.service; +import com.example.catchTheLetters.entity.GameRoom; import com.example.catchTheLetters.entity.PlayerInput; import org.springframework.web.socket.WebSocketSession; +import java.util.List; + /** * 房间服务 * @@ -103,4 +106,6 @@ public interface RoomService { * @param letterId 字母ID */ void getLetter(long roomId, WebSocketSession session, long letterId); + + List getAllRoom(); } diff --git a/src/main/java/com/example/catchTheLetters/service/impl/RoomServiceImpl.java b/src/main/java/com/example/catchTheLetters/service/impl/RoomServiceImpl.java index a5c3647..31bfbe8 100644 --- a/src/main/java/com/example/catchTheLetters/service/impl/RoomServiceImpl.java +++ b/src/main/java/com/example/catchTheLetters/service/impl/RoomServiceImpl.java @@ -285,6 +285,11 @@ public class RoomServiceImpl implements RoomService { } } + @Override + public List getAllRoom() { + return new ArrayList<>(rooms.values()); + } + private void generateLetter(GameRoom room) { var players = room.getPlayers(); var words = room.getWords(); diff --git a/src/test/java/com/example/catchTheLetters/TestInsertLevel.java b/src/test/java/com/example/catchTheLetters/TestInsertLevel.java index 159fe0f..9431b59 100644 --- a/src/test/java/com/example/catchTheLetters/TestInsertLevel.java +++ b/src/test/java/com/example/catchTheLetters/TestInsertLevel.java @@ -5,7 +5,9 @@ import com.example.catchTheLetters.entity.Level; import com.example.catchTheLetters.entity.ScoreInfo; import com.example.catchTheLetters.entity.VersionDownload; import com.example.catchTheLetters.entity.Word; +import com.example.catchTheLetters.service.RoomService; import com.example.catchTheLetters.service.VersionService; +import com.example.catchTheLetters.service.impl.RoomServiceImpl; import jakarta.annotation.Resource; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -35,6 +37,9 @@ class TestInsertLevel { @Resource private VersionService versionService; + @Resource + private RoomService roomService; + private final List words = new ArrayList<>() { { add("apple"); @@ -124,8 +129,6 @@ class TestInsertLevel { @Test @Disabled void minIOTest(){ - Aggregation aggregation = Aggregation.newAggregation(Aggregation.sample(5)); - AggregationResults results = mongoTemplate.aggregate(aggregation,Word.class,Word.class); - System.out.println(results.getMappedResults()); + System.out.println(roomService.getAllRoom()); } }