parent
e0e234e2cf
commit
1f0be4f198
|
|
@ -411,10 +411,22 @@ class HTTPClient:
|
||||||
try:
|
try:
|
||||||
with self:
|
with self:
|
||||||
self._execute(
|
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(
|
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:
|
except Exception as exception:
|
||||||
raise RuntimeError(
|
raise RuntimeError(
|
||||||
|
|
@ -432,7 +444,11 @@ class HTTPClient:
|
||||||
try:
|
try:
|
||||||
with self:
|
with self:
|
||||||
result = self._query_one(
|
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),
|
parameters=(guid, time.time() - self.cache_ttl),
|
||||||
)
|
)
|
||||||
return (
|
return (
|
||||||
|
|
@ -453,7 +469,9 @@ class HTTPClient:
|
||||||
try:
|
try:
|
||||||
with self:
|
with self:
|
||||||
return self._execute(
|
return self._execute(
|
||||||
sql="INSERT OR REPLACE INTO caches (guid, cache, timestamp) VALUES (?, ?, ?)",
|
sql="""
|
||||||
|
INSERT OR REPLACE INTO caches (guid, cache, timestamp) VALUES (?, ?, ?)
|
||||||
|
""",
|
||||||
parameters=(
|
parameters=(
|
||||||
guid,
|
guid,
|
||||||
json.dumps(cache, ensure_ascii=False),
|
json.dumps(cache, ensure_ascii=False),
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -282,12 +282,75 @@ if __name__ == "__main__":
|
||||||
# 初始化SQLite客户端
|
# 初始化SQLite客户端
|
||||||
super().__init__(database="SQLite.db")
|
super().__init__(database="SQLite.db")
|
||||||
|
|
||||||
# 初始化购药及就医机构表
|
|
||||||
try:
|
try:
|
||||||
with self:
|
with self:
|
||||||
|
# 初始化购药及就医机构表
|
||||||
self._execute(
|
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:
|
except Exception as exception:
|
||||||
raise RuntimeError(
|
raise RuntimeError(
|
||||||
f"初始化数据库发生异常:{str(exception)}"
|
f"初始化数据库发生异常:{str(exception)}"
|
||||||
|
|
@ -305,11 +368,11 @@ if __name__ == "__main__":
|
||||||
with self:
|
with self:
|
||||||
# noinspection SqlResolve
|
# noinspection SqlResolve
|
||||||
result = self._query_one(
|
result = self._query_one(
|
||||||
sql="SELECT type FROM institutions WHERE institution = ?",
|
sql="SELECT institution_type FROM institutions WHERE institution = ?",
|
||||||
parameters=(institution,),
|
parameters=(institution,),
|
||||||
)
|
)
|
||||||
return (
|
return (
|
||||||
None if result is None else result["type"]
|
None if result is None else result["institution_type"]
|
||||||
) # 返回购药及就医机构类型
|
) # 返回购药及就医机构类型
|
||||||
except Exception as exception:
|
except Exception as exception:
|
||||||
raise RuntimeError(
|
raise RuntimeError(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue