招生就业开发备份@wuzhen

This commit is contained in:
wuzhen committed 2025-07-19 18:56:47 +08:00
1 parent ccffeb3eff
commit 4a7021226e
61 files changed
+15656 -819

No files matched your search

@@ -0,0 +1,401 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
招生录取流程状态管理API测试脚本
文件:招生录取流程状态管理API测试脚本.py
创建时间:2025-01-20
说明:测试录取流程状态管理的所有API接口
"""
import requests
import json
import time
from datetime import datetime
class EnrollmentProcessAPITest:
def __init__(self):
self.base_url = "http://localhost:8080"
self.session = requests.Session()
self.token = None
self.user_info = None
def login(self):
"""登录获取token"""
login_url = f"{self.base_url}/auth/login"
login_data = {
"username": "admin",
"password": "admin123",
"code": "666",
"uuid": "test-uuid"
}
try:
response = self.session.post(login_url, json=login_data)
if response.status_code == 200:
result = response.json()
if result.get('code') == 200:
self.token = result['data']['access_token']
self.session.headers.update({
'Authorization': f'Bearer {self.token}',
'Content-Type': 'application/json'
})
print("✅ 登录成功")
return True
else:
print(f"❌ 登录失败: {result.get('msg')}")
return False
else:
print(f"❌ 登录请求失败: {response.status_code}")
return False
except Exception as e:
print(f"❌ 登录异常: {str(e)}")
return False
def test_process_list(self):
"""测试查询流程列表"""
print("\n🧪 测试查询流程列表...")
url = f"{self.base_url}/zsjy/enrollmentProcess/list"
params = {
"pageNum": 1,
"pageSize": 10
}
try:
response = self.session.get(url, params=params)
if response.status_code == 200:
result = response.json()
print(f"✅ 查询流程列表成功,共 {result.get('total', 0)} 条记录")
return result
else:
print(f"❌ 查询流程列表失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 查询流程列表异常: {str(e)}")
return None
def test_process_statistics(self):
"""测试流程状态统计"""
print("\n🧪 测试流程状态统计...")
url = f"{self.base_url}/zsjy/enrollmentProcess/statistics"
try:
response = self.session.get(url)
if response.status_code == 200:
result = response.json()
print("✅ 流程状态统计成功")
if result.get('code') == 200:
statistics = result.get('data', [])
print("📊 统计结果:")
for stat in statistics:
status = stat.get('status')
count = stat.get('count')
status_name = self.get_status_name(status)
print(f" {status_name}({status}): {count} 条")
return result
else:
print(f"❌ 流程状态统计失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 流程状态统计异常: {str(e)}")
return None
def test_pending_list(self):
"""测试查询待处理流程"""
print("\n🧪 测试查询待处理流程...")
url = f"{self.base_url}/zsjy/enrollmentProcess/pending"
try:
response = self.session.get(url)
if response.status_code == 200:
result = response.json()
print("✅ 查询待处理流程成功")
if result.get('code') == 200:
pending_list = result.get('data', [])
print(f"📋 待处理流程数量: {len(pending_list)}")
return result
else:
print(f"❌ 查询待处理流程失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 查询待处理流程异常: {str(e)}")
return None
def test_search_process(self, keyword="张三"):
"""测试关键词搜索流程"""
print(f"\n🧪 测试关键词搜索流程 (关键词: {keyword})...")
url = f"{self.base_url}/zsjy/enrollmentProcess/search"
params = {"keyword": keyword}
try:
response = self.session.get(url, params=params)
if response.status_code == 200:
result = response.json()
print("✅ 关键词搜索成功")
if result.get('code') == 200:
search_list = result.get('data', [])
print(f"🔍 搜索结果数量: {len(search_list)}")
return result
else:
print(f"❌ 关键词搜索失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 关键词搜索异常: {str(e)}")
return None
def test_status_query(self, status="0"):
"""测试根据状态查询流程"""
print(f"\n🧪 测试根据状态查询流程 (状态: {status})...")
url = f"{self.base_url}/zsjy/enrollmentProcess/status/{status}"
try:
response = self.session.get(url)
if response.status_code == 200:
result = response.json()
print("✅ 根据状态查询成功")
if result.get('code') == 200:
status_list = result.get('data', [])
status_name = self.get_status_name(status)
print(f"📊 {status_name}流程数量: {len(status_list)}")
return result
else:
print(f"❌ 根据状态查询失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 根据状态查询异常: {str(e)}")
return None
def test_create_process(self):
"""测试创建流程"""
print("\n🧪 测试创建流程...")
url = f"{self.base_url}/zsjy/enrollmentProcess"
# 模拟创建流程数据
process_data = {
"enrollmentId": 1001,
"studentName": "测试学生",
"idCard": "330101199001011234",
"currentStatus": "0",
"infoAuditStatus": "0",
"admissionStatus": "0",
"finalAuditStatus": "0",
"paymentStatus": "0",
"isCompleted": 0,
"remark": "API测试创建的流程"
}
try:
response = self.session.post(url, json=process_data)
if response.status_code == 200:
result = response.json()
if result.get('code') == 200:
print("✅ 创建流程成功")
return result
else:
print(f"❌ 创建流程失败: {result.get('msg')}")
return None
else:
print(f"❌ 创建流程请求失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 创建流程异常: {str(e)}")
return None
def test_info_audit(self, process_id, audit_result="1", audit_opinion="测试审核通过"):
"""测试信息审核"""
print(f"\n🧪 测试信息审核 (ID: {process_id}, 结果: {audit_result})...")
url = f"{self.base_url}/zsjy/enrollmentProcess/infoAudit"
audit_data = {
"id": process_id,
"auditResult": audit_result,
"auditOpinion": audit_opinion
}
try:
response = self.session.post(url, data=audit_data)
if response.status_code == 200:
result = response.json()
if result.get('code') == 200:
print("✅ 信息审核成功")
return result
else:
print(f"❌ 信息审核失败: {result.get('msg')}")
return None
else:
print(f"❌ 信息审核请求失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 信息审核异常: {str(e)}")
return None
def test_admission_process(self, process_id, process_result="1", notice_number="LQ202501200001"):
"""测试录取处理"""
print(f"\n🧪 测试录取处理 (ID: {process_id}, 结果: {process_result})...")
url = f"{self.base_url}/zsjy/enrollmentProcess/admissionProcess"
process_data = {
"id": process_id,
"processResult": process_result,
"processOpinion": "测试录取处理通过",
"noticeNumber": notice_number
}
try:
response = self.session.post(url, data=process_data)
if response.status_code == 200:
result = response.json()
if result.get('code') == 200:
print("✅ 录取处理成功")
return result
else:
print(f"❌ 录取处理失败: {result.get('msg')}")
return None
else:
print(f"❌ 录取处理请求失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 录取处理异常: {str(e)}")
return None
def test_confirm_payment(self, process_id):
"""测试缴费确认"""
print(f"\n🧪 测试缴费确认 (ID: {process_id})...")
url = f"{self.base_url}/zsjy/enrollmentProcess/confirmPayment"
payment_data = {"id": process_id}
try:
response = self.session.post(url, data=payment_data)
if response.status_code == 200:
result = response.json()
if result.get('code') == 200:
print("✅ 缴费确认成功")
return result
else:
print(f"❌ 缴费确认失败: {result.get('msg')}")
return None
else:
print(f"❌ 缴费确认请求失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 缴费确认异常: {str(e)}")
return None
def test_final_audit(self, process_id, audit_result="1"):
"""测试最终审核"""
print(f"\n🧪 测试最终审核 (ID: {process_id}, 结果: {audit_result})...")
url = f"{self.base_url}/zsjy/enrollmentProcess/finalAudit"
audit_data = {
"id": process_id,
"auditResult": audit_result,
"auditOpinion": "测试最终审核通过"
}
try:
response = self.session.post(url, data=audit_data)
if response.status_code == 200:
result = response.json()
if result.get('code') == 200:
print("✅ 最终审核成功")
return result
else:
print(f"❌ 最终审核失败: {result.get('msg')}")
return None
else:
print(f"❌ 最终审核请求失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 最终审核异常: {str(e)}")
return None
def test_complete_enrollment(self, process_id):
"""测试完成录取"""
print(f"\n🧪 测试完成录取 (ID: {process_id})...")
url = f"{self.base_url}/zsjy/enrollmentProcess/complete"
complete_data = {"id": process_id}
try:
response = self.session.post(url, data=complete_data)
if response.status_code == 200:
result = response.json()
if result.get('code') == 200:
print("✅ 完成录取成功")
return result
else:
print(f"❌ 完成录取失败: {result.get('msg')}")
return None
else:
print(f"❌ 完成录取请求失败: {response.status_code}")
return None
except Exception as e:
print(f"❌ 完成录取异常: {str(e)}")
return None
def get_status_name(self, status):
"""获取状态名称"""
status_map = {
"0": "待审核",
"1": "信息审核中",
"2": "录取处理中",
"3": "待最终确认",
"4": "录取完成",
"9": "已驳回"
}
return status_map.get(status, f"未知状态({status})")
def run_all_tests(self):
"""运行所有测试"""
print("🚀 开始录取流程状态管理API测试...")
print("=" * 60)
# 1. 登录
if not self.login():
print("❌ 登录失败,停止测试")
return
# 2. 基础查询测试
self.test_process_list()
self.test_process_statistics()
self.test_pending_list()
self.test_search_process()
self.test_status_query("0")
# 3. 流程操作测试(需要有实际数据才能测试)
print("\n" + "=" * 60)
print("📝 注意:流程操作测试需要有实际的流程数据")
print(" 如需测试流程操作,请先在系统中创建报名信息")
print(" 然后使用实际的流程ID进行测试")
# 示例:如果有流程ID,可以测试流程操作
# process_id = 1 # 替换为实际的流程ID
# self.test_info_audit(process_id)
# self.test_admission_process(process_id)
# self.test_confirm_payment(process_id)
# self.test_final_audit(process_id)
# self.test_complete_enrollment(process_id)
print("\n" + "=" * 60)
print("✅ API测试完成!")
def main():
"""主函数"""
test = EnrollmentProcessAPITest()
test.run_all_tests()
if __name__ == "__main__":
main()