前端测试通过,部分接口没有数据,运行没问题了。
This commit is contained in:
+31
-25
@@ -144,6 +144,8 @@ def seed_test_data():
|
||||
enrollment = date(2024, 9, 1) if class_idx != 2 else date(2025, 9, 1)
|
||||
graduate = date(2028, 6, 30) if class_idx != 2 else date(2029, 6, 30)
|
||||
phone = f"1390000{1000 + i}"
|
||||
# 前3个学生年龄设大一些,用于30岁以上统计测试
|
||||
age = 30 + i if i < 3 else 18 + (i % 4)
|
||||
db.execute(text("""
|
||||
INSERT INTO students (num, name, age, sex, home_Place, college,
|
||||
specialty, enrollment_time, graduate_time,
|
||||
@@ -154,7 +156,7 @@ def seed_test_data():
|
||||
"""), {
|
||||
"num": f"2024{1001 + i}",
|
||||
"name": first_names[i],
|
||||
"age": 18 + (i % 4),
|
||||
"age": age,
|
||||
"sex": "m" if i % 2 == 0 else "f",
|
||||
"home_Place": home_places[i % 8],
|
||||
"college": colleges[i % 8],
|
||||
@@ -176,10 +178,20 @@ def seed_test_data():
|
||||
|
||||
for idx, st in enumerate(all_students):
|
||||
for subj_idx, sub in enumerate(all_subjects):
|
||||
score_val = 60 + (idx * 7 + subj_idx * 13) % 41
|
||||
# 前3名学生部分课程不及格(供统计接口测试)
|
||||
if idx < 3 and subj_idx < 2:
|
||||
score_val = 30 + (idx * 5) % 25
|
||||
# 前3名学生设大年龄(用于30岁以上统计)
|
||||
# 前2名学生所有科目80分以上(用于优秀成绩统计)
|
||||
# 最后2名学生部分科目不及格(用于不及格统计)
|
||||
if idx < 2:
|
||||
# 优秀学生:所有科目85-95分
|
||||
score_val = 85 + (idx * 5 + subj_idx * 3) % 11
|
||||
elif idx >= 18:
|
||||
# 不及格学生:部分科目50-60分
|
||||
if subj_idx < 3:
|
||||
score_val = 50 + (idx * 3 + subj_idx) % 11
|
||||
else:
|
||||
score_val = 75 + (idx * 2 + subj_idx) % 16
|
||||
else:
|
||||
score_val = 60 + (idx * 7 + subj_idx * 13) % 41
|
||||
db.execute(text("""
|
||||
INSERT INTO scores (sid, cid, num, score, t_subject, is_deleted)
|
||||
VALUES (:sid, :cid, 1, :score, :t_subject, 0)
|
||||
@@ -210,24 +222,18 @@ def seed_test_data():
|
||||
company_ids.append(result.lastrowid)
|
||||
|
||||
# ── 8. 就业信息 ───────────────────────────────────
|
||||
employment_data = [
|
||||
(all_students[0][0], all_students[0][1], company_ids[0],
|
||||
35000, date(2028, 3, 1), date(2028, 4, 15)),
|
||||
(all_students[1][0], all_students[1][1], company_ids[1],
|
||||
32000, date(2028, 3, 1), date(2028, 5, 1)),
|
||||
(all_students[2][0], all_students[2][1], company_ids[2],
|
||||
30000, date(2028, 3, 1), date(2028, 4, 20)),
|
||||
(all_students[3][0], all_students[3][1], company_ids[3],
|
||||
28000, date(2028, 3, 1), date(2028, 5, 10)),
|
||||
(all_students[4][0], all_students[4][1], company_ids[4],
|
||||
25000, date(2028, 3, 1), date(2028, 6, 1)),
|
||||
(all_students[5][0], all_students[5][1], company_ids[0],
|
||||
33000, date(2028, 3, 1), date(2028, 4, 25)),
|
||||
(all_students[6][0], all_students[6][1], company_ids[1],
|
||||
29000, date(2028, 3, 1), None),
|
||||
(all_students[7][0], all_students[7][1], company_ids[2],
|
||||
31000, date(2028, 3, 1), date(2028, 5, 5)),
|
||||
]
|
||||
# 添加更多就业记录,确保统计接口有数据
|
||||
employment_data = []
|
||||
for i in range(min(15, len(all_students))):
|
||||
company_idx = i % len(company_ids)
|
||||
address_idx = i % len(address_ids)
|
||||
salary = 25000 + (i * 2000) % 15000
|
||||
# 前10个学生有offer时间,后5个没有(测试不同情况)
|
||||
offer_time = date(2028, 4, 15 + i) if i < 10 else None
|
||||
employment_data.append((
|
||||
all_students[i][0], all_students[i][1], company_ids[company_idx],
|
||||
address_ids[address_idx], salary, date(2028, 3, 1), offer_time
|
||||
))
|
||||
for idx, emp in enumerate(employment_data):
|
||||
db.execute(text("""
|
||||
INSERT INTO Employments (stuid, class_id, company_id, address_id,
|
||||
@@ -237,8 +243,8 @@ def seed_test_data():
|
||||
:open_time, :offer_time, 0)
|
||||
"""), {
|
||||
"stuid": emp[0], "class_id": emp[1],
|
||||
"company_id": emp[2], "addr_id": address_ids[idx % len(address_ids)],
|
||||
"salary": emp[3], "open_time": emp[4], "offer_time": emp[5],
|
||||
"company_id": emp[2], "addr_id": emp[3],
|
||||
"salary": emp[4], "open_time": emp[5], "offer_time": emp[6],
|
||||
})
|
||||
|
||||
db.commit()
|
||||
|
||||
Reference in New Issue
Block a user