feat: 完全删除费用估算功能 (#81) (#96)

This commit is contained in:
Rock Chin
2023-01-10 14:54:50 +08:00
parent f884313d72
commit dfa8621a1a
8 changed files with 5 additions and 155 deletions

View File

@@ -50,15 +50,6 @@ class DatabaseManager:
)
""")
# self.execute("""
# create table if not exists `api_key_usage`(
# `id` INTEGER PRIMARY KEY AUTOINCREMENT,
# `key_md5` varchar(255) not null,
# `timestamp` bigint not null,
# `usage` bigint not null
# )
# """)
self.execute("""
create table if not exists `account_fee`(
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -281,45 +272,6 @@ class DatabaseManager:
usage[key_md5] = usage_count
return usage
def dump_api_key_fee(self, api_keys: dict, fee: dict):
logging.debug("dumping api key fee...")
logging.debug(api_keys)
logging.debug(fee)
for api_key in api_keys:
# 计算key的md5值
key_md5 = hashlib.md5(api_keys[api_key].encode('utf-8')).hexdigest()
# 获取使用量
fee_count = 0
if key_md5 in fee:
fee_count = fee[key_md5]
# 将使用量存进数据库
# 先检查是否已存在
self.execute("""
select count(*) from `account_fee` where `key_md5` = '{}'""".format(key_md5))
result = self.cursor.fetchone()
if result[0] == 0:
# 不存在则插入
self.execute("""
insert into `account_fee` (`key_md5`, `fee`,`timestamp`) values ('{}', {}, {})
""".format(key_md5, fee_count, int(time.time())))
else:
# 存在则更新timestamp设置为当前
self.execute("""
update `account_fee` set `fee` = {}, `timestamp` = {} where `key_md5` = '{}'
""".format(fee_count, int(time.time()), key_md5))
def load_api_key_fee(self):
self.execute("""
select `key_md5`, `fee` from `account_fee`
""")
results = self.cursor.fetchall()
fee = {}
for result in results:
key_md5 = result[0]
fee_count = result[1]
fee[key_md5] = fee_count
return fee
def dump_usage_json(self, usage: dict):
json_str = json.dumps(usage)
self.execute("""