Administrator
2023-12-18 4f768a335ab9f61e8b63d1e7bba88ea00a6c4315
output/code_info_output.py
@@ -312,6 +312,52 @@
    return params
# 获取开盘啦板块信息
def get_kpl_block_info(code):
    def format_plate_output(_plat):
        return _plat, ''
    ##############################开盘啦相关信息##################################
    industry = global_util.code_industry_map.get(code)
    kpl_code_info = {
        "industry": format_plate_output(industry)}
    # 获取开盘啦板块
    plate_info = None
    jingxuan_block_info = KPLCodeJXBlockManager().get_jx_blocks_cache(code)
    if not jingxuan_block_info:
        jingxuan_block_info = KPLCodeJXBlockManager().get_jx_blocks_cache(code, by=True)
    if jingxuan_block_info:
        jingxuan_blocks = jingxuan_block_info[0]
        plate_info = [(0, x, 0) for x in jingxuan_blocks]  # set([x[1] for x in jingxuan_blocks])
    if not plate_info:
        if code not in kpl_block_info_dict:
            plate_info = kpl_api.getStockIDPlate(code)
        else:
            plate_info = kpl_block_info_dict.get(code)
    if plate_info:
        kpl_block_info_dict[code] = plate_info
        plate_info.sort(key=lambda x: x[2])
        plate_info.reverse()
        kpl_code_info["plate"] = [(k[0], k[1], k[2], format_plate_output(k[1])[1]) for k in plate_info]
    code_records = KPLLimitUpDataRecordManager.get_latest_infos(code, 4, False)[:2]
    if code_records:
        code_records = [(format_plate_output(k[0]), k[1], [format_plate_output(k1) for k1 in k[2].split("、")]) for k in
                        code_records]
    kpl_code_info["code_records"] = code_records
    if not KPLLimitUpDataRecordManager.total_datas:
        KPLLimitUpDataRecordManager.load_total_datas()
    for d in KPLLimitUpDataRecordManager.total_datas:
        if d[3] == code:
            # 获取今日
            plates = d[6].split("、")
            plates = [format_plate_output(p) for p in plates]
            kpl_code_info["today"] = (format_plate_output(d[2]), d[1], plates)
            break
    return kpl_code_info
def __load_trade_record(code, total_datas):
    def format_l2_data(item):
        return f"{item['val']['time']}#{item['val']['num']}手#{round(item['val']['num'] * float(item['val']['price']) * 100 / 10000, 1)}万"