smtp 合并到 MS 中

添加好友 取好友列表 略有修改
接下再来 要该包类型宏  备份一下
This commit is contained in:
2023-05-16 17:12:05 +08:00
parent 8fa47d103c
commit f66340dcc0
20 changed files with 319 additions and 81 deletions

View File

@@ -61,27 +61,28 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] =
const char descriptor_table_protodef_mp_2emph_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = const char descriptor_table_protodef_mp_2emph_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
"\n\014mp.mph.proto\022\002mp\"b\n\003mph\022\020\n\010mpb_size\030\001 " "\n\014mp.mph.proto\022\002mp\"b\n\003mph\022\020\n\010mpb_size\030\001 "
"\001(\r\022\r\n\005mp_id\030\002 \001(\004\022\016\n\006mp_sum\030\003 \001(\r\022\034\n\007mp" "\001(\r\022\r\n\005mp_id\030\002 \001(\004\022\016\n\006mp_sum\030\003 \001(\r\022\034\n\007mp"
"_type\030\004 \001(\0162\013.mp.MP_TYPE\022\014\n\004path\030\005 \001(\t*\370" "_type\030\004 \001(\0162\013.mp.MP_TYPE\022\014\n\004path\030\005 \001(\t*\263"
"\001\n\007MP_TYPE\022\024\n\020MP_REQUEST_LOGIN\020\000\022\025\n\021MP_R" "\002\n\007MP_TYPE\022\024\n\020MP_REQUEST_LOGIN\020\000\022\025\n\021MP_R"
"EQUEST_LOGOUT\020\001\022\027\n\023MP_REQUEST_REGISTER\020\002" "EQUEST_LOGOUT\020\001\022\027\n\023MP_REQUEST_REGISTER\020\002"
"\022\025\n\021MP_RESPONSE_LOGIN\020\024\022\026\n\022MP_RESPONSE_L" "\022\033\n\027MP_REQUEST_USER_FRIENDS\020\003\022\025\n\021MP_RESP"
"OGOUT\020\025\022\030\n\024MP_RESPONSE_REGISTER\020\026\022\026\n\022MP_" "ONSE_LOGIN\020\024\022\026\n\022MP_RESPONSE_LOGOUT\020\025\022\030\n\024"
"REQUEST_PE_CODE\020(\022\027\n\023MP_RESPONSE_PE_CODE" "MP_RESPONSE_REGISTER\020\026\022\034\n\030MP_RESPONSE_US"
"\020<\022\025\n\021MP_REQUEST_IM_ADD\020d\022\026\n\022MP_RESPONSE" "ER_FRIENDS\020\027\022\026\n\022MP_REQUEST_PE_CODE\020(\022\027\n\023"
"_IM_ADD\020x*\204\004\n\013MP_SUB_TYPE\022\032\n\026MP_REQUEST_" "MP_RESPONSE_PE_CODE\020<\022\025\n\021MP_REQUEST_IM_A"
"LOGIN_EMAIL\020\000\022\032\n\026MP_REQUEST_LOGIN_PHONE\020" "DD\020d\022\026\n\022MP_RESPONSE_IM_ADD\020x*\204\004\n\013MP_SUB_"
"\001\022\034\n\030MP_REQUEST_LOGIN_ACCOUNT\020\002\022\035\n\031MP_RE" "TYPE\022\032\n\026MP_REQUEST_LOGIN_EMAIL\020\000\022\032\n\026MP_R"
"QUEST_REGISTER_EMAIL\020\003\022\035\n\031MP_REQUEST_REG" "EQUEST_LOGIN_PHONE\020\001\022\034\n\030MP_REQUEST_LOGIN"
"ISTER_PHONE\020\004\022\034\n\030MP_REQUEST_PE_CODE_EMAI" "_ACCOUNT\020\002\022\035\n\031MP_REQUEST_REGISTER_EMAIL\020"
"L\020\005\022\035\n\031MP_RESPONSE_PE_CODE_EMAIL\020\006\022\034\n\030MP" "\003\022\035\n\031MP_REQUEST_REGISTER_PHONE\020\004\022\034\n\030MP_R"
"_REQUEST_PE_CODE_PHONE\020\007\022\035\n\031MP_RESPONSE_" "EQUEST_PE_CODE_EMAIL\020\005\022\035\n\031MP_RESPONSE_PE"
"PE_CODE_PHONE\020\010\022!\n\035MP_REQUEST_ADD_CONTAC" "_CODE_EMAIL\020\006\022\034\n\030MP_REQUEST_PE_CODE_PHON"
"T_PERSON\020\024\022$\n MP_REQUEST_REMOVE_CONTACT_" "E\020\007\022\035\n\031MP_RESPONSE_PE_CODE_PHONE\020\010\022!\n\035MP"
"PERSON\020\025\022(\n$MP_REQUEST_BLACK_LIST_CONTAC" "_REQUEST_ADD_CONTACT_PERSON\020\024\022$\n MP_REQU"
"T_PERSON\020\026\022\"\n\036MP_RESPONSE_ADD_CONTACT_PE" "EST_REMOVE_CONTACT_PERSON\020\025\022(\n$MP_REQUES"
"RSON\020(\022%\n!MP_RESPONSE_REMOVE_CONTACT_PER" "T_BLACK_LIST_CONTACT_PERSON\020\026\022\"\n\036MP_RESP"
"SON\020)\022)\n%MP_RESPONSE_BLACK_LIST_CONTACT_" "ONSE_ADD_CONTACT_PERSON\020(\022%\n!MP_RESPONSE"
"PERSON\020*b\006proto3" "_REMOVE_CONTACT_PERSON\020)\022)\n%MP_RESPONSE_"
"BLACK_LIST_CONTACT_PERSON\020*b\006proto3"
; ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_mp_2emph_2eproto_deps[1] = { static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_mp_2emph_2eproto_deps[1] = {
}; };
@@ -90,7 +91,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mp_
}; };
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_mp_2emph_2eproto_once; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_mp_2emph_2eproto_once;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mp_2emph_2eproto = { const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mp_2emph_2eproto = {
false, false, descriptor_table_protodef_mp_2emph_2eproto, "mp.mph.proto", 896, false, false, descriptor_table_protodef_mp_2emph_2eproto, "mp.mph.proto", 955,
&descriptor_table_mp_2emph_2eproto_once, descriptor_table_mp_2emph_2eproto_sccs, descriptor_table_mp_2emph_2eproto_deps, 1, 0, &descriptor_table_mp_2emph_2eproto_once, descriptor_table_mp_2emph_2eproto_sccs, descriptor_table_mp_2emph_2eproto_deps, 1, 0,
schemas, file_default_instances, TableStruct_mp_2emph_2eproto::offsets, schemas, file_default_instances, TableStruct_mp_2emph_2eproto::offsets,
file_level_metadata_mp_2emph_2eproto, 1, file_level_enum_descriptors_mp_2emph_2eproto, file_level_service_descriptors_mp_2emph_2eproto, file_level_metadata_mp_2emph_2eproto, 1, file_level_enum_descriptors_mp_2emph_2eproto, file_level_service_descriptors_mp_2emph_2eproto,
@@ -108,9 +109,11 @@ bool MP_TYPE_IsValid(int value) {
case 0: case 0:
case 1: case 1:
case 2: case 2:
case 3:
case 20: case 20:
case 21: case 21:
case 22: case 22:
case 23:
case 40: case 40:
case 60: case 60:
case 100: case 100:

View File

@@ -69,9 +69,11 @@ enum MP_TYPE : int {
MP_REQUEST_LOGIN = 0, MP_REQUEST_LOGIN = 0,
MP_REQUEST_LOGOUT = 1, MP_REQUEST_LOGOUT = 1,
MP_REQUEST_REGISTER = 2, MP_REQUEST_REGISTER = 2,
MP_REQUEST_USER_FRIENDS = 3,
MP_RESPONSE_LOGIN = 20, MP_RESPONSE_LOGIN = 20,
MP_RESPONSE_LOGOUT = 21, MP_RESPONSE_LOGOUT = 21,
MP_RESPONSE_REGISTER = 22, MP_RESPONSE_REGISTER = 22,
MP_RESPONSE_USER_FRIENDS = 23,
MP_REQUEST_PE_CODE = 40, MP_REQUEST_PE_CODE = 40,
MP_RESPONSE_PE_CODE = 60, MP_RESPONSE_PE_CODE = 60,
MP_REQUEST_IM_ADD = 100, MP_REQUEST_IM_ADD = 100,

View File

@@ -51,6 +51,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_mp_2esri_2eproto::offsets[] PR
PROTOBUF_FIELD_OFFSET(::mp::sri, sri_phone_), PROTOBUF_FIELD_OFFSET(::mp::sri, sri_phone_),
PROTOBUF_FIELD_OFFSET(::mp::sri, sri_msg_), PROTOBUF_FIELD_OFFSET(::mp::sri, sri_msg_),
PROTOBUF_FIELD_OFFSET(::mp::sri, sri_token_), PROTOBUF_FIELD_OFFSET(::mp::sri, sri_token_),
PROTOBUF_FIELD_OFFSET(::mp::sri, data_),
}; };
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
{ 0, -1, sizeof(::mp::sri)}, { 0, -1, sizeof(::mp::sri)},
@@ -61,23 +62,24 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] =
}; };
const char descriptor_table_protodef_mp_2esri_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = const char descriptor_table_protodef_mp_2esri_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
"\n\014mp.sri.proto\022\002mp\"\230\001\n\003sri\022\034\n\010sri_code\030\001" "\n\014mp.sri.proto\022\002mp\"\246\001\n\003sri\022\034\n\010sri_code\030\001"
" \001(\0162\n.mp.MP_SRI\022\024\n\014sri_username\030\002 \001(\t\022\023" " \001(\0162\n.mp.MP_SRI\022\024\n\014sri_username\030\002 \001(\t\022\023"
"\n\013sri_account\030\003 \001(\004\022\021\n\tsri_email\030\004 \001(\t\022\021" "\n\013sri_account\030\003 \001(\004\022\021\n\tsri_email\030\004 \001(\t\022\021"
"\n\tsri_phone\030\005 \001(\004\022\017\n\007sri_msg\030\006 \001(\t\022\021\n\tsr" "\n\tsri_phone\030\005 \001(\004\022\017\n\007sri_msg\030\006 \001(\t\022\021\n\tsr"
"i_token\030\007 \001(\t*\360\003\n\006MP_SRI\022\030\n\024MP_LOGIN_ACC" "i_token\030\007 \001(\t\022\014\n\004data\030\010 \001(\t*\360\003\n\006MP_SRI\022\030"
"OUNT_NOT\020\000\022\024\n\020MP_LOGIN_SUCCESS\020\001\022\021\n\rMP_L" "\n\024MP_LOGIN_ACCOUNT_NOT\020\000\022\024\n\020MP_LOGIN_SUC"
"OGIN_FAIL\020\002\022\027\n\023MP_REGISTER_SUCCESS\020\n\022\035\n\031" "CESS\020\001\022\021\n\rMP_LOGIN_FAIL\020\002\022\027\n\023MP_REGISTER"
"MP_REGISTER_SUCCESS_PHONE\020\013\022\035\n\031MP_REGIST" "_SUCCESS\020\n\022\035\n\031MP_REGISTER_SUCCESS_PHONE\020"
"ER_SUCCESS_EMAIL\020\014\022\025\n\021MP_REGISTER_EXIST\020" "\013\022\035\n\031MP_REGISTER_SUCCESS_EMAIL\020\014\022\025\n\021MP_R"
"\r\022\027\n\023MP_REGISTER_SQL_ERR\020\016\022\025\n\021MP_LOGOUT_" "EGISTER_EXIST\020\r\022\027\n\023MP_REGISTER_SQL_ERR\020\016"
"SUCCESS\020\024\022\022\n\016MP_LOGOUT_FAIL\020\025\022\022\n\016MP_ADD_" "\022\025\n\021MP_LOGOUT_SUCCESS\020\024\022\022\n\016MP_LOGOUT_FAI"
"FRIENDS\020\036\022\024\n\020MP_ADD_FRIENDS_0\020\037\022\024\n\020MP_AD" "L\020\025\022\022\n\016MP_ADD_FRIENDS\020\036\022\024\n\020MP_ADD_FRIEND"
"D_FRIENDS_1\020 \022\024\n\020MP_ADD_FRIENDS_2\020!\022\026\n\022M" "S_0\020\037\022\024\n\020MP_ADD_FRIENDS_1\020 \022\024\n\020MP_ADD_FR"
"P_ADD_FRIENDS_ERR\020\"\022\033\n\027MP_ADD_FRIENDS_NO" "IENDS_2\020!\022\026\n\022MP_ADD_FRIENDS_ERR\020\"\022\033\n\027MP_"
"T_TYPE\020#\022\032\n\026MP_ADD_FRIENDS_SQL_ERR\020$\022\035\n\031" "ADD_FRIENDS_NOT_TYPE\020#\022\032\n\026MP_ADD_FRIENDS"
"MP_ADD_FRIENDS_ANSWER_ERR\020%\022\026\n\022MP_PE_COD" "_SQL_ERR\020$\022\035\n\031MP_ADD_FRIENDS_ANSWER_ERR\020"
"E_SUCCESS\0202\022\023\n\017MP_PE_CODE_FAIL\0203b\006proto3" "%\022\026\n\022MP_PE_CODE_SUCCESS\0202\022\023\n\017MP_PE_CODE_"
"FAIL\0203b\006proto3"
; ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_mp_2esri_2eproto_deps[1] = { static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_mp_2esri_2eproto_deps[1] = {
}; };
@@ -86,7 +88,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mp_
}; };
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_mp_2esri_2eproto_once; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_mp_2esri_2eproto_once;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mp_2esri_2eproto = { const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mp_2esri_2eproto = {
false, false, descriptor_table_protodef_mp_2esri_2eproto, "mp.sri.proto", 680, false, false, descriptor_table_protodef_mp_2esri_2eproto, "mp.sri.proto", 694,
&descriptor_table_mp_2esri_2eproto_once, descriptor_table_mp_2esri_2eproto_sccs, descriptor_table_mp_2esri_2eproto_deps, 1, 0, &descriptor_table_mp_2esri_2eproto_once, descriptor_table_mp_2esri_2eproto_sccs, descriptor_table_mp_2esri_2eproto_deps, 1, 0,
schemas, file_default_instances, TableStruct_mp_2esri_2eproto::offsets, schemas, file_default_instances, TableStruct_mp_2esri_2eproto::offsets,
file_level_metadata_mp_2esri_2eproto, 1, file_level_enum_descriptors_mp_2esri_2eproto, file_level_service_descriptors_mp_2esri_2eproto, file_level_metadata_mp_2esri_2eproto, 1, file_level_enum_descriptors_mp_2esri_2eproto, file_level_service_descriptors_mp_2esri_2eproto,
@@ -165,6 +167,11 @@ sri::sri(const sri& from)
sri_token_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_sri_token(), sri_token_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_sri_token(),
GetArena()); GetArena());
} }
data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
if (!from._internal_data().empty()) {
data_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_data(),
GetArena());
}
::memcpy(&sri_account_, &from.sri_account_, ::memcpy(&sri_account_, &from.sri_account_,
static_cast<size_t>(reinterpret_cast<char*>(&sri_code_) - static_cast<size_t>(reinterpret_cast<char*>(&sri_code_) -
reinterpret_cast<char*>(&sri_account_)) + sizeof(sri_code_)); reinterpret_cast<char*>(&sri_account_)) + sizeof(sri_code_));
@@ -177,6 +184,7 @@ void sri::SharedCtor() {
sri_email_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); sri_email_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
sri_msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); sri_msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
sri_token_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); sri_token_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
::memset(&sri_account_, 0, static_cast<size_t>( ::memset(&sri_account_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&sri_code_) - reinterpret_cast<char*>(&sri_code_) -
reinterpret_cast<char*>(&sri_account_)) + sizeof(sri_code_)); reinterpret_cast<char*>(&sri_account_)) + sizeof(sri_code_));
@@ -194,6 +202,7 @@ void sri::SharedDtor() {
sri_email_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); sri_email_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
sri_msg_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); sri_msg_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
sri_token_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); sri_token_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
data_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
} }
void sri::ArenaDtor(void* object) { void sri::ArenaDtor(void* object) {
@@ -221,6 +230,7 @@ void sri::Clear() {
sri_email_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); sri_email_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
sri_msg_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); sri_msg_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
sri_token_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); sri_token_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
data_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
::memset(&sri_account_, 0, static_cast<size_t>( ::memset(&sri_account_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&sri_code_) - reinterpret_cast<char*>(&sri_code_) -
reinterpret_cast<char*>(&sri_account_)) + sizeof(sri_code_)); reinterpret_cast<char*>(&sri_account_)) + sizeof(sri_code_));
@@ -293,6 +303,15 @@ const char* sri::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::intern
CHK_(ptr); CHK_(ptr);
} else goto handle_unusual; } else goto handle_unusual;
continue; continue;
// string data = 8;
case 8:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
auto str = _internal_mutable_data();
ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "mp.sri.data"));
CHK_(ptr);
} else goto handle_unusual;
continue;
default: { default: {
handle_unusual: handle_unusual:
if ((tag & 7) == 4 || tag == 0) { if ((tag & 7) == 4 || tag == 0) {
@@ -380,6 +399,16 @@ failure:
7, this->_internal_sri_token(), target); 7, this->_internal_sri_token(), target);
} }
// string data = 8;
if (this->data().size() > 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
this->_internal_data().data(), static_cast<int>(this->_internal_data().length()),
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
"mp.sri.data");
target = stream->WriteStringMaybeAliased(
8, this->_internal_data(), target);
}
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
@@ -424,6 +453,13 @@ size_t sri::ByteSizeLong() const {
this->_internal_sri_token()); this->_internal_sri_token());
} }
// string data = 8;
if (this->data().size() > 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
this->_internal_data());
}
// uint64 sri_account = 3; // uint64 sri_account = 3;
if (this->sri_account() != 0) { if (this->sri_account() != 0) {
total_size += 1 + total_size += 1 +
@@ -487,6 +523,9 @@ void sri::MergeFrom(const sri& from) {
if (from.sri_token().size() > 0) { if (from.sri_token().size() > 0) {
_internal_set_sri_token(from._internal_sri_token()); _internal_set_sri_token(from._internal_sri_token());
} }
if (from.data().size() > 0) {
_internal_set_data(from._internal_data());
}
if (from.sri_account() != 0) { if (from.sri_account() != 0) {
_internal_set_sri_account(from._internal_sri_account()); _internal_set_sri_account(from._internal_sri_account());
} }
@@ -523,6 +562,7 @@ void sri::InternalSwap(sri* other) {
sri_email_.Swap(&other->sri_email_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); sri_email_.Swap(&other->sri_email_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
sri_msg_.Swap(&other->sri_msg_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); sri_msg_.Swap(&other->sri_msg_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
sri_token_.Swap(&other->sri_token_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); sri_token_.Swap(&other->sri_token_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
data_.Swap(&other->data_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
::PROTOBUF_NAMESPACE_ID::internal::memswap< ::PROTOBUF_NAMESPACE_ID::internal::memswap<
PROTOBUF_FIELD_OFFSET(sri, sri_code_) PROTOBUF_FIELD_OFFSET(sri, sri_code_)
+ sizeof(sri::sri_code_) + sizeof(sri::sri_code_)

View File

@@ -227,6 +227,7 @@ class sri PROTOBUF_FINAL :
kSriEmailFieldNumber = 4, kSriEmailFieldNumber = 4,
kSriMsgFieldNumber = 6, kSriMsgFieldNumber = 6,
kSriTokenFieldNumber = 7, kSriTokenFieldNumber = 7,
kDataFieldNumber = 8,
kSriAccountFieldNumber = 3, kSriAccountFieldNumber = 3,
kSriPhoneFieldNumber = 5, kSriPhoneFieldNumber = 5,
kSriCodeFieldNumber = 1, kSriCodeFieldNumber = 1,
@@ -331,6 +332,31 @@ class sri PROTOBUF_FINAL :
std::string* _internal_mutable_sri_token(); std::string* _internal_mutable_sri_token();
public: public:
// string data = 8;
void clear_data();
const std::string& data() const;
void set_data(const std::string& value);
void set_data(std::string&& value);
void set_data(const char* value);
void set_data(const char* value, size_t size);
std::string* mutable_data();
std::string* release_data();
void set_allocated_data(std::string* data);
GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
" string fields are deprecated and will be removed in a"
" future release.")
std::string* unsafe_arena_release_data();
GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
" string fields are deprecated and will be removed in a"
" future release.")
void unsafe_arena_set_allocated_data(
std::string* data);
private:
const std::string& _internal_data() const;
void _internal_set_data(const std::string& value);
std::string* _internal_mutable_data();
public:
// uint64 sri_account = 3; // uint64 sri_account = 3;
void clear_sri_account(); void clear_sri_account();
::PROTOBUF_NAMESPACE_ID::uint64 sri_account() const; ::PROTOBUF_NAMESPACE_ID::uint64 sri_account() const;
@@ -369,6 +395,7 @@ class sri PROTOBUF_FINAL :
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sri_email_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sri_email_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sri_msg_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sri_msg_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sri_token_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sri_token_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr data_;
::PROTOBUF_NAMESPACE_ID::uint64 sri_account_; ::PROTOBUF_NAMESPACE_ID::uint64 sri_account_;
::PROTOBUF_NAMESPACE_ID::uint64 sri_phone_; ::PROTOBUF_NAMESPACE_ID::uint64 sri_phone_;
int sri_code_; int sri_code_;
@@ -770,6 +797,87 @@ inline void sri::unsafe_arena_set_allocated_sri_token(
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:mp.sri.sri_token) // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mp.sri.sri_token)
} }
// string data = 8;
inline void sri::clear_data() {
data_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline const std::string& sri::data() const {
// @@protoc_insertion_point(field_get:mp.sri.data)
return _internal_data();
}
inline void sri::set_data(const std::string& value) {
_internal_set_data(value);
// @@protoc_insertion_point(field_set:mp.sri.data)
}
inline std::string* sri::mutable_data() {
// @@protoc_insertion_point(field_mutable:mp.sri.data)
return _internal_mutable_data();
}
inline const std::string& sri::_internal_data() const {
return data_.Get();
}
inline void sri::_internal_set_data(const std::string& value) {
data_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
}
inline void sri::set_data(std::string&& value) {
data_.Set(
&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
// @@protoc_insertion_point(field_set_rvalue:mp.sri.data)
}
inline void sri::set_data(const char* value) {
GOOGLE_DCHECK(value != nullptr);
data_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
GetArena());
// @@protoc_insertion_point(field_set_char:mp.sri.data)
}
inline void sri::set_data(const char* value,
size_t size) {
data_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
reinterpret_cast<const char*>(value), size), GetArena());
// @@protoc_insertion_point(field_set_pointer:mp.sri.data)
}
inline std::string* sri::_internal_mutable_data() {
return data_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline std::string* sri::release_data() {
// @@protoc_insertion_point(field_release:mp.sri.data)
return data_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void sri::set_allocated_data(std::string* data) {
if (data != nullptr) {
} else {
}
data_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), data,
GetArena());
// @@protoc_insertion_point(field_set_allocated:mp.sri.data)
}
inline std::string* sri::unsafe_arena_release_data() {
// @@protoc_insertion_point(field_unsafe_arena_release:mp.sri.data)
GOOGLE_DCHECK(GetArena() != nullptr);
return data_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
GetArena());
}
inline void sri::unsafe_arena_set_allocated_data(
std::string* data) {
GOOGLE_DCHECK(GetArena() != nullptr);
if (data != nullptr) {
} else {
}
data_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
data, GetArena());
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:mp.sri.data)
}
#ifdef __GNUC__ #ifdef __GNUC__
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif // __GNUC__ #endif // __GNUC__

