feat(stock-lab): 포트폴리오 매입가(purchase_price) 컬럼 분리 + 원달러 환율 부호 보정
원달러 환율: - 네이버 환율 change_value에 부호가 없어 프론트에서 항상 상승으로 인식되던 문제 - direction(red/blue) 기반으로 +/- 부호 prepend 포트폴리오: - portfolio 테이블에 purchase_price 컬럼 추가 (기존 row는 avg_price로 백필) - avg_price(평균단가): 손익률 계산 기준 (cost_basis) - purchase_price(매입가): 총 매입 금액 요약 표시 기준 - API: PortfolioItemRequest/UpdateRequest에 purchase_price(Optional) 추가 - GET /api/portfolio 응답 holdings에 purchase_price 포함, summary.total_buy는 매입가 합계, total_profit_rate는 평균단가 기준 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -204,12 +204,15 @@ def fetch_major_indices() -> Dict[str, Any]:
|
||||
blind_txt = usd_item.select_one(".blind").get_text(strip=True)
|
||||
if "상승" in blind_txt: direction = "red"
|
||||
elif "하락" in blind_txt: direction = "blue"
|
||||
|
||||
# 등락률은 리스트에는 안나오고 상세에 나오지만, 여기선 생략하거나 계산 가능.
|
||||
# 일단 UI 통일성을 위해 빈값 혹은 계산된 값 등 처리.
|
||||
# 네이버 메인 환율 영역엔 등락률이 텍스트로 바로 안보임 (title 속성 등에 있을수 있음).
|
||||
# 여기서는 간단히 값만 처리.
|
||||
|
||||
|
||||
# change_val은 네이버 HTML에서 부호 없이 숫자만 옴 → direction 기반으로 부호 붙여줌
|
||||
# (프론트 getDirection()이 부호로 색/화살표를 판별하므로)
|
||||
if change_val and not change_val.startswith(("+", "-")):
|
||||
if direction == "red":
|
||||
change_val = f"+{change_val}"
|
||||
elif direction == "blue":
|
||||
change_val = f"-{change_val}"
|
||||
|
||||
indices.append({
|
||||
"name": "원달러 환율",
|
||||
"value": value,
|
||||
|
||||
Reference in New Issue
Block a user