Skip to content

Commit

Permalink
#42 [feat] : 대표 코인 정보 조회 DTO 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
bbbang105 committed Jun 5, 2024
1 parent 775d86d commit 4e0d50a
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions backend/src/main/java/org/dgu/backend/dto/DashBoardDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.dgu.backend.util.BigDecimalSerializer;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class DashBoardDto {
@Builder
Expand Down Expand Up @@ -44,4 +45,30 @@ public UserCoin to(User user) {
.build();
}
}
@Builder
@Getter
@AllArgsConstructor
@JsonNaming(value = PropertyNamingStrategies.SnakeCaseStrategy.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
public static class RepresentativeCoinResponse {
private String marketName;
private String koreanName;
@JsonSerialize(using = BigDecimalSerializer.class)
private BigDecimal price;
@JsonSerialize(using = BigDecimalSerializer.class)
private BigDecimal changePrice;
@JsonSerialize(using = BigDecimalSerializer.class)
private BigDecimal changeRate;
private Boolean isIncrease;

public static DashBoardDto.RepresentativeCoinResponse of(UpbitDto.Ticker ticker, String koreanName) {
return RepresentativeCoinResponse.builder()
.marketName(ticker.getMarket())
.koreanName(koreanName)
.changePrice(BigDecimal.valueOf(ticker.getPrice()))
.changeRate(BigDecimal.valueOf(ticker.getChangeRate()).setScale(5, RoundingMode.HALF_UP))
.isIncrease(ticker.getChange().equals("RISE"))
.build();
}
}
}

0 comments on commit 4e0d50a

Please sign in to comment.