"""
|
竞价金额管理
|
"""
|
import json
|
|
from db.redis_manager_delegate import RedisUtils
|
from utils import tool
|
from db import redis_manager_delegate as redis_manager
|
|
__redisManager = redis_manager.RedisManager(2)
|
|
|
def __get_redis():
|
return __redisManager.getRedis()
|
|
|
# 设置竞价资金
|
# 数据格式[(代码,金额)]
|
def set_bidding_money(datas):
|
money_list = []
|
for data in datas:
|
money = 0
|
if data[1].find('亿') > -1:
|
money = round(float(data[1][:-1]) * 10000)
|
else:
|
money = int(data[1][:-1])
|
money_list.append((data[0], money))
|
RedisUtils.setex(__get_redis(),"bidding_money", tool.get_expire(), json.dumps(money_list))
|
|
|
# 获取竞价金额
|
def get_bidding_money(code) -> object:
|
val = RedisUtils.get(__get_redis(), "bidding_money")
|
if not val:
|
return None
|
vals = json.loads(val)
|
for v in vals:
|
if v[0] == code:
|
return v[1]
|
return None
|
|
|
bidding_money_cache = {}
|
|
|
# 设置缓存(缓存到内存中)
|
def get_bidding_money_cache(code):
|
if code in bidding_money_cache:
|
return bidding_money_cache[code]
|
else:
|
bm = get_bidding_money(code)
|
bidding_money_cache[code] = bm
|
|
|
if __name__ == "__main__":
|
# datas = [('002229', '10.92亿'), ('000977', '2592万'), ('000829', '2294万'), ('002467', '1869万'), ('002217', '1546万')]
|
# set_bidding_money(datas)
|
print(get_bidding_money("000977"))
|