Skip to content

Commit 58d3d98

Browse files
authored
Merge pull request #48 from prgrms-web-devcourse-final-project/feature/EA3-75-buddy-energy-api
[EA3-75] feature : 버디 에너지 스웨거 작성 및 패키기 구조 변경
2 parents 4fa9f18 + 0a11ae8 commit 58d3d98

20 files changed

+141
-25
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package grep.neogul_coder.domain.buddy.controller;
2+
3+
import grep.neogul_coder.domain.buddy.controller.dto.response.BuddyEnergyResponse;
4+
import grep.neogul_coder.global.response.ApiResponse;
5+
import org.springframework.web.bind.annotation.*;
6+
7+
@RestController
8+
@RequestMapping("/api/buddy-energy")
9+
public class BuddyEnergyController implements BuddyEnergySpecification {
10+
11+
@GetMapping("/{userId}")
12+
public ApiResponse<BuddyEnergyResponse> get(@PathVariable("userId") Long userId) {
13+
return ApiResponse.success(new BuddyEnergyResponse());
14+
}
15+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package grep.neogul_coder.domain.buddy.controller;
2+
3+
import grep.neogul_coder.domain.buddy.controller.dto.response.BuddyEnergyResponse;
4+
import grep.neogul_coder.global.response.ApiResponse;
5+
import io.swagger.v3.oas.annotations.Operation;
6+
import org.springframework.web.bind.annotation.PathVariable;
7+
8+
public interface BuddyEnergySpecification {
9+
10+
@Operation(summary = "버디 에너지 조회", description = "특정 사용자의 버디 에너지를 조회합니다")
11+
ApiResponse<BuddyEnergyResponse> get(@PathVariable Long userId);
12+
13+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package grep.neogul_coder.domain.buddy.controller.dto.response;
2+
3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
import lombok.Builder;
5+
import lombok.Getter;
6+
7+
@Getter
8+
@Schema(description = "버디 에너지 응답 dto")
9+
public class BuddyEnergyResponse {
10+
11+
@Schema(description = "회원 ID", example = "1")
12+
private Long userId;
13+
14+
@Schema(description = "현재 버디에너지 수치", example = "61")
15+
private int level;
16+
17+
18+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package grep.neogul_coder.domain.buddy.entity;
2+
3+
import grep.neogul_coder.domain.users.entity.User;
4+
import jakarta.persistence.Column;
5+
import jakarta.persistence.Entity;
6+
import jakarta.persistence.FetchType;
7+
import jakarta.persistence.GeneratedValue;
8+
import jakarta.persistence.GenerationType;
9+
import jakarta.persistence.Id;
10+
import jakarta.persistence.JoinColumn;
11+
import jakarta.persistence.ManyToOne;
12+
13+
@Entity
14+
public class BuddyEnergy {
15+
16+
@Id
17+
@GeneratedValue(strategy = GenerationType.IDENTITY)
18+
private Long buddyEnergyId;
19+
20+
@Column(name = "user_id", nullable = false)
21+
private Long userId;
22+
23+
@Column(nullable = false)
24+
private int level;
25+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package grep.neogul_coder.domain.buddy.entity;
2+
3+
import grep.neogul_coder.domain.buddy.enums.BuddyEnergyReason;
4+
import grep.neogul_coder.domain.users.entity.User;
5+
import jakarta.persistence.Column;
6+
import jakarta.persistence.Entity;
7+
import jakarta.persistence.EnumType;
8+
import jakarta.persistence.Enumerated;
9+
import jakarta.persistence.FetchType;
10+
import jakarta.persistence.GeneratedValue;
11+
import jakarta.persistence.GenerationType;
12+
import jakarta.persistence.Id;
13+
import jakarta.persistence.JoinColumn;
14+
import jakarta.persistence.ManyToOne;
15+
16+
@Entity
17+
public class BuddyLog {
18+
19+
@Id
20+
@GeneratedValue(strategy = GenerationType.IDENTITY)
21+
private Long buddyLogId;
22+
23+
@Enumerated(EnumType.STRING)
24+
private BuddyEnergyReason reason;
25+
26+
@ManyToOne(fetch = FetchType.LAZY)
27+
private BuddyEnergy buddyEnergy;
28+
29+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package grep.neogul_coder.domain.buddy.enums;
2+
3+
import lombok.Getter;
4+
5+
@Getter
6+
public enum BuddyEnergyReason {
7+
8+
SIGN_UP("회원가입", 50),
9+
POSITIVE_REVIEW("긍정 리뷰", 1),
10+
NEGATIVE_REVIEW("부정 리뷰", -1),
11+
STUDY_DONE("스터디 완료", 1),
12+
TEAM_LEADER_BONUS("스터디 팀장 보너스", 2);
13+
14+
15+
private final String description;
16+
private final int point;
17+
18+
BuddyEnergyReason(String description, int point) {
19+
this.description = description;
20+
this.point = point;
21+
}
22+
23+
}

src/main/java/grep/neogul_coder/domain/calender/controller/PersonalCalenderController.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package grep.neogul_coder.domain.calender.controller;
22

3-
import grep.neogul_coder.domain.calender.controller.dto.PersonalCalenderRequest;
4-
import grep.neogul_coder.domain.calender.controller.dto.PersonalCalenderResponse;
5-
import io.swagger.v3.oas.annotations.Operation;
6-
import io.swagger.v3.oas.annotations.tags.Tag;
3+
import grep.neogul_coder.domain.calender.controller.dto.requset.PersonalCalenderRequest;
4+
import grep.neogul_coder.domain.calender.controller.dto.response.PersonalCalenderResponse;
75
import grep.neogul_coder.global.response.ApiResponse;
86

9-
import java.time.LocalDateTime;
107
import java.util.List;
118
import org.springframework.web.bind.annotation.*;
129

src/main/java/grep/neogul_coder/domain/calender/controller/PersonalCalenderSpecification.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package grep.neogul_coder.domain.calender.controller;
22

3-
import grep.neogul_coder.domain.calender.controller.dto.PersonalCalenderRequest;
4-
import grep.neogul_coder.domain.calender.controller.dto.PersonalCalenderResponse;
3+
import grep.neogul_coder.domain.calender.controller.dto.requset.PersonalCalenderRequest;
4+
import grep.neogul_coder.domain.calender.controller.dto.response.PersonalCalenderResponse;
55
import grep.neogul_coder.global.response.ApiResponse;
66
import io.swagger.v3.oas.annotations.Operation;
77
import io.swagger.v3.oas.annotations.tags.Tag;

src/main/java/grep/neogul_coder/domain/calender/controller/TeamCalenderController.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
package grep.neogul_coder.domain.calender.controller;
22

3-
import grep.neogul_coder.domain.calender.controller.dto.PersonalCalenderResponse;
4-
import grep.neogul_coder.domain.calender.controller.dto.TeamCalenderRequest;
5-
import grep.neogul_coder.domain.calender.controller.dto.TeamCalenderResponse;
6-
import io.swagger.v3.oas.annotations.Operation;
7-
import io.swagger.v3.oas.annotations.tags.Tag;
3+
import grep.neogul_coder.domain.calender.controller.dto.requset.TeamCalenderRequest;
4+
import grep.neogul_coder.domain.calender.controller.dto.response.TeamCalenderResponse;
85
import grep.neogul_coder.global.response.ApiResponse;
96

107
import org.springframework.web.bind.annotation.*;
118

12-
import java.time.LocalDateTime;
139
import java.util.List;
1410

1511
@RestController

src/main/java/grep/neogul_coder/domain/calender/controller/TeamCalenderSpecification.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package grep.neogul_coder.domain.calender.controller;
22

3-
import grep.neogul_coder.domain.calender.controller.dto.TeamCalenderRequest;
4-
import grep.neogul_coder.domain.calender.controller.dto.TeamCalenderResponse;
3+
import grep.neogul_coder.domain.calender.controller.dto.requset.TeamCalenderRequest;
4+
import grep.neogul_coder.domain.calender.controller.dto.response.TeamCalenderResponse;
55
import grep.neogul_coder.global.response.ApiResponse;
66
import io.swagger.v3.oas.annotations.Operation;
77
import io.swagger.v3.oas.annotations.tags.Tag;

0 commit comments

Comments
 (0)