Skip to content

Commit

Permalink
Merge pull request #253 from Gongjakso/feat/apply
Browse files Browse the repository at this point in the history
fix: RecruitPart 반환 추가
  • Loading branch information
yumzen authored Sep 26, 2024
2 parents 7487b51 + 75e8d77 commit e995d84
Showing 1 changed file with 34 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.gongjakso.server.domain.apply.entity.Apply;
import com.gongjakso.server.domain.team.vo.RecruitPart;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.annotation.Nullable;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
Expand All @@ -12,6 +14,7 @@
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Period;
import java.util.List;

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
Expand Down Expand Up @@ -49,6 +52,8 @@ public record ApplyRes(
@NotNull
String status,

List<RecruitPartRes> recruitPart,

@Size(max = 20)
@NotNull
String applyPart,
Expand All @@ -70,7 +75,35 @@ public record ApplyRes(
LocalDateTime deleteAt

) {

@Builder
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public record RecruitPartRes(
@Schema(description = "지원 파트", example = "기획")
String position,

@Schema(description = "모집 인원", example = "3")
Integer recruitCount,

@Schema(description = "합격 인원", example = "2")
Integer passCount
) {

public static RecruitPartRes of(RecruitPart recruitPart) {
return RecruitPartRes.builder()
.position(recruitPart.position().getKoreanName())
.recruitCount(recruitPart.recruitCount())
.passCount(recruitPart.passCount())
.build();
}

}

public static ApplyRes of(Apply apply) {
List<RecruitPartRes> recruitPartRes = (apply.getTeam().getRecruitPart() != null) ? apply.getTeam().getRecruitPart().stream()
.map(RecruitPartRes::of)
.toList() : null;

return ApplyRes.builder()
.id(apply.getId())
.teamId(apply.getTeam().getId())
Expand All @@ -85,6 +118,7 @@ public static ApplyRes of(Apply apply) {
.isPrivate(apply.getPortfolioInfo().isPrivate())
.body(apply.getBody())
.status(apply.getStatus().getDescription())
.recruitPart(recruitPartRes)
.applyPart(apply.getPart())
.isViewed(apply.isViewed())
.deleteAt(apply.getDeletedAt())
Expand Down

0 comments on commit e995d84

Please sign in to comment.