交易记录优化:品种合约分离展示、盈亏取整、手续费统计
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@ from fastapi import APIRouter, Depends, Form, Request
|
||||
from fastapi.responses import HTMLResponse, RedirectResponse
|
||||
from sqlalchemy.orm import Session
|
||||
from app.database import get_db
|
||||
from app.models import Trade, Product, Contract
|
||||
from app.models import Trade, Contract, Product
|
||||
|
||||
router = APIRouter(prefix="/trades", tags=["trades"])
|
||||
|
||||
@@ -20,11 +20,6 @@ def get_active_contracts(db: Session) -> list[str]:
|
||||
return [c[0] for c in contracts]
|
||||
|
||||
|
||||
def get_products(db: Session) -> list[str]:
|
||||
products = db.query(Product.code).order_by(Product.code).all()
|
||||
return [p[0] for p in products]
|
||||
|
||||
|
||||
def today_str() -> str:
|
||||
return date.today().isoformat()
|
||||
|
||||
@@ -46,7 +41,6 @@ def trades_page(request: Request, db: Session = Depends(get_db)):
|
||||
request=request,
|
||||
active_nav="trades",
|
||||
contracts=get_active_contracts(db),
|
||||
products=get_products(db),
|
||||
directions=DIRECTIONS,
|
||||
open_trades=open_trades,
|
||||
closed_trades=closed_trades,
|
||||
@@ -58,7 +52,6 @@ def trades_page(request: Request, db: Session = Depends(get_db)):
|
||||
@router.post("/open")
|
||||
def open_trade(
|
||||
request: Request,
|
||||
product_code: str = Form(...),
|
||||
contract_code: str = Form(...),
|
||||
direction: str = Form(...),
|
||||
open_date: str = Form(...),
|
||||
@@ -66,9 +59,13 @@ def open_trade(
|
||||
open_fee: float = Form(0.0),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
code = contract_code.upper()
|
||||
contract = db.query(Contract).filter(Contract.code == code).first()
|
||||
product_code = contract.product.code if contract else code[:2]
|
||||
|
||||
t = Trade(
|
||||
product_code=product_code.upper(),
|
||||
contract_code=contract_code.upper(),
|
||||
product_code=product_code,
|
||||
contract_code=code,
|
||||
direction=direction,
|
||||
open_date=date.fromisoformat(open_date),
|
||||
open_price=open_price,
|
||||
|
||||
Reference in New Issue
Block a user