移除数据录入模块,持仓数据跟随种子数据加载

This commit is contained in:
2026-07-24 22:45:13 +08:00
parent 970bea5222
commit 2bcae30378
4 changed files with 1 additions and 121 deletions
-71
View File
@@ -1,71 +0,0 @@
from datetime import date
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 PositionSnapshot
router = APIRouter(prefix="/input", tags=["input"])
INSTITUTIONS = ["中信期货", "高盛期货", "国泰君安期货", "华泰期货", "东证期货", "银河期货"]
@router.get("/", response_class=HTMLResponse)
def input_page(request: Request):
template = request.app.state.templates.get_template("input.html")
return HTMLResponse(
template.render(request=request, active_nav="input", institutions=INSTITUTIONS)
)
@router.post("/")
def submit_position(
request: Request,
institution: str = Form(...),
direction: str = Form(...),
date_str: str = Form(...),
position: int = Form(...),
avg_cost: float = Form(...),
db: Session = Depends(get_db),
):
d = date.fromisoformat(date_str)
prev = (
db.query(PositionSnapshot)
.filter(
PositionSnapshot.institution == institution,
PositionSnapshot.direction == direction,
PositionSnapshot.date < d,
)
.order_by(PositionSnapshot.date.desc())
.first()
)
delta = position - prev.position if prev else 0
existing = (
db.query(PositionSnapshot)
.filter(
PositionSnapshot.institution == institution,
PositionSnapshot.direction == direction,
PositionSnapshot.date == d,
)
.first()
)
if existing:
existing.position = position
existing.delta = delta
existing.avg_cost = avg_cost
else:
snap = PositionSnapshot(
institution=institution,
direction=direction,
date=d,
position=position,
delta=delta,
avg_cost=avg_cost,
)
db.add(snap)
db.commit()
return RedirectResponse("/analysis", status_code=303)