From 0210e34c8c6ccb4bf3d5c04ca9d4b64930b0f359 Mon Sep 17 00:00:00 2001 From: lgwk42 Date: Thu, 13 Jun 2024 21:42:56 +0900 Subject: [PATCH 01/12] [fix] :: beep cover dataResponseType with ResponseEntity<> --- .../domain/beep/presentation/BeepController.java | 13 +++++++------ .../student/presentation/StudentController.java | 13 +++++++------ .../teacher/presentation/TeacherController.java | 5 +++-- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java index c756e8b..3653551 100644 --- a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java +++ b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java @@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -59,26 +60,26 @@ public void exitRoom( @GetMapping("/rooms/name") @Operation(summary = "실 조회", description = "실 이름으로 실을 조회합니다.(teacher)") - public List roomListByName( + public ResponseEntity> roomListByName( @RequestParam String name ){ - return beepService.roomListByName(name); + return ResponseEntity.ok(beepService.roomListByName(name)); } @GetMapping("/rooms/floor") @Operation(summary = "실 조회", description = "n층으로 실을 조회합니다.(teacher)") - public List roomListByFloor( + public ResponseEntity> roomListByFloor( @RequestParam Integer floor ){ - return beepService.roomListByFloor(floor); + return ResponseEntity.ok(beepService.roomListByFloor(floor)); } @GetMapping("/attendances") @Operation(summary = "출석 조회", description = "실 코드로 입실한 학생목록 조회합니다. (teacher)") - public List attendanceByCode( + public ResponseEntity> attendanceByCode( @RequestParam String code ){ - return beepService.attendanceByCode(code); + return ResponseEntity.ok(beepService.attendanceByCode(code)); } } diff --git a/src/main/java/com/beep/beep/domain/student/presentation/StudentController.java b/src/main/java/com/beep/beep/domain/student/presentation/StudentController.java index ad8a4af..cbb49c0 100644 --- a/src/main/java/com/beep/beep/domain/student/presentation/StudentController.java +++ b/src/main/java/com/beep/beep/domain/student/presentation/StudentController.java @@ -14,6 +14,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; @@ -58,26 +59,26 @@ public StudentByUserRes studentByUser() { @GetMapping("/cls") @Operation(summary = "반 조회", description = "학년 param로 반을 조회합니다.(teacher)") - public List clsListByGrade( + public ResponseEntity> clsListByGrade( @RequestParam int grade ){ - return studentService.clsListByGrade(grade); + return ResponseEntity.ok(studentService.clsListByGrade(grade)); } @GetMapping("/member") @Operation(summary = "반 구성원 조회", description = "학년-반으로 반 구성원 목록을 조회합니다. (teacher)") - public List studentListByGradeCls( + public ResponseEntity> studentListByGradeCls( @ModelAttribute StudentByGradeClsReq req ){ - return studentService.studentListByGradeCls(req); + return ResponseEntity.ok(studentService.studentListByGradeCls(req)); } @GetMapping("/name") @Operation(summary = "학생 조회", description = "학생이름으로 학생을 조회합니다.(teacher)") - public List studentListByName( + public ResponseEntity> studentListByName( @RequestParam String name ){ - return studentService.studentListByName(name); + return ResponseEntity.ok(studentService.studentListByName(name)); } } diff --git a/src/main/java/com/beep/beep/domain/teacher/presentation/TeacherController.java b/src/main/java/com/beep/beep/domain/teacher/presentation/TeacherController.java index 2220230..3967f8f 100644 --- a/src/main/java/com/beep/beep/domain/teacher/presentation/TeacherController.java +++ b/src/main/java/com/beep/beep/domain/teacher/presentation/TeacherController.java @@ -10,6 +10,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; @@ -47,8 +48,8 @@ public List teacherList( @GetMapping("/info") @Operation(summary = "선생님프로필 조회", description = "선생님프로필 조회합니다. (teacher)") - public TeacherByUserRes teacherByUser() { - return teacherService.teacherByUser(); + public ResponseEntity teacherByUser() { + return ResponseEntity.ok(teacherService.teacherByUser()); } From b0b3508cf743f8e77e12cd3d07c6e042861b6106 Mon Sep 17 00:00:00 2001 From: lgwk42 Date: Thu, 13 Jun 2024 22:00:20 +0900 Subject: [PATCH 02/12] [fix] :: room list by floor query fix --- .../domain/repository/querydsl/RoomRepoCustom.java | 3 ++- .../querydsl/impl/RoomRepoCustomImpl.java | 7 +++++-- .../domain/beep/presentation/BeepController.java | 8 +++++--- .../beep/presentation/dto/request/FloorRoomReq.java | 13 +++++++++++++ .../beep/beep/domain/beep/service/BeepService.java | 5 +++-- 5 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/beep/beep/domain/beep/presentation/dto/request/FloorRoomReq.java diff --git a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/RoomRepoCustom.java b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/RoomRepoCustom.java index ea19199..8fe27b0 100644 --- a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/RoomRepoCustom.java +++ b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/RoomRepoCustom.java @@ -1,6 +1,7 @@ package com.beep.beep.domain.beep.domain.repository.querydsl; import com.beep.beep.domain.beep.presentation.dto.RoomVO; +import com.beep.beep.domain.beep.presentation.dto.request.FloorRoomReq; import com.beep.beep.domain.beep.presentation.dto.response.RoomByFloorRes; import java.util.List; @@ -9,7 +10,7 @@ public interface RoomRepoCustom { List roomListByName(String name); - List roomListByFloor(Integer floor); + List roomListByFloor(FloorRoomReq req); } diff --git a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java index d363ae4..b1f3f30 100644 --- a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java +++ b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java @@ -3,6 +3,7 @@ import com.beep.beep.domain.beep.domain.repository.querydsl.RoomRepoCustom; import com.beep.beep.domain.beep.presentation.dto.RoomVO; +import com.beep.beep.domain.beep.presentation.dto.request.FloorRoomReq; import com.beep.beep.domain.beep.presentation.dto.response.RoomByFloorRes; import com.querydsl.core.types.Projections; import com.querydsl.jpa.impl.JPAQueryFactory; @@ -30,12 +31,14 @@ public List roomListByName(String name) { } @Override - public List roomListByFloor(Integer floor) { + public List roomListByFloor(FloorRoomReq req) { return query.select(Projections.constructor(RoomByFloorRes.class, room.code, room.name)) .from(room) - .where(room.floor.eq(floor)) + .where(room.floor.eq(req.getFloor())) + .offset((req.getPage() - 1) * req.getSize()) + .limit(req.getSize()) .fetch(); } diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java index 3653551..d47424e 100644 --- a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java +++ b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java @@ -1,5 +1,6 @@ package com.beep.beep.domain.beep.presentation; +import com.beep.beep.domain.beep.presentation.dto.request.FloorRoomReq; import com.beep.beep.domain.beep.presentation.dto.request.InitializeAttendanceReq; import com.beep.beep.domain.beep.presentation.dto.response.RoomByFloorRes; import com.beep.beep.domain.beep.service.BeepService; @@ -13,6 +14,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -69,9 +71,9 @@ public ResponseEntity> roomListByName( @GetMapping("/rooms/floor") @Operation(summary = "실 조회", description = "n층으로 실을 조회합니다.(teacher)") public ResponseEntity> roomListByFloor( - @RequestParam Integer floor - ){ - return ResponseEntity.ok(beepService.roomListByFloor(floor)); + @ModelAttribute FloorRoomReq req + ){ + return ResponseEntity.ok(beepService.roomListByFloor(req)); } @GetMapping("/attendances") diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/FloorRoomReq.java b/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/FloorRoomReq.java new file mode 100644 index 0000000..dcab305 --- /dev/null +++ b/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/FloorRoomReq.java @@ -0,0 +1,13 @@ +package com.beep.beep.domain.beep.presentation.dto.request; + +import com.beep.beep.global.common.dto.request.PageRequest; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class FloorRoomReq extends PageRequest { + + private Integer floor; + +} diff --git a/src/main/java/com/beep/beep/domain/beep/service/BeepService.java b/src/main/java/com/beep/beep/domain/beep/service/BeepService.java index d99012b..be87c17 100644 --- a/src/main/java/com/beep/beep/domain/beep/service/BeepService.java +++ b/src/main/java/com/beep/beep/domain/beep/service/BeepService.java @@ -8,6 +8,7 @@ import com.beep.beep.domain.beep.mapper.BeepMapper; import com.beep.beep.domain.beep.presentation.dto.AttendanceVO; import com.beep.beep.domain.beep.presentation.dto.RoomVO; +import com.beep.beep.domain.beep.presentation.dto.request.FloorRoomReq; import com.beep.beep.domain.beep.presentation.dto.request.InitializeAttendanceReq; import com.beep.beep.domain.beep.presentation.dto.request.EnterRoomReq; import com.beep.beep.domain.beep.presentation.dto.request.ExitRoomReq; @@ -63,8 +64,8 @@ public List roomListByName(String name){ return roomRepository.roomListByName(name); } - public List roomListByFloor(Integer floor){ - return roomRepository.roomListByFloor(floor); + public List roomListByFloor(FloorRoomReq req){ + return roomRepository.roomListByFloor(req); } public List attendanceByCode(String code){ From 686f08367bb33d7e2ee28778119f1ce08270f7cc Mon Sep 17 00:00:00 2001 From: lgwk42 Date: Thu, 13 Jun 2024 22:10:30 +0900 Subject: [PATCH 03/12] [fix] :: room api response fix --- .../beep/beep/domain/beep/presentation/BeepController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java index d47424e..ce45b55 100644 --- a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java +++ b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java @@ -65,7 +65,7 @@ public void exitRoom( public ResponseEntity> roomListByName( @RequestParam String name ){ - return ResponseEntity.ok(beepService.roomListByName(name)); + return ResponseEntity.ok().body(beepService.roomListByName(name)); } @GetMapping("/rooms/floor") @@ -73,7 +73,7 @@ public ResponseEntity> roomListByName( public ResponseEntity> roomListByFloor( @ModelAttribute FloorRoomReq req ){ - return ResponseEntity.ok(beepService.roomListByFloor(req)); + return ResponseEntity.ok().body(beepService.roomListByFloor(req)); } @GetMapping("/attendances") @@ -81,7 +81,7 @@ public ResponseEntity> roomListByFloor( public ResponseEntity> attendanceByCode( @RequestParam String code ){ - return ResponseEntity.ok(beepService.attendanceByCode(code)); + return ResponseEntity.ok().body(beepService.attendanceByCode(code)); } } From 3ade47d224496f84117a2cefd5111b3d42c0e53c Mon Sep 17 00:00:00 2001 From: heunseoRyu Date: Fri, 14 Jun 2024 17:37:49 +0900 Subject: [PATCH 04/12] [fix] :: beep add request data of pageRequest on roomsByFloor,roomsByName --- .../domain/repository/querydsl/RoomRepoCustom.java | 7 ++++--- .../repository/querydsl/impl/RoomRepoCustomImpl.java | 10 ++++++---- .../beep/domain/beep/presentation/BeepController.java | 11 ++++++----- .../beep/domain/beep/presentation/dto/RoomVO.java | 1 + .../{FloorRoomReq.java => RoomsByFloorReq.java} | 2 +- .../beep/presentation/dto/request/RoomsByNameReq.java | 9 +++++++++ .../beep/beep/domain/beep/service/BeepService.java | 9 +++++---- 7 files changed, 32 insertions(+), 17 deletions(-) rename src/main/java/com/beep/beep/domain/beep/presentation/dto/request/{FloorRoomReq.java => RoomsByFloorReq.java} (80%) create mode 100644 src/main/java/com/beep/beep/domain/beep/presentation/dto/request/RoomsByNameReq.java diff --git a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/RoomRepoCustom.java b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/RoomRepoCustom.java index 8fe27b0..1cb0507 100644 --- a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/RoomRepoCustom.java +++ b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/RoomRepoCustom.java @@ -1,16 +1,17 @@ package com.beep.beep.domain.beep.domain.repository.querydsl; import com.beep.beep.domain.beep.presentation.dto.RoomVO; -import com.beep.beep.domain.beep.presentation.dto.request.FloorRoomReq; +import com.beep.beep.domain.beep.presentation.dto.request.RoomsByFloorReq; +import com.beep.beep.domain.beep.presentation.dto.request.RoomsByNameReq; import com.beep.beep.domain.beep.presentation.dto.response.RoomByFloorRes; import java.util.List; public interface RoomRepoCustom { - List roomListByName(String name); + List roomListByName(RoomsByNameReq req); - List roomListByFloor(FloorRoomReq req); + List roomListByFloor(RoomsByFloorReq req); } diff --git a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java index b1f3f30..affc295 100644 --- a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java +++ b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java @@ -3,7 +3,8 @@ import com.beep.beep.domain.beep.domain.repository.querydsl.RoomRepoCustom; import com.beep.beep.domain.beep.presentation.dto.RoomVO; -import com.beep.beep.domain.beep.presentation.dto.request.FloorRoomReq; +import com.beep.beep.domain.beep.presentation.dto.request.RoomsByFloorReq; +import com.beep.beep.domain.beep.presentation.dto.request.RoomsByNameReq; import com.beep.beep.domain.beep.presentation.dto.response.RoomByFloorRes; import com.querydsl.core.types.Projections; import com.querydsl.jpa.impl.JPAQueryFactory; @@ -20,18 +21,19 @@ public class RoomRepoCustomImpl implements RoomRepoCustom { private final JPAQueryFactory query; @Override - public List roomListByName(String name) { + public List roomListByName(RoomsByNameReq req) { return query.select(Projections.constructor(RoomVO.class, room.code, room.floor, room.name)) .from(room) - .where(room.name.contains(name)) + .where(room.name.contains(req.getName())) + .offset((req.getPage() - 1) * req.getSize()) .fetch(); } @Override - public List roomListByFloor(FloorRoomReq req) { + public List roomListByFloor(RoomsByFloorReq req) { return query.select(Projections.constructor(RoomByFloorRes.class, room.code, room.name)) diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java index ce45b55..75e9848 100644 --- a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java +++ b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java @@ -1,7 +1,8 @@ package com.beep.beep.domain.beep.presentation; -import com.beep.beep.domain.beep.presentation.dto.request.FloorRoomReq; +import com.beep.beep.domain.beep.presentation.dto.request.RoomsByFloorReq; import com.beep.beep.domain.beep.presentation.dto.request.InitializeAttendanceReq; +import com.beep.beep.domain.beep.presentation.dto.request.RoomsByNameReq; import com.beep.beep.domain.beep.presentation.dto.response.RoomByFloorRes; import com.beep.beep.domain.beep.service.BeepService; import com.beep.beep.domain.beep.presentation.dto.request.EnterRoomReq; @@ -63,16 +64,16 @@ public void exitRoom( @GetMapping("/rooms/name") @Operation(summary = "실 조회", description = "실 이름으로 실을 조회합니다.(teacher)") public ResponseEntity> roomListByName( - @RequestParam String name + @ModelAttribute RoomsByNameReq req ){ - return ResponseEntity.ok().body(beepService.roomListByName(name)); + return ResponseEntity.ok().body(beepService.roomListByName(req)); } @GetMapping("/rooms/floor") @Operation(summary = "실 조회", description = "n층으로 실을 조회합니다.(teacher)") public ResponseEntity> roomListByFloor( - @ModelAttribute FloorRoomReq req - ){ + @ModelAttribute RoomsByFloorReq req + ){ return ResponseEntity.ok().body(beepService.roomListByFloor(req)); } diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/dto/RoomVO.java b/src/main/java/com/beep/beep/domain/beep/presentation/dto/RoomVO.java index 255caf4..748940e 100644 --- a/src/main/java/com/beep/beep/domain/beep/presentation/dto/RoomVO.java +++ b/src/main/java/com/beep/beep/domain/beep/presentation/dto/RoomVO.java @@ -1,6 +1,7 @@ package com.beep.beep.domain.beep.presentation.dto; +import com.beep.beep.global.common.dto.request.PageRequest; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/FloorRoomReq.java b/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/RoomsByFloorReq.java similarity index 80% rename from src/main/java/com/beep/beep/domain/beep/presentation/dto/request/FloorRoomReq.java rename to src/main/java/com/beep/beep/domain/beep/presentation/dto/request/RoomsByFloorReq.java index dcab305..2b4eb44 100644 --- a/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/FloorRoomReq.java +++ b/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/RoomsByFloorReq.java @@ -6,7 +6,7 @@ @Getter @Setter -public class FloorRoomReq extends PageRequest { +public class RoomsByFloorReq extends PageRequest { private Integer floor; diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/RoomsByNameReq.java b/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/RoomsByNameReq.java new file mode 100644 index 0000000..f3b2422 --- /dev/null +++ b/src/main/java/com/beep/beep/domain/beep/presentation/dto/request/RoomsByNameReq.java @@ -0,0 +1,9 @@ +package com.beep.beep.domain.beep.presentation.dto.request; + +import com.beep.beep.global.common.dto.request.PageRequest; +import lombok.Getter; + +@Getter +public class RoomsByNameReq extends PageRequest { + private String name; +} diff --git a/src/main/java/com/beep/beep/domain/beep/service/BeepService.java b/src/main/java/com/beep/beep/domain/beep/service/BeepService.java index be87c17..c079cfc 100644 --- a/src/main/java/com/beep/beep/domain/beep/service/BeepService.java +++ b/src/main/java/com/beep/beep/domain/beep/service/BeepService.java @@ -8,10 +8,11 @@ import com.beep.beep.domain.beep.mapper.BeepMapper; import com.beep.beep.domain.beep.presentation.dto.AttendanceVO; import com.beep.beep.domain.beep.presentation.dto.RoomVO; -import com.beep.beep.domain.beep.presentation.dto.request.FloorRoomReq; +import com.beep.beep.domain.beep.presentation.dto.request.RoomsByFloorReq; import com.beep.beep.domain.beep.presentation.dto.request.InitializeAttendanceReq; import com.beep.beep.domain.beep.presentation.dto.request.EnterRoomReq; import com.beep.beep.domain.beep.presentation.dto.request.ExitRoomReq; +import com.beep.beep.domain.beep.presentation.dto.request.RoomsByNameReq; import com.beep.beep.domain.beep.presentation.dto.response.AttendanceByCodeRes; import com.beep.beep.domain.beep.presentation.dto.response.RoomByFloorRes; import com.beep.beep.global.common.service.UserUtil; @@ -60,11 +61,11 @@ public void exit(ExitRoomReq req){ attendanceRepository.save(beepMapper.toEdit(attendance)); } - public List roomListByName(String name){ - return roomRepository.roomListByName(name); + public List roomListByName(RoomsByNameReq req){ + return roomRepository.roomListByName(req); } - public List roomListByFloor(FloorRoomReq req){ + public List roomListByFloor(RoomsByFloorReq req){ return roomRepository.roomListByFloor(req); } From af54e9caa7d814c1fc393c73a091c8d910f9dea0 Mon Sep 17 00:00:00 2001 From: lgwk42 Date: Mon, 17 Jun 2024 03:14:21 +0900 Subject: [PATCH 05/12] [fix] :: room query fix --- src/main/java/com/beep/beep/domain/beep/domain/Room.java | 7 +++++++ .../repository/querydsl/impl/RoomRepoCustomImpl.java | 2 ++ 2 files changed, 9 insertions(+) diff --git a/src/main/java/com/beep/beep/domain/beep/domain/Room.java b/src/main/java/com/beep/beep/domain/beep/domain/Room.java index 71cebad..59e1b13 100644 --- a/src/main/java/com/beep/beep/domain/beep/domain/Room.java +++ b/src/main/java/com/beep/beep/domain/beep/domain/Room.java @@ -3,6 +3,8 @@ import jakarta.persistence.Column; import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; import lombok.AccessLevel; @@ -15,7 +17,12 @@ @Table(name = "tb_room") @SuperBuilder public class Room { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long idx; + + @Column(nullable = false) private String code; @Column(nullable = false,unique = true) diff --git a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java index affc295..47d301a 100644 --- a/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java +++ b/src/main/java/com/beep/beep/domain/beep/domain/repository/querydsl/impl/RoomRepoCustomImpl.java @@ -35,12 +35,14 @@ public List roomListByName(RoomsByNameReq req) { @Override public List roomListByFloor(RoomsByFloorReq req) { return query.select(Projections.constructor(RoomByFloorRes.class, + room.idx, room.code, room.name)) .from(room) .where(room.floor.eq(req.getFloor())) .offset((req.getPage() - 1) * req.getSize()) .limit(req.getSize()) + .orderBy(room.idx.asc()) .fetch(); } From e396721d15d7d95735a6869fcbff23d445de3517 Mon Sep 17 00:00:00 2001 From: lgwk42 Date: Mon, 17 Jun 2024 03:21:18 +0900 Subject: [PATCH 06/12] [fix] :: room query fix --- .../domain/beep/presentation/dto/response/RoomByFloorRes.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/dto/response/RoomByFloorRes.java b/src/main/java/com/beep/beep/domain/beep/presentation/dto/response/RoomByFloorRes.java index a119877..5de4f7f 100644 --- a/src/main/java/com/beep/beep/domain/beep/presentation/dto/response/RoomByFloorRes.java +++ b/src/main/java/com/beep/beep/domain/beep/presentation/dto/response/RoomByFloorRes.java @@ -7,6 +7,7 @@ @Getter @Builder @AllArgsConstructor public class RoomByFloorRes { + private Long idx; private String code; private String roomName; } From 399adfc22724221804676db2dd3edd1b4be9de63 Mon Sep 17 00:00:00 2001 From: heunseoRyu Date: Fri, 21 Jun 2024 14:32:14 +0900 Subject: [PATCH 07/12] [fix] :: beep --- .../domain/repository/RoomRepository.java | 1 + .../beep/domain/beep/service/BeepService.java | 2 +- .../querydsl/UserRepoCustomImpl.java | 1 - .../beep/beep/global/common/dto/Response.java | 29 ------------------- .../security/jwt/config/JwtProperties.java | 1 - 5 files changed, 2 insertions(+), 32 deletions(-) delete mode 100644 src/main/java/com/beep/beep/global/common/dto/Response.java diff --git a/src/main/java/com/beep/beep/domain/beep/domain/repository/RoomRepository.java b/src/main/java/com/beep/beep/domain/beep/domain/repository/RoomRepository.java index d573999..d68c2e3 100644 --- a/src/main/java/com/beep/beep/domain/beep/domain/repository/RoomRepository.java +++ b/src/main/java/com/beep/beep/domain/beep/domain/repository/RoomRepository.java @@ -6,4 +6,5 @@ public interface RoomRepository extends CrudRepository , RoomRepoCustom { + boolean existsByCode(String code); } diff --git a/src/main/java/com/beep/beep/domain/beep/service/BeepService.java b/src/main/java/com/beep/beep/domain/beep/service/BeepService.java index c079cfc..da4fc70 100644 --- a/src/main/java/com/beep/beep/domain/beep/service/BeepService.java +++ b/src/main/java/com/beep/beep/domain/beep/service/BeepService.java @@ -78,7 +78,7 @@ private AttendanceVO findUserAttendance(){ } private void existsByCode(String code){ - if(!roomRepository.existsById(code)) + if(!roomRepository.existsByCode(code)) throw RoomNotExistsException.EXCEPTION; // room 존재 여부 확인 } diff --git a/src/main/java/com/beep/beep/domain/user/domain/repository/querydsl/UserRepoCustomImpl.java b/src/main/java/com/beep/beep/domain/user/domain/repository/querydsl/UserRepoCustomImpl.java index 8d87411..0cae563 100644 --- a/src/main/java/com/beep/beep/domain/user/domain/repository/querydsl/UserRepoCustomImpl.java +++ b/src/main/java/com/beep/beep/domain/user/domain/repository/querydsl/UserRepoCustomImpl.java @@ -13,7 +13,6 @@ import org.springframework.stereotype.Repository; import java.util.List; -import java.util.Optional; import static com.beep.beep.domain.beep.domain.QAttendance.attendance; import static com.beep.beep.domain.beep.domain.QRoom.room; diff --git a/src/main/java/com/beep/beep/global/common/dto/Response.java b/src/main/java/com/beep/beep/global/common/dto/Response.java deleted file mode 100644 index 9ed14e7..0000000 --- a/src/main/java/com/beep/beep/global/common/dto/Response.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.beep.beep.global.common.dto; - -import lombok.Builder; -import lombok.Getter; -import org.springframework.http.HttpStatus; - -@Getter -@Builder -public class Response { - - private int status; - private String message; - - public static Response of(HttpStatus status, String message) { - return new Response(status.value(), message); - } - - public static Response ok(String message) { - return new Response(HttpStatus.OK.value(), message); - } - - public static Response created(String message) { - return new Response(HttpStatus.CREATED.value(), message); - } - - public static Response noContent(String message) { - return new Response(HttpStatus.NO_CONTENT.value(), message); - } -} \ No newline at end of file diff --git a/src/main/java/com/beep/beep/global/security/jwt/config/JwtProperties.java b/src/main/java/com/beep/beep/global/security/jwt/config/JwtProperties.java index 63bf350..0b16d82 100644 --- a/src/main/java/com/beep/beep/global/security/jwt/config/JwtProperties.java +++ b/src/main/java/com/beep/beep/global/security/jwt/config/JwtProperties.java @@ -17,5 +17,4 @@ public class JwtProperties { private String prefix; private Long accessExp; private Long refreshExp; - } From 9d98460e12a2438ea73161752f4924058ded6952 Mon Sep 17 00:00:00 2001 From: heunseoRyu Date: Tue, 25 Jun 2024 10:04:23 +0900 Subject: [PATCH 08/12] [fix] :: beep --- .../beep/beep/domain/user/presentation/UserController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/beep/beep/domain/user/presentation/UserController.java b/src/main/java/com/beep/beep/domain/user/presentation/UserController.java index 6a15af8..9843f71 100644 --- a/src/main/java/com/beep/beep/domain/user/presentation/UserController.java +++ b/src/main/java/com/beep/beep/domain/user/presentation/UserController.java @@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -56,10 +57,11 @@ public UserIdRes findId( @GetMapping("/id-check") @Operation(summary = "아이디 확인", description = "아이디 존재여부 확인 (unauthenticated)") - public void studentIdCheck( + public ResponseEntity studentIdCheck( @RequestParam String id ) { userService.idCheck(id); + return ResponseEntity.ok("사용가능한 아이디"); } } From afa35b93e66a83c45cf6daec288666d0a65b73d9 Mon Sep 17 00:00:00 2001 From: heunseoRyu Date: Tue, 25 Jun 2024 10:13:58 +0900 Subject: [PATCH 09/12] [fix] :: user --- .../beep/domain/user/presentation/UserController.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/beep/beep/domain/user/presentation/UserController.java b/src/main/java/com/beep/beep/domain/user/presentation/UserController.java index 9843f71..4c7fa1e 100644 --- a/src/main/java/com/beep/beep/domain/user/presentation/UserController.java +++ b/src/main/java/com/beep/beep/domain/user/presentation/UserController.java @@ -16,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; +import java.util.Map; + @RestController @RequestMapping(value = "/users") @RequiredArgsConstructor @@ -57,11 +60,13 @@ public UserIdRes findId( @GetMapping("/id-check") @Operation(summary = "아이디 확인", description = "아이디 존재여부 확인 (unauthenticated)") - public ResponseEntity studentIdCheck( + public ResponseEntity> studentIdCheck( @RequestParam String id ) { userService.idCheck(id); - return ResponseEntity.ok("사용가능한 아이디"); + Map response = new HashMap<>(); + response.put("status", "200"); + return ResponseEntity.ok(response); } } From d5e9ac41073724078ba337f7c40be8c0b89b7c7f Mon Sep 17 00:00:00 2001 From: heunseoRyu Date: Tue, 25 Jun 2024 10:15:57 +0900 Subject: [PATCH 10/12] [fix] :: user --- .../com/beep/beep/domain/user/presentation/UserController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/beep/beep/domain/user/presentation/UserController.java b/src/main/java/com/beep/beep/domain/user/presentation/UserController.java index 4c7fa1e..e6db250 100644 --- a/src/main/java/com/beep/beep/domain/user/presentation/UserController.java +++ b/src/main/java/com/beep/beep/domain/user/presentation/UserController.java @@ -66,6 +66,7 @@ public ResponseEntity> studentIdCheck( userService.idCheck(id); Map response = new HashMap<>(); response.put("status", "200"); + response.put("message","사용할 수 있는 아이디입니다."); return ResponseEntity.ok(response); } From 95ddaaa8444f29a68c8775fc4f457eacde528655 Mon Sep 17 00:00:00 2001 From: heunseoRyu Date: Mon, 8 Jul 2024 10:32:33 +0900 Subject: [PATCH 11/12] [fix] :: beep,student fix response data --- .../beep/presentation/BeepController.java | 23 ++++++++++++++----- .../presentation/StudentController.java | 10 ++++++-- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java index 75e9848..99a2f46 100644 --- a/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java +++ b/src/main/java/com/beep/beep/domain/beep/presentation/BeepController.java @@ -24,7 +24,9 @@ import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; import java.util.List; +import java.util.Map; @RestController @RequiredArgsConstructor @@ -35,30 +37,39 @@ public class BeepController { private final BeepService beepService; @PostMapping("/attendances") - @ResponseStatus(HttpStatus.CREATED) @Operation(summary = "출석정보 초기화", description = "출석정보 초기값을 설정합니다.(student)") - public void initializeAttendance( + public ResponseEntity> initializeAttendance( @RequestBody InitializeAttendanceReq request ) { beepService.initializeAttendance(request); + Map response = new HashMap<>(); + response.put("status", "201"); + response.put("message", "출석정보 저장에 성공했습니다."); + return ResponseEntity.status(HttpStatus.CREATED).body(response); } @PutMapping("/enter") - @ResponseStatus(HttpStatus.CREATED) @Operation(summary = "입실 요청", description = "입실을 요청합니다.(student)") - public void enterRoom( + public ResponseEntity> enterRoom( @RequestBody EnterRoomReq request ) { beepService.enter(request); + Map response = new HashMap<>(); + response.put("status", "200"); + response.put("message","입실 요청이 성공했습니다."); + return ResponseEntity.ok(response); } @PutMapping("/exit") - @ResponseStatus(HttpStatus.CREATED) @Operation(summary = "퇴실 요청", description = "퇴실을 요청합니다.(student)") - public void exitRoom( + public ResponseEntity> exitRoom( @RequestBody ExitRoomReq request ) { beepService.exit(request); + Map response = new HashMap<>(); + response.put("status", "200"); + response.put("message","퇴실 요청이 성공했습니다."); + return ResponseEntity.ok(response); } @GetMapping("/rooms/name") diff --git a/src/main/java/com/beep/beep/domain/student/presentation/StudentController.java b/src/main/java/com/beep/beep/domain/student/presentation/StudentController.java index cbb49c0..0d723f7 100644 --- a/src/main/java/com/beep/beep/domain/student/presentation/StudentController.java +++ b/src/main/java/com/beep/beep/domain/student/presentation/StudentController.java @@ -24,7 +24,9 @@ import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; import java.util.List; +import java.util.Map; @RestController @RequiredArgsConstructor @@ -35,12 +37,16 @@ public class StudentController { private final StudentService studentService; @PostMapping("/id") - @ResponseStatus(HttpStatus.CREATED) +// @ResponseStatus(HttpStatus.CREATED) @Operation(summary = "학번 저장", description = "학번을 저장합니다. (student)") - public void saveStudentId( + public ResponseEntity> saveStudentId( @RequestBody SaveStudentIdReq req ){ studentService.saveStudentId(req); + Map response = new HashMap<>(); + response.put("status", "201"); + response.put("message","학번 저장에 성공했습니다."); + return ResponseEntity.ok(response); } @GetMapping("") From 760497017dd911a580d23839f4809aa0d655fc54 Mon Sep 17 00:00:00 2001 From: heunseoRyu Date: Mon, 8 Jul 2024 20:42:29 +0900 Subject: [PATCH 12/12] [fix] :: auth fix response data --- .../beep/domain/auth/presentation/AuthController.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/beep/beep/domain/auth/presentation/AuthController.java b/src/main/java/com/beep/beep/domain/auth/presentation/AuthController.java index 61e8dbf..2b9b38f 100644 --- a/src/main/java/com/beep/beep/domain/auth/presentation/AuthController.java +++ b/src/main/java/com/beep/beep/domain/auth/presentation/AuthController.java @@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -19,6 +20,9 @@ import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; +import java.util.Map; + @RestController @RequestMapping(value = "/auth") @RequiredArgsConstructor @@ -28,12 +32,15 @@ public class AuthController { private final AuthService authService; @PostMapping("/sign-up/student") - @ResponseStatus(HttpStatus.CREATED) @Operation(summary = "학생 회원가입", description = "학생계정으로 회원가입합니다. (unauthenticated)") - public void studentSignUp( + public ResponseEntity> studentSignUp( @RequestBody SignUpReq req ){ authService.studentSignUp(req); + Map response = new HashMap<>(); + response.put("status", "201"); + response.put("message", "학생 회원가입 요청이 성공했습니다."); + return ResponseEntity.status(HttpStatus.CREATED).body(response); } @PostMapping("/sign-up/teacher")