修改
This commit is contained in:
@@ -36,6 +36,7 @@ if _REPO_ROOT not in sys.path:
|
||||
sys.path.insert(0, _REPO_ROOT)
|
||||
from ai_client import ai_generate, ai_review, ai_short_advice
|
||||
from ai_review_lib import build_journal_ai_chart_path, collect_images_for_ai_review
|
||||
from form_submit_lib import check_duplicate_submit, submit_scope_add_key, submit_scope_add_order
|
||||
from fib_key_monitor_lib import (
|
||||
FIB_KEY_MONITOR_TYPES,
|
||||
calc_fib_plan,
|
||||
@@ -5926,6 +5927,12 @@ def add_key():
|
||||
return redirect("/key_monitor")
|
||||
mt = (d.get("type") or "").strip()
|
||||
direction_sel = (d.get("direction") or "").strip().lower()
|
||||
dup_msg = check_duplicate_submit(
|
||||
session, submit_scope_add_key(symbol, mt, direction_sel or "watch")
|
||||
)
|
||||
if dup_msg:
|
||||
flash(dup_msg)
|
||||
return redirect("/key_monitor")
|
||||
if mt in KEY_MONITOR_RS_TYPES:
|
||||
direction_sel = KEY_DIRECTION_WATCH
|
||||
elif direction_sel not in ("long", "short"):
|
||||
@@ -6056,6 +6063,11 @@ def add_order():
|
||||
conn.close()
|
||||
flash("symbol 不能为空")
|
||||
return redirect("/trade")
|
||||
dup_msg = check_duplicate_submit(session, submit_scope_add_order(symbol, direction))
|
||||
if dup_msg:
|
||||
conn.close()
|
||||
flash(dup_msg)
|
||||
return redirect("/trade")
|
||||
ok, reason = precheck_risk(conn, symbol, direction)
|
||||
if not ok:
|
||||
if "已达最大持仓数" in reason or "一次只能持有一个仓位" in reason:
|
||||
@@ -6912,7 +6924,9 @@ def api_reviews():
|
||||
return jsonify([row_to_dict(r) for r in rows])
|
||||
|
||||
|
||||
_AI_REVIEW_RENDER_JS = os.path.join(os.path.dirname(BASE_DIR), "static", "ai_review_render.js")
|
||||
_REPO_STATIC_DIR = os.path.join(os.path.dirname(BASE_DIR), "static")
|
||||
_AI_REVIEW_RENDER_JS = os.path.join(_REPO_STATIC_DIR, "ai_review_render.js")
|
||||
_FORM_SUBMIT_GUARD_JS = os.path.join(_REPO_STATIC_DIR, "form_submit_guard.js")
|
||||
|
||||
|
||||
@app.route("/static/ai_review_render.js")
|
||||
@@ -6922,6 +6936,13 @@ def static_ai_review_render_js():
|
||||
return send_file(_AI_REVIEW_RENDER_JS, mimetype="application/javascript; charset=utf-8")
|
||||
|
||||
|
||||
@app.route("/static/form_submit_guard.js")
|
||||
def static_form_submit_guard_js():
|
||||
if not os.path.isfile(_FORM_SUBMIT_GUARD_JS):
|
||||
return Response("not found", status=404, mimetype="text/plain; charset=utf-8")
|
||||
return send_file(_FORM_SUBMIT_GUARD_JS, mimetype="application/javascript; charset=utf-8")
|
||||
|
||||
|
||||
@app.route("/export/review_md/<rid>")
|
||||
@login_required
|
||||
def export_review_md(rid):
|
||||
|
||||
Reference in New Issue
Block a user