account.h 1.24 KB
#pragma once

#include <libmysql_table_route10x10.h>
#include <common.h>
#include <db.pb.h>

class account_t : public el::lib_mysql_table_route1x1
{
public:
	account_t(el::lib_mysql_if* db);
	int create_account(uint32_t platform, const std::string& account_name);	
	int check_pltform_account_existed(uint32_t platform, const std::string& account_name,
		USER_ID& uid);
	uint32_t get_uid_by_account(uint32_t platform, const std::string& account, USER_ID& uid);

	int create_wx_account(uint32_t platform, const std::string& wx_unionid, const std::string& wx_nick, const std::string& account);
	int update_wx_account(uint32_t platform, USER_ID uid, const std::string& wx_unionid, const std::string& wx_nick);
	int check_pltform_wx_unionid_existed( uint32_t platform, 
		const std::string& wx_unionid,
		USER_ID& uid);

	int change_nick(USER_ID uid, const std::string& nick);

	uint32_t update_uid_nick(uint32_t platform, const std::string& account, USER_ID uid, const std::string& nick);

	int load( USER_ID uid, std::string& nick );
	int check_uid_existed(USER_ID uid);

	int load_account( USER_ID uid, std::string& account );
	uint32_t gen_gateway_id(uint32_t platform, std::string account, uint32_t gateway_cnt);

	int get_random( db_msg::random_friend_msg_res* out );
};