持仓页面品种tab增加全平按钮,支持按品种批量平仓
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -152,6 +152,29 @@ def edit_trade(
|
||||
return RedirectResponse("/trades/", status_code=303)
|
||||
|
||||
|
||||
@router.post("/bulk-close")
|
||||
def bulk_close(
|
||||
request: Request,
|
||||
product_code: str = Form(...),
|
||||
close_date: str = Form(...),
|
||||
close_price: float = Form(...),
|
||||
close_fee: float = Form(0.0),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
trades = (
|
||||
db.query(Trade)
|
||||
.filter(Trade.product_code == product_code.upper(), Trade.status == "open")
|
||||
.all()
|
||||
)
|
||||
for t in trades:
|
||||
t.close_date = date.fromisoformat(close_date)
|
||||
t.close_price = close_price
|
||||
t.close_fee = close_fee
|
||||
t.status = "closed"
|
||||
db.commit()
|
||||
return RedirectResponse("/trades/", status_code=303)
|
||||
|
||||
|
||||
@router.post("/{trade_id}/delete")
|
||||
def delete_trade(trade_id: int, db: Session = Depends(get_db)):
|
||||
t = db.query(Trade).filter(Trade.id == trade_id).first()
|
||||
|
||||
Reference in New Issue
Block a user