fix: 네이버 차트 폴백 null/0 가격 필터링
Some checks failed
CI/CD Pipeline / test-backend (push) Has been cancelled
CI/CD Pipeline / test-frontend (push) Has been cancelled
CI/CD Pipeline / build-and-push (push) Has been cancelled

Lightweight Charts에서 null 값 에러 방지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-03 12:01:51 +09:00
parent 5f0f839039
commit b06047a3d5

View File

@@ -334,17 +334,24 @@ async def get_chart_data_cached(stock_code: str, period: str, limit: int) -> lis
from app.services.naver_finance import get_naver_daily_chart from app.services.naver_finance import get_naver_daily_chart
naver_data = await get_naver_daily_chart(stock_code, days=limit * 2) naver_data = await get_naver_daily_chart(stock_code, days=limit * 2)
if naver_data: if naver_data:
db_data = [ db_data = []
{ for item in naver_data:
"date": item.get("stck_bsop_date", ""), o = float(item.get("stck_oprc") or 0)
"open": float(item.get("stck_oprc", 0)), h = float(item.get("stck_hgpr") or 0)
"high": float(item.get("stck_hgpr", 0)), l = float(item.get("stck_lwpr") or 0)
"low": float(item.get("stck_lwpr", 0)), c = float(item.get("stck_clpr") or 0)
"close": float(item.get("stck_clpr", 0)), d = item.get("stck_bsop_date", "")
"volume": int(item.get("acml_vol", 0)), if not d or c <= 0 or o <= 0 or h <= 0 or l <= 0:
} continue
for item in naver_data db_data.append({
][-limit:] "date": d,
"open": o,
"high": h,
"low": l,
"close": c,
"volume": int(item.get("acml_vol") or 0),
})
db_data = db_data[-limit:]
logger.info(f"차트 네이버 폴백: {stock_code} ({len(db_data)}행)") logger.info(f"차트 네이버 폴백: {stock_code} ({len(db_data)}행)")
except Exception as e: except Exception as e:
logger.warning(f"네이버 차트 폴백 실패 ({stock_code}): {e}") logger.warning(f"네이버 차트 폴백 실패 ({stock_code}): {e}")