127 lines
4.4 KiB
Python
127 lines
4.4 KiB
Python
"""
|
|
测试模板管理功能
|
|
1. 下载当前模板
|
|
2. 创建新的测试模板
|
|
3. 上传新模板并验证
|
|
4. 恢复原始模板
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
import requests
|
|
from pathlib import Path
|
|
import tempfile
|
|
from openpyxl import Workbook
|
|
from openpyxl.styles import Font, PatternFill
|
|
|
|
# Flask应用地址
|
|
BASE_URL = "http://localhost:8000"
|
|
API_BASE = f"{BASE_URL}/fs-ai-asistant/api/workflow/lawrisk"
|
|
|
|
def download_template():
|
|
"""下载当前模板"""
|
|
print("📥 正在下载当前模板...")
|
|
|
|
try:
|
|
response = requests.get(f"{API_BASE}/admin/permit-import/template")
|
|
|
|
if response.status_code == 200:
|
|
filename = "风险提示表 模板_原始.xlsx"
|
|
with open(filename, 'wb') as f:
|
|
f.write(response.content)
|
|
print(f"✅ 原始模板已下载: {filename} ({len(response.content)} bytes)")
|
|
return filename
|
|
else:
|
|
print(f"❌ 下载失败: HTTP {response.status_code}")
|
|
return None
|
|
except Exception as e:
|
|
print(f"❌ 下载出错: {e}")
|
|
return None
|
|
|
|
def create_test_template():
|
|
"""创建新的测试模板"""
|
|
print("\n🧪 正在创建新的测试模板...")
|
|
|
|
wb = Workbook()
|
|
ws = wb.active
|
|
ws.title = "风险提示表"
|
|
|
|
# 添加标题
|
|
ws['A1'] = "风险提示表 - 测试模板"
|
|
ws['A1'].font = Font(bold=True, size=14)
|
|
ws['A1'].fill = PatternFill(start_color="366092", end_color="366092", fill_type="solid")
|
|
|
|
# 添加表头
|
|
headers = ['区域', '主题', '许可名称', '风险内容', '法律依据', '文档编号']
|
|
for col, header in enumerate(headers, 1):
|
|
cell = ws.cell(row=3, column=col, value=header)
|
|
cell.font = Font(bold=True)
|
|
cell.fill = PatternFill(start_color="D9E1F2", end_color="D9E1F2", fill_type="solid")
|
|
|
|
# 添加测试数据
|
|
test_data = [
|
|
['市级', '餐饮服务', '食品经营许可证', '无证经营风险', '食品安全法', 'DOC-2024-001'],
|
|
['禅城区', '住宿服务', '特种行业许可证', '未经许可经营', '特种行业管理法', 'DOC-2024-002'],
|
|
['顺德区', '娱乐服务', '娱乐经营许可证', '无证经营风险', '娱乐场所管理条例', 'DOC-2024-003'],
|
|
]
|
|
|
|
for row, data in enumerate(test_data, 4):
|
|
for col, value in enumerate(data, 1):
|
|
ws.cell(row=row, column=col, value=value)
|
|
|
|
# 保存文件
|
|
filename = "风险提示表_测试模板.xlsx"
|
|
wb.save(filename)
|
|
print(f"✅ 测试模板已创建: {filename}")
|
|
return filename
|
|
|
|
def check_flask_status():
|
|
"""检查Flask应用状态"""
|
|
try:
|
|
response = requests.get(BASE_URL, timeout=5)
|
|
print(f"✅ Flask应用运行正常: {BASE_URL}")
|
|
return True
|
|
except Exception as e:
|
|
print(f"❌ 无法连接到Flask应用: {e}")
|
|
print("请确保Flask应用正在运行: python app.py")
|
|
return False
|
|
|
|
def main():
|
|
print("=" * 60)
|
|
print("🧪 模板管理功能测试")
|
|
print("=" * 60)
|
|
|
|
# 检查Flask应用状态
|
|
if not check_flask_status():
|
|
return
|
|
|
|
# 第一步:下载原始模板
|
|
original_template = download_template()
|
|
if not original_template:
|
|
print("❌ 无法下载原始模板,但继续测试...")
|
|
|
|
# 第二步:创建测试模板
|
|
test_template = create_test_template()
|
|
|
|
print("\n" + "=" * 60)
|
|
print("📝 自动化测试说明")
|
|
print("=" * 60)
|
|
print("\n请按照以下步骤手动测试模板管理功能:")
|
|
print("\n1. 打开浏览器,访问超级管理员控制台:")
|
|
print(f" {BASE_URL}/static/super_admin.html")
|
|
print("\n2. 如果需要登录,请先登录")
|
|
print("\n3. 切换到'📄 模板管理'标签页")
|
|
print("\n4. 查看当前模板信息")
|
|
print("\n5. 点击'下载当前模板'按钮下载原始模板")
|
|
print("\n6. 点击'选择文件'并选择测试模板:")
|
|
print(f" {test_template}")
|
|
print("\n7. 点击'覆盖模板'按钮上传")
|
|
print("\n8. 验证上传成功消息和模板元数据更新")
|
|
print("\n9. 重新下载模板验证内容")
|
|
print("\n10. 再次上传原始模板恢复系统:")
|
|
print(f" {original_template if original_template else '风险提示表 模板.xlsx'}")
|
|
print("\n" + "=" * 60)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|