parent
e0e234e2cf
commit
1f0be4f198
|
|
@ -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.
|
|
@ -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(
|
||||
|
|
|
|||
Loading…
Reference in New Issue