diff --git a/hous-api/src/main/java/hous/api/service/rule/dto/response/RulesResponse.java b/hous-api/src/main/java/hous/api/service/rule/dto/response/RulesResponse.java index e8bb1c90..ac1df427 100644 --- a/hous-api/src/main/java/hous/api/service/rule/dto/response/RulesResponse.java +++ b/hous-api/src/main/java/hous/api/service/rule/dto/response/RulesResponse.java @@ -1,6 +1,7 @@ package hous.api.service.rule.dto.response; import java.time.LocalDateTime; +import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -26,7 +27,11 @@ public static RulesResponse of(List rules, LocalDateTime now) { return RulesResponse.builder() .rules(rules.stream() .sorted(Rule::compareTo) - .map(rule -> RuleInfo.of(rule, now)).collect(Collectors.toList())) + .map(rule -> RuleInfo.of(rule, now)) + .collect(Collectors.toList()) + .stream() + .sorted(Comparator.comparing(RuleInfo::isRepresent).reversed()) + .collect(Collectors.toList())) .build(); } @@ -36,11 +41,9 @@ public static RulesResponse of(List rules, LocalDateTime now) { private static class RuleInfo { private Long id; - private String name; - private boolean isNew; - + private boolean isRepresent; private String createdAt; @JsonProperty("isNew") @@ -48,11 +51,17 @@ public boolean isNew() { return isNew; } + @JsonProperty("isRepresent") + public boolean isRepresent() { + return isRepresent; + } + public static RuleInfo of(Rule rule, LocalDateTime now) { return RuleInfo.builder() .id(rule.getId()) .name(rule.getName()) .isNew(now.isBefore(rule.getCreatedAt().plusHours(12))) + .isRepresent(rule.isRepresent()) .createdAt(rule.getCreatedAt().toString()) .build(); }