Пример #1
0
def get_make_info(maker_list, cur, conn):
    for maker in maker_list:
        values = []
        count = 0
        data_str = helper.read_data_str(conf.TARGET['make'],
                                        {'stkaccout': maker[0]})
        data_json = json.loads(data_str[5:-1])
        total = data_json[0]['totalElements']
        total_page = data_json[0]['totalPages']
        for i in range(0, total_page):
            values.append({'page': i, 'stkaccout': maker[0]})
        for val in values:
            data_str = helper.read_data_str(conf.TARGET['make'], val)
            data_json = json.loads(data_str[5:-1])
            make_list_content = data_json[0]['content']
            for make in make_list_content:
                m_name, m_code = maker
                s_code = make['companyno']
                s_name = make['companyName']
                t_type = conf.TYPE_DICT[make['zrlx']]
                inserted_data = [m_name, m_code, s_code, s_name, t_type]
                run_insert(inserted_data, conf.INSERT_TEMPLATE['make'], cur,
                           "MAKE")
                count += 1
        if count == int(total):
            conn.commit()
        else:
            print(maker[0], "的做市数据读取失败")
Пример #2
0
def get_rec_info(maker_list, cur, conn):
    for maker in maker_list:
        values = []
        count = 0
        data_str = helper.read_data_str(conf.TARGET['recommend'],
                                        {'makerName': maker[0]})
        data_json = json.loads(data_str[5:-1])
        total = data_json[0]['totalElements']
        total_page = data_json[0]['totalPages']
        for i in range(0, total_page):
            values.append({'page': i, 'makerName': maker[0]})
        for val in values:
            data_str = helper.read_data_str(conf.TARGET['recommend'], val)
            data_json = json.loads(data_str[5:-1])
            rec_list_content = data_json[0]['content']
            for rec in rec_list_content:
                m_name, m_code = maker
                s_code = rec['companyno']
                s_name = rec['companyName']
                t_type = conf.TYPE_DICT[rec['zrlx']]
                gp = helper.get_formatted(rec['gprq'])
                inserted_data = [m_name, m_code, s_code, s_name, t_type, gp]
                run_insert(inserted_data, conf.INSERT_TEMPLATE['recommend'],
                           cur, "RECOMMEND")
                count += 1
        if count == int(total):
            conn.commit()
        else:
            print(maker[0], "的推荐数据读取失败")
Пример #3
0
def update_class(f_date, cur, conn):
    values = [
        {
            'publishDate': f_date,
            'xxfcbj': 0
        },
        {
            'publishDate': f_date,
            'xxfcbj': 1
        },
    ]
    for param in values:
        try:
            data_str = helper.read_data_str(conf.TARGET['tradingtips'], param)
        except:
            print('读取失败')
            continue
        data_json = json.loads(data_str[5:-1])
        for item in data_json:
            type_code = item['typecode']
            trading_list = item['tradingtipsList']
            if len(trading_list) > 0:
                for trading_item in trading_list:
                    comp_code = trading_item['companycode']
                    updated_data = [
                        param['xxfcbj'], comp_code, type_code, f_date
                    ]
                    run_update(updated_data, conf.UPDATE_RECORD_TEMPLATE, cur)
                    conn.commit()
Пример #4
0
def get_maker_info(conn, cur):
    maker_list = []
    count = 0
    values = []
    data_str = helper.read_data_str(conf.TARGET['maker'], {})
    data_json = json.loads(data_str[5:-1])
    total = data_json[0]['totalElements']
    total_page = data_json[0]['totalPages']

    for i in range(0, total_page):
        values.append({'page': i})

    for param in values:
        try:
            data_str = helper.read_data_str(conf.TARGET['maker'], param)
        except:
            print('读取失败')
            continue
        data_json = json.loads(data_str[5:-1])
        maker_list_content = data_json[0]['content']
        for maker in maker_list_content:
            count += 1
            m_name = maker['makername']
            m_code = maker['stkaccout']
            m_type = maker['makertype']
            rec_num = maker['recnum']
            maker_num = maker['makernum']
            inserted_data = [m_name, m_code, m_type, rec_num, maker_num]
            maker_list.append([m_name, m_code])
            run_insert(inserted_data, conf.INSERT_TEMPLATE['maker'], cur,
                       "MAKER")
    if count == int(total):
        conn.commit()
        get_rec_info(maker_list, cur, conn)
        get_make_info(maker_list, cur, conn)
    else:
        print("做市商信息读取出错...")
