招生就业开发备份@wuzhen
This commit is contained in:
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()
|
||||
Reference in new issue
Block a user