|
@@ -12,7 +12,7 @@ from utils import *
|
|
|
from utils.risk import *
|
|
|
import json
|
|
|
import traceback
|
|
|
-
|
|
|
+from datetime import datetime, timedelta
|
|
|
router = APIRouter()
|
|
|
|
|
|
|
|
@@ -119,6 +119,51 @@ async def mine(request: Request,db: Session = Depends(get_db)):
|
|
|
"data":
|
|
|
{"max_level":result}
|
|
|
}
|
|
|
+ except Exception as e:
|
|
|
+ db.rollback()
|
|
|
+ traceback.print_exc()
|
|
|
+ raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+def make_url(dt):
|
|
|
+ base_url = "https://soc.gd121.cn/cappi/{年}/{月}/CAPPI_440000_{年月日时}0000.png!wbdstyle"
|
|
|
+ # 格式化日期和时间
|
|
|
+ year = dt.strftime("%Y")
|
|
|
+ month = dt.strftime("%m")
|
|
|
+ day = dt.strftime("%d")
|
|
|
+ hour = dt.strftime("%H")
|
|
|
+ # 构造完整的URL
|
|
|
+ url = base_url.format(年=year, 月=month, 年月日时=f"{year}{month}{day}{hour}")
|
|
|
+ return url
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+@router.get('/radar_chart')
|
|
|
+@router.post('/radar_chart')
|
|
|
+async def mine(request: Request,db: Session = Depends(get_db)):
|
|
|
+ try:
|
|
|
+ now = datetime.now()-timedelta(hours=1)
|
|
|
+ urls = []
|
|
|
+ for i in range(12):
|
|
|
+ dt = now - timedelta(hours=i)
|
|
|
+ if dt.hour == 0 and i > 0:
|
|
|
+ dt -= timedelta(days=1)
|
|
|
+ print(dt)
|
|
|
+ urls.append(
|
|
|
+ {
|
|
|
+ "time":dt.strftime("%Y-%m-%d %H:00:00"),
|
|
|
+ "url":make_url(dt)
|
|
|
+ }
|
|
|
+ )
|
|
|
+ return {
|
|
|
+ "code": 200,
|
|
|
+ "msg": "成功",
|
|
|
+ "data":
|
|
|
+ urls
|
|
|
+ }
|
|
|
except Exception as e:
|
|
|
db.rollback()
|
|
|
traceback.print_exc()
|