Пример #5
0
def get_trading_tips_info(argv, conn, cur):
    cur_date = helper.get_current_time()
    if argv and len(argv) == 3:
        date_list = helper.generate_date_list(argv[1], argv[2])
    else:
        date_list = [cur_date]

    for fetch_date in date_list:
        count = 0
        if not helper.check_log(fetch_date, cur, 1):
            param = {'publishDate': fetch_date}
            try:
                data_str = helper.read_data_str(conf.TARGET['tradingtips'],
                                                param)
            except SyntaxError:
                print('读取失败')
                continue
            data_json = json.loads(data_str[5:-1])
            for item in data_json:
                type_code, type_name = item['typecode'], item['typename']
                trading_list = item['tradingtipsList']
                if len(trading_list) > 0:
                    for trading_item in trading_list:
                        count += 1
                        comp_code = trading_item['companycode']
                        comp_name = trading_item['companyname']
                        inserted_data = [
                            type_code, type_name, comp_code, comp_name, 9,
                            fetch_date
                        ]
                        run_insert(inserted_data,
                                   conf.INSERT_TEMPLATE['record'], cur,
                                   "RECORD")
            conn.commit
            update_class(fetch_date, cur, conn)
            is_success = helper.check_count('RECORD', count, fetch_date, cur)
            if is_success:
                print('{} 的数据已读取完毕 共{}条 \n'.format(fetch_date, count))
            inserted_data = ['1', str(is_success), fetch_date]
            run_insert(inserted_data, conf.INSERT_TEMPLATE['syslog'], cur,
                       'SYSLOG')
            conn.commit()
Пример #6
0
def get_stat_info(argv):
    yesterday = helper.get_yesterday()

    if argv and len(argv) == 3:
        date_list = helper.generate_date_list(argv[1], argv[2])
    else:
        date_list = [yesterday]

    for fetch_date in date_list:
        param_date = helper.get_plain(fetch_date)
        param = {'HQJSRQ': param_date}
        count = 0
        if not helper.check_log(fetch_date, cursor, 2):
            cnx.commit()
            data_str = helper.read_data_str(conf.TARGET['stat'], param)
            data_json = json.loads(data_str[5:-1])
            for item in data_json:
                type_name = conf.TYPE_DICT[item['xxzrlx']]
                gpgsjs = item['gpgsjs']
                drxzjs = item['drxzjs']
                xxzgb = round(float(item['xxzgb']) / 100000000, 2)
                xxfxsgb = round(float(item['xxfxsgb']) / 100000000, 2)
                hqcjzs = item['hqcjzs']
                hqcjje = round(float(item['hqcjje']) / 10000, 2)
                hqcjsl = round(float(item['hqcjsl']) / 10000, 2)
                inserted_data = [
                    type_name, gpgsjs, drxzjs, xxzgb, xxfxsgb, hqcjzs, hqcjje,
                    hqcjsl, fetch_date
                ]
                run_insert(inserted_data, conf.INSERT_TEMPLATE['stat'], cursor,
                           'STAT')
                count += 1
            is_success = helper.check_count('STAT', count, fetch_date, cursor)
            if is_success:
                print("{} 的数据已读取完毕 共{}条 \n".format(fetch_date, count))
            inserted_data = ["2", str(is_success), fetch_date]
            run_insert(inserted_data, conf.INSERT_TEMPLATE['syslog'], cursor,
                       'SYSLOG')
            cnx.commit()
        cnx.commit()