View File

@@ -6,11 +6,13 @@ enum MP_TYPE {
MP_REQUEST_LOGIN = 0; MP_REQUEST_LOGIN = 0;
MP_REQUEST_LOGOUT = 1; MP_REQUEST_LOGOUT = 1;
MP_REQUEST_REGISTER = 2; MP_REQUEST_REGISTER = 2;
MP_REQUEST_USER_FRIENDS = 3;
// 20 - 39 // 20 - 39
MP_RESPONSE_LOGIN = 20; MP_RESPONSE_LOGIN = 20;
MP_RESPONSE_LOGOUT = 21; MP_RESPONSE_LOGOUT = 21;
MP_RESPONSE_REGISTER = 22; MP_RESPONSE_REGISTER = 22;
MP_RESPONSE_USER_FRIENDS = 23;
// 40 - 59 // 40 - 59
MP_REQUEST_PE_CODE = 40; // 请求验证码 MP_REQUEST_PE_CODE = 40; // 请求验证码

View File

@@ -36,4 +36,5 @@ message sri {
uint64 sri_phone = 5; uint64 sri_phone = 5;
string sri_msg = 6; string sri_msg = 6;
string sri_token = 7; string sri_token = 7;
string data = 8;
} }

View File

@@ -14,9 +14,11 @@ include_directories(${CMAKE_SOURCE_DIR}/include/rapidjson)
include_directories(${CMAKE_SOURCE_DIR}/include/mysql++) include_directories(${CMAKE_SOURCE_DIR}/include/mysql++)
include_directories(${CMAKE_SOURCE_DIR}/include/mysql++/mysql) include_directories(${CMAKE_SOURCE_DIR}/include/mysql++/mysql)
include_directories(${CMAKE_SOURCE_DIR}/include/smtp) include_directories(${CMAKE_SOURCE_DIR}/include/smtp)
include_directories(${CMAKE_SOURCE_DIR}/MDB/imm_mysqldb) include_directories(${CMAKE_SOURCE_DIR}/MDB/imm_mysqldb)
include_directories(${CMAKE_SOURCE_DIR}/MP) include_directories(${CMAKE_SOURCE_DIR}/MP)
include_directories(${CMAKE_SOURCE_DIR}/MS/works) include_directories(${CMAKE_SOURCE_DIR}/MS/works)
include_directories(${CMAKE_SOURCE_DIR}/MS/smtp)
message("CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/include/libevent") message("CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/include/libevent")
link_directories(${CMAKE_SOURCE_DIR}/lib/libevent) link_directories(${CMAKE_SOURCE_DIR}/lib/libevent)

