62 lines
1.3 KiB
Python
62 lines
1.3 KiB
Python
import sqlite3
|
|
import json
|
|
import time
|
|
from config import DB_PATH
|
|
|
|
|
|
def get_student_by_token(token: str):
|
|
conn = sqlite3.connect(DB_PATH)
|
|
cur = conn.cursor()
|
|
|
|
cur.execute(
|
|
"SELECT raw_json FROM student WHERE token = ?",
|
|
(token,),
|
|
)
|
|
row = cur.fetchone()
|
|
conn.close()
|
|
|
|
if not row:
|
|
return None
|
|
|
|
return json.loads(row[0])
|
|
|
|
|
|
def save_student(token: str, student: dict):
|
|
conn = sqlite3.connect(DB_PATH)
|
|
cur = conn.cursor()
|
|
|
|
cur.execute(
|
|
"""
|
|
INSERT OR REPLACE INTO student (
|
|
token,
|
|
student_id,
|
|
student_number,
|
|
student_name,
|
|
student_sex,
|
|
dept_name,
|
|
college_name,
|
|
professional_name,
|
|
school_name,
|
|
raw_json,
|
|
updated_at
|
|
)
|
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
""",
|
|
(
|
|
token,
|
|
student.get("id"),
|
|
student.get("studentNumber"),
|
|
student.get("studentName"),
|
|
student.get("studentSex"),
|
|
student.get("deptName"),
|
|
student.get("collegeName"),
|
|
student.get("professionalName"),
|
|
student.get("schoolName"),
|
|
json.dumps(student, ensure_ascii=False),
|
|
int(time.time()),
|
|
),
|
|
)
|
|
|
|
conn.commit()
|
|
conn.close()
|