relation/server/imserver/dbengine.h
aozhiwei bf91b066fc 1
2020-05-14 15:51:51 +08:00

47 lines
1.4 KiB
C++

#pragma once
#include "framework/cpp/dbpool.h"
class DBEngine : public a8::Singleton<DBEngine>
{
private:
DBEngine() {};
friend class a8::Singleton<DBEngine>;
public:
void Init();
void UnInit();
//执行异步并行查询
void ExecAsyncQuery(a8::XObject conn_info,
const char* querystr,
std::vector<a8::XValue> args,
a8::XParams param,
f8::AsyncDBOnOkFunc on_ok,
f8::AsyncDBOnErrorFunc on_error,
long long hash_code = 0);
//执行异步并行sql
void ExecAsyncScript(a8::XObject conn_info,
const char* querystr,
std::vector<a8::XValue> args,
a8::XParams param,
f8::AsyncDBOnOkFunc on_ok,
f8::AsyncDBOnErrorFunc on_error,
long long hash_code = 0);
a8::XObject GetConnInfo(const std::string& data);
a8::XObject GetConnInfo(long long data);
long long GetFriendApplyCurrIdx(long long crc32_code);
long long GetGroupApplyCurrIdx(long long crc32_code);
private:
void UpdateFriendApplyIdx(long long crc32_code, long long new_idx);
void UpdateGroupApplyIdx(long long crc32_code, long long new_idx);
private:
std::map<long long, long long> friend_apply_idx_hash_;
std::map<long long, long long> group_apply_idx_hash_;
};