61 lines
2.0 KiB
Python
61 lines
2.0 KiB
Python
import asyncio
|
||
import httpx
|
||
|
||
# 预置的眼镜行业上市公司列表
|
||
COMPANIES = [
|
||
{
|
||
"stock_code": "300622",
|
||
"company_name": "博士眼镜连锁股份有限公司",
|
||
"short_name": "博士眼镜",
|
||
"industry": "眼镜零售"
|
||
},
|
||
{
|
||
"stock_code": "301101",
|
||
"company_name": "明月镜片股份有限公司",
|
||
"short_name": "明月镜片",
|
||
"industry": "镜片制造"
|
||
},
|
||
{
|
||
"stock_code": "300595",
|
||
"company_name": "欧普康视科技股份有限公司",
|
||
"short_name": "欧普康视",
|
||
"industry": "医疗器械/OK镜"
|
||
},
|
||
{
|
||
"stock_code": "300015",
|
||
"company_name": "爱尔眼科医院集团股份有限公司",
|
||
"short_name": "爱尔眼科",
|
||
"industry": "眼科医疗"
|
||
},
|
||
{
|
||
"stock_code": "002223",
|
||
"company_name": "江苏鱼跃医疗设备股份有限公司",
|
||
"short_name": "鱼跃医疗",
|
||
"industry": "医疗器械"
|
||
}
|
||
]
|
||
|
||
API_URL = "http://localhost:8000/api/companies"
|
||
|
||
async def init_data():
|
||
print("开始添加预置公司...")
|
||
async with httpx.AsyncClient() as client:
|
||
for company in COMPANIES:
|
||
try:
|
||
# 检查是否已存在
|
||
response = await client.post(API_URL, json=company)
|
||
if response.status_code == 200:
|
||
print(f"✅ 成功添加: {company['short_name']} ({company['stock_code']})")
|
||
elif response.status_code == 400 and "已存在" in response.text:
|
||
print(f"ℹ️ 已存在: {company['short_name']} ({company['stock_code']})")
|
||
else:
|
||
print(f"❌ 添加失败: {company['short_name']} - {response.text}")
|
||
except Exception as e:
|
||
print(f"❌ 请求错误: {e}")
|
||
|
||
print("\n完成!请刷新「公司管理」页面查看。")
|
||
print("提示:添加完成后,请点击页面左下角的「立即同步」按钮开始抓取报告。")
|
||
|
||
if __name__ == "__main__":
|
||
asyncio.run(init_data())
|