73 lines
2.3 KiB
Kotlin
73 lines
2.3 KiB
Kotlin
package model
|
|
|
|
import kotlinx.serialization.Serializable
|
|
|
|
@Serializable
|
|
data class StockBalanceResponse(
|
|
val rt_cd: String = "",
|
|
val msg1: String = "",
|
|
val output1: List<StockHolding> = emptyList(),
|
|
val output2: List<BalanceSummary> = emptyList()
|
|
)
|
|
|
|
@Serializable
|
|
data class StockHolding(
|
|
val pdno: String = "", // 상품번호
|
|
val prdt_name: String = "", // 상품명
|
|
val hldg_qty: String = "0", // 보유수량
|
|
val pchs_avg_pric: String = "0", // 매입평균가
|
|
val prpr: String = "0", // 현재가
|
|
val evlu_pfls_rt: String = "0.0", // 평가손익률
|
|
val evlu_amt: String = "0" // 평가금액
|
|
)
|
|
|
|
@Serializable
|
|
data class BalanceSummary(
|
|
val tot_evlu_amt: String = "0", // 총 평가금액
|
|
val evlu_pfls_rt: String = "0.0", // 총 수익률 (에러 발생 지점: 기본값 추가로 해결)
|
|
val asst_icrt: String = "0.0", // 일부 환경에서 수익률 필드명
|
|
val nass_amt: String = "0" // 순자산 금액
|
|
)
|
|
@Serializable
|
|
data class RankingResponse(
|
|
val output: List<RankingStock> = emptyList()
|
|
)
|
|
|
|
enum class RankingType(val code: String, val title: String) {
|
|
RISE("0", "상승"),
|
|
FALL("1", "하락"),
|
|
VOLUME("2", "거래량"),
|
|
AMOUNT("3", "금액"),
|
|
OVERTIME("4", "시간외"), // 웹 소스의 시간외 상승 TR 연동
|
|
SHORT_HOT("5", "단기추천") // 단기 과열 및 추천 종목
|
|
}
|
|
|
|
|
|
@Serializable
|
|
data class RankingStock(
|
|
val hts_kor_alph_nm: String = "", // 종목명
|
|
val mkrtc_objt_iscd: String = "", // 종목코드
|
|
val stck_prpr: String = "0", // 현재가
|
|
val prdy_ctrt: String = "0.0" // 등락률
|
|
)
|
|
@Serializable
|
|
data class OverseasRankingResponse(
|
|
val output: List<OverseasRankingStock> = emptyList()
|
|
)
|
|
|
|
@Serializable
|
|
data class OverseasRankingStock(
|
|
val hts_kor_alph_nm: String, // 종목명
|
|
val mkrtc_objt_iscd: String, // 종목코드 (Ticker)
|
|
val last: String, // 현재가
|
|
val diff: String, // 전일대비
|
|
val rate: String // 등락률
|
|
) {
|
|
// 국내용 RankingStock과 호환되도록 변환 함수 추가
|
|
fun toRankingStock() = RankingStock(
|
|
hts_kor_alph_nm = hts_kor_alph_nm,
|
|
mkrtc_objt_iscd = mkrtc_objt_iscd,
|
|
stck_prpr = last,
|
|
prdy_ctrt = rate
|
|
)
|
|
} |