diff --git a/hous-api/src/main/java/hous/api/controller/rule/RuleController.java b/hous-api/src/main/java/hous/api/controller/rule/RuleController.java index 4deae5b..b89e492 100644 --- a/hous-api/src/main/java/hous/api/controller/rule/RuleController.java +++ b/hous-api/src/main/java/hous/api/controller/rule/RuleController.java @@ -266,11 +266,7 @@ public ResponseEntity> deleteRule(@ApiIgnore @UserId Lon ) @ApiResponses(value = { @ApiResponse(code = 200, message = "성공입니다."), - @ApiResponse( - code = 400, - message = "1. 규칙 리스트를 입력해주세요. (rules)\n" - + "2. 규칙 리스트는 빈 배열을 보낼 수 없습니다. (rules)", - response = ErrorResponse.class), + @ApiResponse(code = 400, message = "규칙 리스트를 입력해주세요. (rules)", response = ErrorResponse.class), @ApiResponse(code = 401, message = "토큰이 만료되었습니다. 다시 로그인 해주세요.", response = ErrorResponse.class), @ApiResponse(code = 403, message = "대표 rule 은 3개를 초과할 수 없습니다.", response = ErrorResponse.class), @ApiResponse( diff --git a/hous-api/src/main/java/hous/api/service/home/dto/response/HomeInfoResponse.java b/hous-api/src/main/java/hous/api/service/home/dto/response/HomeInfoResponse.java index 9107760..9d999eb 100644 --- a/hous-api/src/main/java/hous/api/service/home/dto/response/HomeInfoResponse.java +++ b/hous-api/src/main/java/hous/api/service/home/dto/response/HomeInfoResponse.java @@ -45,7 +45,7 @@ public class HomeInfoResponse { public boolean isPersonalityTest() { return isPersonalityTest; } - + @ToString @Getter @NoArgsConstructor(access = AccessLevel.PRIVATE) @@ -62,6 +62,9 @@ public static HomeInfoResponse of(Onboarding me, Room room, LocalDate today, Lis int doneOurTodosCnt = (int)ourTodos.stream() .filter(ourTodo -> ourTodo.getStatus() == OurTodoStatus.FULL_CHECK) .count(); + List representRules = rules.stream() + .filter(Rule::isRepresent) + .collect(Collectors.toList()); return HomeInfoResponse.builder() .userNickname(me.getNickname()) .roomName(room.getName()) @@ -73,11 +76,16 @@ public static HomeInfoResponse of(Onboarding me, Room room, LocalDate today, Lis .limit(3) .map(TodoDetailInfo::getTodoName) .collect(Collectors.toList())) - .ourRules(rules.stream() - .sorted(Comparator.comparing(Rule::getIdx)) - .limit(3) - .map(Rule::getName) - .collect(Collectors.toList())) + .ourRules(representRules.isEmpty() ? + rules.stream() + .sorted(Comparator.comparing(Rule::getCreatedAt)) + .limit(3) + .map(Rule::getName) + .collect(Collectors.toList()) : + representRules.stream() + .limit(3) + .map(Rule::getName) + .collect(Collectors.toList())) .isPersonalityTest(!me.getPersonality().getColor().equals(PersonalityColor.GRAY)) .homies(participants.stream() .map(onboarding -> HomieInfo.builder() diff --git a/hous-api/src/main/java/hous/api/service/rule/dto/request/UpdateRuleRepresentRequestDto.java b/hous-api/src/main/java/hous/api/service/rule/dto/request/UpdateRuleRepresentRequestDto.java index bfe4301..d841578 100644 --- a/hous-api/src/main/java/hous/api/service/rule/dto/request/UpdateRuleRepresentRequestDto.java +++ b/hous-api/src/main/java/hous/api/service/rule/dto/request/UpdateRuleRepresentRequestDto.java @@ -3,9 +3,7 @@ import java.util.List; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import hous.common.constant.Constraint; import io.swagger.annotations.ApiModelProperty; import lombok.AccessLevel; import lombok.Getter; @@ -17,6 +15,5 @@ public class UpdateRuleRepresentRequestDto { @ApiModelProperty(value = "설정한 대표 규칙 id 리스트", example = "[1, 2, 3]") @NotNull(message = "{rule.list.notNull}") - @Size(min = Constraint.RULE_LIST_MIN, message = "{rule.list.min}") private List rules; }