日常更新

from NUC
This commit is contained in:
liubiren 2025-12-16 13:15:58 +08:00
parent e0e234e2cf
commit 1f0be4f198
3 changed files with 89 additions and 8 deletions

View File

@ -411,10 +411,22 @@ class HTTPClient:
try:
with self:
self._execute(
sql="""CREATE TABLE IF NOT EXISTS caches (guid TEXT PRIMARY KEY, cache TEXT NOT NULL, timestamp REAL NOT NULL)"""
sql="""
CREATE TABLE IF NOT EXISTS caches
(
--缓存唯一标识
guid TEXT PRIMARY KEY,
--缓存JSON序列化
cache TEXT NOT NULL,
--缓存时间
timestamp REAL NOT NULL
)
"""
)
self._execute(
sql="""CREATE INDEX IF NOT EXISTS idx_timestamp ON caches(timestamp)"""
sql="""
CREATE INDEX IF NOT EXISTS idx_timestamp ON caches(timestamp)
"""
)
except Exception as exception:
raise RuntimeError(
@ -432,7 +444,11 @@ class HTTPClient:
try:
with self:
result = self._query_one(
sql="SELECT cache FROM caches WHERE guid = ? AND timestamp >= ?",
sql="""
SELECT cache
FROM caches
WHERE guid = ? AND timestamp >= ?
""",
parameters=(guid, time.time() - self.cache_ttl),
)
return (
@ -453,7 +469,9 @@ class HTTPClient:
try:
with self:
return self._execute(
sql="INSERT OR REPLACE INTO caches (guid, cache, timestamp) VALUES (?, ?, ?)",
sql="""
INSERT OR REPLACE INTO caches (guid, cache, timestamp) VALUES (?, ?, ?)
""",
parameters=(
guid,
json.dumps(cache, ensure_ascii=False),

Binary file not shown.

View File

@ -282,12 +282,75 @@ if __name__ == "__main__":
# 初始化SQLite客户端
super().__init__(database="SQLite.db")
# 初始化购药及就医机构表
try:
with self:
# 初始化购药及就医机构表
self._execute(
sql="""CREATE TABLE IF NOT EXISTS institutions (institution TEXT PRIMARY KEY, type TEXT NOT NULL, province TEXT NOT NULL, city TEXT NOT NULL)"""
sql="""
CREATE TABLE IF NOT EXISTS institutions
(
--购药及就医机构
institution TEXT PRIMARY KEY,
--购药及就医机构类型
institution_type TEXT NOT NULL,
--所在省
province TEXT NOT NULL,
--所在市
city TEXT NOT NULL
)
"""
)
# 初始化团单表
self._execute(
sql="""
CREATE TABLE IF NOT EXISTS group_policies
(
--团单号一张团单包括多张个单
group_policy TEXT NOT NULL,
--投保公司
insurance_company TEXT NOT NULL,
--保险分公司
insurer_company TEXT NOT NULL,
--团单有效起期
from_date REAL NOT NULL,
--团单有效止期
to_date REAL NOT NULL,
--联合主键团单号+投保公司+保险分公司
PRIMARY KEY (group_policy, insurance_company, insurer_company)
)
"""
)
# 初始化个单表
self._execute(
sql="""
CREATE TABLE IF NOT EXISTS person_policies
(
group_policy TEXT NOT NULL,
person_policy TEXT NOT NULL,
from_date REAL NOT NULL,
to_date REAL NOT NULL,
PRIMARY KEY (person_policy, group_policy)
)
"""
)
# 初始化被保人表
self._execute(
sql="""
CREATE TABLE IF NOT EXISTS insured_persons
(
insured_person TEXT NOT NULL,
identity_type TEXT NOT NULL,
identity_number TEXT NOT NULL,
relationship TEXT NOT NULL,
person_policy TEXT NOT NULL,
PRIMARY KEY (person_policy, insured_person, identity_type, identity_number)
)
"""
)
except Exception as exception:
raise RuntimeError(
f"初始化数据库发生异常:{str(exception)}"
@ -305,11 +368,11 @@ if __name__ == "__main__":
with self:
# noinspection SqlResolve
result = self._query_one(
sql="SELECT type FROM institutions WHERE institution = ?",
sql="SELECT institution_type FROM institutions WHERE institution = ?",
parameters=(institution,),
)
return (
None if result is None else result["type"]
None if result is None else result["institution_type"]
) # 返回购药及就医机构类型
except Exception as exception:
raise RuntimeError(