View File

@@ -28,6 +28,7 @@ mapping::mapping() {
// 用户添加好友群组类操作 // 用户添加好友群组类操作
auto improve = new IMProveController(); auto improve = new IMProveController();
map.insert({mp::MP_REQUEST_IM_ADD, improve}); map.insert({mp::MP_REQUEST_IM_ADD, improve});
map.insert({mp::MP_REQUEST_USER_FRIENDS, improve});
} }
} }

View File

@@ -5,6 +5,13 @@
#include "IMProveController.h" #include "IMProveController.h"
void IMProveController::run(std::shared_ptr<agreement_request> request, std::shared_ptr<agreement_response> response) { void IMProveController::run(std::shared_ptr<agreement_request> request, std::shared_ptr<agreement_response> response) {
auto sri = service.imProve(&request->m_body); // 添加好友
if (request->m_mph->mp_type() == mp::MP_REQUEST_IM_ADD) {
auto sri = service.addFriendImProve(&request->m_body);
response->set(sri, request->m_bev); response->set(sri, request->m_bev);
}
// 取用户好友列表
else if(request->m_mph->mp_type() == mp::MP_REQUEST_USER_FRIENDS) {
}
} }

View File

@@ -20,7 +20,7 @@ std::tuple<bool, PoUser> UserDB::select_user(uint64_t account, const std::string
query.storein(user); query.storein(user);
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return {!user.empty(), user.empty() ? PoUser() : return {!user.empty(), user.empty() ? PoUser() :
PoUser(user[0].account, PoUser(user[0].account,
user[0].phone, user[0].email, user[0].phone, user[0].email,
@@ -45,7 +45,7 @@ bool UserDB::insert_user(uint64_t account, const std::string &password, const st
auto ret = query.exec(); auto ret = query.exec();
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return ret; return ret;
} }
@@ -65,7 +65,7 @@ bool UserDB::insert_user_friends(uint64_t account, uint64_t friends) {
auto ret = q.exec(); auto ret = q.exec();
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return ret; return ret;
} }
@@ -79,7 +79,7 @@ bool UserDB::remove_user(uint64_t account) {
auto ret = query.exec(); auto ret = query.exec();
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return ret; return ret;
} }
@@ -99,7 +99,7 @@ bool UserDB::test(uint64_t account) {
auto ret = q.exec(); auto ret = q.exec();
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return ret; return ret;
} }
@@ -117,7 +117,7 @@ std::optional<uint64_t> UserDB::fetch_account() {
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return std::strtol(ret[0][0], nullptr,0); return std::strtol(ret[0][0], nullptr,0);
} }
@@ -131,7 +131,7 @@ bool UserDB::remove_pool_account(uint64_t account) {
auto ret = query.exec(); auto ret = query.exec();
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return ret; return ret;
} }
@@ -146,7 +146,7 @@ bool UserDB::bind_email(uint64_t account, const std::string &email) {
auto ret = query.exec(); auto ret = query.exec();
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return ret; return ret;
} }
@@ -160,7 +160,7 @@ bool UserDB::bind_phone(uint64_t account, const std::string &phone) {
auto ret = query.exec(); auto ret = query.exec();
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return ret; return ret;
} }

