# 读取配置 from lib.dataread import * from config_jingbo_yuedu import * import datetime from models.nerulforcastmodels import yuanyou_bdwd_png global_config.update({ # 核心参数 'logger': logger, 'dataset': dataset, 'y': y, # 'offsite_col': offsite_col, # 'avg_cols': avg_cols, # 'offsite': offsite, 'edbcodenamedict': edbcodenamedict, 'is_debug': is_debug, 'is_train': is_train, 'is_fivemodels': is_fivemodels, 'is_update_report': is_update_report, 'settings': settings, 'bdwdname': bdwdname, 'columnsrename': columnsrename, 'price_columns': price_columns, # 模型参数 'data_set': data_set, 'input_size': input_size, 'horizon': horizon, 'train_steps': train_steps, 'val_check_steps': val_check_steps, 'val_size': val_size, 'test_size': test_size, 'modelsindex': modelsindex, 'rote': rote, 'bdwd_items': bdwd_items, # 特征工程开关 'is_del_corr': is_del_corr, 'is_del_tow_month': is_del_tow_month, 'is_eta': is_eta, 'is_update_eta': is_update_eta, 'is_fivemodels': is_fivemodels, 'is_update_predict_value': is_update_predict_value, 'early_stop_patience_steps': early_stop_patience_steps, # 时间参数 'start_year': start_year, 'end_time': end_time or datetime.datetime.now().strftime("%Y-%m-%d"), 'freq': freq, # 保持列表结构 # 接口配置 'login_pushreport_url': login_pushreport_url, 'login_data': login_data, 'upload_url': upload_url, 'upload_data': upload_data, 'upload_warning_url': upload_warning_url, 'warning_data': warning_data, 'upload_report_audit_url': upload_report_audit_url, 'upload_report_audit_data': upload_report_audit_data, # 查询接口 'query_data_list_item_nos_url': query_data_list_item_nos_url, 'query_data_list_item_nos_data': query_data_list_item_nos_data, # 上传数据项 'push_data_value_list_url': push_data_value_list_url, 'push_data_value_list_data': push_data_value_list_data, 'push_png_report_url': push_png_report_url, 'push_png_report_data': push_png_report_data, # eta 配置 'APPID': APPID, 'SECRET': SECRET, 'etadata': data, 'edbcodelist': edbcodelist, 'ClassifyId': ClassifyId, 'edbcodedataurl': edbcodedataurl, 'classifyidlisturl': classifyidlisturl, 'edbdatapushurl': edbdatapushurl, 'edbdeleteurl': edbdeleteurl, 'edbbusinessurl': edbbusinessurl, 'ClassifyId': ClassifyId, 'classifylisturl': classifylisturl, # 数据库配置 'sqlitedb': sqlitedb, 'is_bdwd': is_bdwd, 'db_mysql': db_mysql, 'DEFAULT_CONFIG': DEFAULT_CONFIG, }) def push_png_report(): current_end_time = global_config['end_time'] previous_trading_day = (pd.Timestamp(current_end_time) - pd.tseries.offsets.BusinessDay(1)).strftime('%Y-%m-%d') png_report_files = ['yuanyou_zhouducorrelation.png', 'yuanyou_yueducorrelation.png'] for png_report_file in png_report_files: logger.info(f'发送图片{png_report_file}到钉钉工作组') try: with open(os.path.join(global_config['dataset'], 'Brent原油大模型日度预测--2025-10-15.pdf'), 'rb') as f: pdf_base64_data = base64.b64encode(f.read()).decode('utf-8') with open(os.path.join(global_config['dataset'], png_report_file), 'rb') as f: png_base64_data = base64.b64encode(f.read()).decode('utf-8') ### 直接推送报告 # config.upload_data["data"]["fileBase64"] = base64_data # data = global_config['push_png_report_data'] # data['data']['fileBase64'] = base64_data # data['data']['billNo'] = str(time.time()) ### 报告需审核后推送 config.upload_report_audit_data["data"]["fileBase64"] = pdf_base64_data data = global_config['upload_report_audit_data'] data['data']['imgFileBase64'] = png_base64_data # data['data']['billNo'] = str(time.time()) # if png_report_file == 'yuanyou_zhouducorrelation.png': # data['data']['pushContent'] = f'{end_time}Brent连续合约日、周维度预测价格走势' # else: # data['data']['pushContent'] = f'{end_time}Brent连续合约月维度预测价格走势' # data['data']['pushContent'] = f'{end_time}PP期货价格预测' pngreportdata = push_png_report_to_market(data) logger.info(f'{png_report_file}推送图片报告到钉钉成功{pngreportdata}') except Exception as e: logger.error(f'{png_report_file}推送图片报告到钉钉失败:{e}') if __name__ == '__main__': # 图片报告 try: logger.info('图片报告ing') global_config['end_time'] = '2025-10-14' # previous_trading_day = (pd.Timestamp(global_config['end_time']) - # pd.tseries.offsets.BusinessDay(1)).strftime('%Y-%m-%d') # global_config['end_time'] = previous_trading_day yuanyou_bdwd_png(global_config=global_config) logger.info('图片报告end') except Exception as e: logger.info(f'图片报告失败:{e}') time.sleep(5) push_png_report()