View File

@@ -16,7 +16,7 @@ char UserFriendsDB::select_add_type(uint64_t account) {
auto ret = query.store(account)[0][0][0]; // 因为 account 唯一 所以结果 至多一个 auto ret = query.store(account)[0][0][0]; // 因为 account 唯一 所以结果 至多一个
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return ret; return ret;
} }
@@ -24,23 +24,34 @@ char UserFriendsDB::select_add_type(uint64_t account) {
/// friends { /// friends {
/// uid info { } /// uid info { }
/// } /// }
bool UserFriendsDB::add_friends(uint64_t account, uint64_t friends) { std::tuple<bool, std::string> UserFriendsDB::add_friends(uint64_t account, uint64_t friends) {
conn = LinkDB::safe_grab(); conn = LinkDB::safe_grab();
auto query = conn->query("update im_user_friends set friends=" auto q = conn->query("select username from im_user where account=%1:account");
q.template_defaults[1] = friends;
q.parse();
auto username = q.store();
if (username.num_rows() < 1) {
LinkDB::release(conn);
return {false, "未查询到账户"};
}
std::string name = username[0][0].c_str();
auto query = conn->query("update im_user_friends set friends ="
"JSON_SET(friends, '$.\"%2:friends\"', " "JSON_SET(friends, '$.\"%2:friends\"', "
"JSON_OBJECT('belong_grouping', 1, 'add_time', 10000, 'add_source', 1)" "JSON_OBJECT('username', '%3:username', 'belong_grouping', 1, 'add_time', 10000, 'add_source', 1)"
")" ")"
"where account=%1:account"); "where account=%1:account");
query.template_defaults[1] = account; query.template_defaults[1] = account;
query.template_defaults[2] = friends; query.template_defaults[2] = friends;
query.template_defaults[3] = name.c_str();
query.parse(); query.parse();
auto ret = query.exec(); auto ret = query.exec();
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return ret; return {ret, "添加失败"};
} }
void UserFriendsDB::insert_friends_to_be_added(uint64_t account, uint64_t friends) { void UserFriendsDB::insert_friends_to_be_added(uint64_t account, uint64_t friends) {
@@ -48,10 +59,10 @@ void UserFriendsDB::insert_friends_to_be_added(uint64_t account, uint64_t friend
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
} }
std::optional<rapidjson::Document> UserFriendsDB::select_friends_all(uint64_t account) { std::optional<std::string> UserFriendsDB::select_friends_all(uint64_t account) {
conn = LinkDB::safe_grab(); conn = LinkDB::safe_grab();
auto q = conn->query("select friends from im_user_friends where account=%0:account"); auto q = conn->query("select friends from im_user_friends where account=%0:account");
q.parse(); q.parse();
@@ -64,14 +75,28 @@ std::optional<rapidjson::Document> UserFriendsDB::select_friends_all(uint64_t ac
std::string friends; std::string friends;
ret[0][0].to_string(friends); ret[0][0].to_string(friends);
rapidjson::Document document; // for (auto mem = document.MemberBegin(); mem != document.MemberEnd(); ++mem) {
document.Parse(friends.c_str()); // mem->name;
// }
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return document; return friends;
} }
std::optional<rapidjson::Document> UserFriendsDB::select_friends_all_json(uint64_t account) {
auto temp = select_friends_all(account);
rapidjson::Document document;
if (temp.has_value()) {
document.Parse(temp.value().c_str());
return document;
} else {
return std::nullopt;
}
}
std::optional<rapidjson::Document> std::optional<rapidjson::Document>
UserFriendsDB::select_friends_info(uint64_t account, uint64_t friends) { UserFriendsDB::select_friends_info(uint64_t account, uint64_t friends) {
conn = LinkDB::safe_grab(); conn = LinkDB::safe_grab();
@@ -101,7 +126,7 @@ UserFriendsDB::select_friends_info(uint64_t account, uint64_t friends) {
// 放回链接 // 放回链接
// LinkDB::release(conn); LinkDB::release(conn);
return document; return document;
} }
@@ -114,3 +139,4 @@ UserFriendsDB::select_friends_info(uint64_t account, uint64_t friends) {

View File

@@ -14,10 +14,16 @@
class UserFriendsDB : public DB { class UserFriendsDB : public DB {
public: public:
// 查询添加类型
char select_add_type(uint64_t account); char select_add_type(uint64_t account);
bool add_friends(uint64_t source, uint64_t target); // 添加好友
std::optional<rapidjson::Document> select_friends_all(uint64_t account); std::tuple<bool, std::string> add_friends(uint64_t source, uint64_t target);
// 查询全部好友 好友列表
std::optional<std::string> select_friends_all(uint64_t account);
std::optional<rapidjson::Document> select_friends_all_json(uint64_t account);
// 查询好友信息
std::optional<rapidjson::Document> select_friends_info(uint64_t account, uint64_t friends); std::optional<rapidjson::Document> select_friends_info(uint64_t account, uint64_t friends);
// 添加待审核好友列表
void insert_friends_to_be_added(uint64_t account, uint64_t friends); void insert_friends_to_be_added(uint64_t account, uint64_t friends);
}; };

View File

@@ -14,21 +14,23 @@ LinkDB::~LinkDB() {
ConnectionPool* LinkDB::pool = nullptr; ConnectionPool* LinkDB::pool = nullptr;
mysqlpp::Connection* LinkDB::safe_grab() { mysqlpp::Connection* LinkDB::safe_grab() {
static std::vector<mysqlpp::Connection*> link; // static std::vector<mysqlpp::Connection*> link;
static std::atomic<int> index;
// static std::atomic<int> index;
if (pool == nullptr) { if (pool == nullptr) {
pool = new ConnectionPool("124.221.152.192", "ims", "IMS", "WimTFC8N58kznx2k"); pool = new ConnectionPool("124.221.152.192", "ims", "IMS", "WimTFC8N58kznx2k");
index = -1; // index = -1;
for (int i = 0; i < 30; ++i) { // for (int i = 0; i < 30; ++i) {
link.push_back(pool->safe_grab()); // link.push_back(pool->safe_grab());
} // }
} }
++index; // ++index;
if (index >= link.size()) { // if (index >= link.size()) {
index = 0; // index = 0;
} // }
return link[index]; // return link[index];
return pool->safe_grab();
} }
void LinkDB::release(mysqlpp::Connection *connection) { void LinkDB::release(mysqlpp::Connection *connection) {

View File

@@ -8,6 +8,7 @@
#include <mysql++/connection.h> #include <mysql++/connection.h>
#include "proto/mp.sri.pb.h" #include "proto/mp.sri.pb.h"
#include "db/UserDB.h" #include "db/UserDB.h"
#include "document.h"
class Service { class Service {
public: public:
@@ -29,6 +30,14 @@ protected:
sri->clear_sri_token(); sri->clear_sri_token();
sri->clear_sri_username(); sri->clear_sri_username();
} }
std::string SerializationVector(rapidjson::Document* document) {
uint64_t account;
for (auto mem = document->MemberBegin(); mem != document->MemberEnd(); ++mem) {
mem->name;
}
}
}; };
#endif //IM2_SERVICE_H #endif //IM2_SERVICE_H

View File

@@ -7,7 +7,7 @@
UserFriendsService::~UserFriendsService() {} UserFriendsService::~UserFriendsService() {}
// 好友群组 添加删除 任务组 决策接口 // 好友群组 添加删除 任务组 决策接口
mp::sri *UserFriendsService::imProve(mp::body* body) { mp::sri *UserFriendsService::addFriendImProve(mp::body* body) {
sri_clear(); sri_clear();
if (body->target() == 0 || body->source() == 0) { if (body->target() == 0 || body->source() == 0) {
printf("请求数据有缺\n"); printf("请求数据有缺\n");
@@ -34,8 +34,8 @@ mp::sri *UserFriendsService::imProve(mp::body* body) {
} }
void UserFriendsService::add_friends(mp::body *body) { void UserFriendsService::add_friends(mp::body *body) {
bool state1 = userFriendsDb.add_friends(body->source(), body->target()); auto [state1, msg1] = userFriendsDb.add_friends(body->source(), body->target());
bool state2 = userFriendsDb.add_friends(body->target(), body->source()); auto [state2, msg2] = userFriendsDb.add_friends(body->target(), body->source());
if (state1 && state2) { if (state1 && state2) {
sri->set_sri_code((mp::MP_SRI)(mp::MP_ADD_FRIENDS | mp::MP_ADD_FRIENDS_0)); sri->set_sri_code((mp::MP_SRI)(mp::MP_ADD_FRIENDS | mp::MP_ADD_FRIENDS_0));
sri->set_sri_msg("添加成功"); sri->set_sri_msg("添加成功");
@@ -71,6 +71,23 @@ mp::sri* UserFriendsService::add_contact_person(mp::body *body) {
return sri; return sri;
} }
mp::sri *UserFriendsService::FetchUserFriend(uint64_t account, const std::string &data) {
sri_clear();
uint8_t page_begin = data.c_str()[0];
uint8_t page_end = data.c_str()[1];
auto friends = userFriendsDb.select_friends_all(account);
if (friends.has_value())
sri->set_data(friends.value());
sri->set_sri_msg("好友获取成功");
sri->set_sri_code(mp::);
return sri;
}

View File

@@ -15,7 +15,8 @@ public:
public: public:
// 唯一对开接口 // 唯一对开接口
mp::sri* imProve(mp::body* body); mp::sri* addFriendImProve(mp::body* body);
mp::sri* FetchUserFriend(uint64_t account, const std::string& data);
private: private:
mp::sri* add_contact_person(mp::body* body); mp::sri* add_contact_person(mp::body* body);

View File

@@ -58,7 +58,6 @@ void UserService::login_fun(const std::string& account, const std::string& passw
printf("登陆失败\n"); printf("登陆失败\n");
sri->set_sri_msg("登陆失败!"); sri->set_sri_msg("登陆失败!");
sri->set_sri_code(mp::MP_LOGIN_FAIL); sri->set_sri_code(mp::MP_LOGIN_FAIL);
} }
} }
@@ -97,14 +96,12 @@ mp::sri *UserService::register_(mp::MP_SUB_TYPE subType, const std::string &phon
if (subType == mp::MP_REQUEST_REGISTER_EMAIL) { if (subType == mp::MP_REQUEST_REGISTER_EMAIL) {
// 将邮箱绑定到帐号上 // 将邮箱绑定到帐号上
state1 = userDb.bind_email(account.value(), phone_email); state1 = userDb.bind_email(account.value(), phone_email);
sri->set_sri_email(phone_email);
sri->set_sri_code(mp::MP_REGISTER_SUCCESS_EMAIL); sri->set_sri_code(mp::MP_REGISTER_SUCCESS_EMAIL);
} }
// 手机号方式 // 手机号方式
else { else {
// 将手机绑定到帐号上 // 将手机绑定到帐号上
state1 = userDb.bind_phone(account.value(), phone_email); state1 = userDb.bind_phone(account.value(), phone_email);
sri->set_sri_phone(strtol(phone_email.c_str(), nullptr, 0));
sri->set_sri_code(mp::MP_REGISTER_SUCCESS_PHONE); sri->set_sri_code(mp::MP_REGISTER_SUCCESS_PHONE);
} }
@@ -115,6 +112,8 @@ mp::sri *UserService::register_(mp::MP_SUB_TYPE subType, const std::string &phon
// 注册成功就将取出的号在号池内删除 // 注册成功就将取出的号在号池内删除
userDb.remove_pool_account(account.value()); userDb.remove_pool_account(account.value());
} }
sri->set_sri_account(account.value());
} }
} }

View File

@@ -27,6 +27,8 @@ TEST(JSON, MYSQL_TYPE_JSON) {
TEST(add_friends, add_friends__Test) { TEST(add_friends, add_friends__Test) {
auto i = UserFriendsDB(); auto i = UserFriendsDB();
i.add_friends(2725096176, 783556037); i.add_friends(2725096176, 783556037);
i.add_friends(2725096176, 2725096176);
i.add_friends(783556037, 783556037);
i.add_friends(783556037, 2725096176); i.add_friends(783556037, 2725096176);
} }
@@ -43,7 +45,7 @@ TEST(select_friends, select_friends_Test) {
TEST(select_friends_all, select_friends_Test) { TEST(select_friends_all, select_friends_Test) {
auto i = UserFriendsDB(); auto i = UserFriendsDB();
auto doc = i.select_friends_all(2725096176); auto doc = i.select_friends_all_json(2725096176);
if (doc.has_value()) if (doc.has_value())
for (auto member = doc.value().MemberBegin(); member != doc.value().MemberEnd(); ++member) { for (auto member = doc.value().MemberBegin(); member != doc.value().MemberEnd(); ++member) {
auto belong_grouping = member->value.GetObject().FindMember("belong_grouping"); auto belong_grouping = member->value.GetObject().FindMember("belong_grouping");
@@ -98,3 +100,13 @@ TEST(UserDB_select_user, UserDB_Ues_Test) {
TEST(email_send, email_send__Test) { TEST(email_send, email_send__Test) {
send_email_def("2725096176@qq.com", "AAKXT4"); send_email_def("2725096176@qq.com", "AAKXT4");
} }
TEST(fecth_frinds, fecth_frinds_Test) {
auto i = UserFriendsDB();
auto document = i.select_friends_all_json(783556037);
if (document.has_value())
for (auto mem = document->MemberBegin(); mem != document->MemberEnd(); ++mem) {
printf("%s", mem->name.GetString());
}
}