ubuntu 重装后 发现项目有一些依赖 用的的系统路径, 遂添加到项目内

This commit is contained in:
2023-06-05 16:18:53 +08:00
parent 7ca282cdb3
commit 4f71b78676
294 changed files with 95423 additions and 130 deletions

View File

@@ -8,11 +8,10 @@ aux_source_directory(smtp DIR_EMAIL)
include_directories(${CMAKE_SOURCE_DIR}/include/libevent)
include_directories(${CMAKE_SOURCE_DIR}/include/ini)
include_directories(${CMAKE_SOURCE_DIR}/include/cpp_email)
include_directories(${CMAKE_SOURCE_DIR}/include/rapidjson)
include_directories(${CMAKE_SOURCE_DIR}/include/mysql++)
include_directories(${CMAKE_SOURCE_DIR}/include/mysql++/mysql)
include_directories(${CMAKE_SOURCE_DIR}/include/smtp)
include_directories(${CMAKE_SOURCE_DIR}/include/tbb)
include_directories(${CMAKE_SOURCE_DIR}/MDB/imm_mysqldb)
include_directories(${CMAKE_SOURCE_DIR}/MP)
@@ -42,6 +41,7 @@ target_link_libraries(MS
event
tbb
imm_mysqldb
imm_mongodb
MP
curl
)

View File

@@ -15,23 +15,32 @@ void agreement_request::set (std::shared_ptr<mp::mph> &mph, std::shared_ptr<mp::
m_addr = addr;
}
void agreement_request::set(std::shared_ptr<mp::mph> &mph, std::shared_ptr<mp::im::data> &data, bufferevent *bev,
sockaddr_in *addr) {
m_mph = mph;
m_data = data;
m_bev = bev;
m_addr = addr;
}
agreement_response::agreement_response() : agreement() {}
agreement_response::~agreement_response() {}
void agreement_response::set(mp::sri* sri, bufferevent* bev) {
auto resp = std::make_shared<mp::response>(mp::response());
m_sri = resp->sri();
m_sri.set_subcommand(sri->subcommand());
m_sri.set_account(sri->account());
m_sri.set_username(sri->username());
m_sri.set_msg(sri->msg());
m_sri.set_token(sri->token());
m_sri.set_data(sri->data());
m_sri.set_email(sri->email());
m_sri.set_phone(sri->phone());
// auto resp = std::make_shared<mp::response>(mp::response());
//
// m_sri = resp->sri();
// m_sri.set_subcommand(sri->subcommand());
// m_sri.set_account(sri->account());
// m_sri.set_username(sri->username());
// m_sri.set_msg(sri->msg());
// m_sri.set_token(sri->token());
// m_sri.set_data(sri->data());
// m_sri.set_email(sri->email());
// m_sri.set_phone(sri->phone());
m_sri = sri;
m_bev = bev;
}

View File

@@ -14,6 +14,7 @@
#include "proto/mp.response.pb.h"
#include "proto/mp.request.pb.h"
#include "event2/bufferevent.h"
#include "proto/mp.im.pb.h"
class agreement {
public:
@@ -29,12 +30,20 @@ public:
public:
void set (std::shared_ptr<mp::mph> &mph, std::shared_ptr<mp::request>& request, bufferevent* bev, sockaddr_in* addr);
void set (std::shared_ptr<mp::mph> &mph, std::shared_ptr<mp::im::data>& data, bufferevent* bev, sockaddr_in* addr);
public:
// 包头
std::shared_ptr<mp::mph> m_mph;
// im 包体 data
std::shared_ptr<mp::im::data> m_data;
// *********** 逻辑包体
mp::body m_body;
mp::cqi m_cqi;
// *********** 逻辑包体 end
// 维护此链接的描述符号 fd
bufferevent* m_bev;
// 请求来源地址
sockaddr_in* m_addr;
};
@@ -47,8 +56,11 @@ public:
public:
void set (mp::sri* sri, bufferevent* bev);
public:
std::shared_ptr<mp::mph> m_mph;
mp::sri m_sri;
// im 包体 推送包
std::shared_ptr<mp::im::notice> m_notice;
// 返回 响应包体 内容
mp::sri* m_sri;
// 维护此链接的描述符号 fd
bufferevent* m_bev;
};

View File

@@ -14,19 +14,28 @@ class analysis {
public:
analysis(std::shared_ptr<mp::mph>& mph, std::shared_ptr<mp::request>& request) : m_mph(mph), m_request(request) {
}
analysis(std::shared_ptr<mp::mph>& mph, std::shared_ptr<mp::im::data>& data) : m_mph(mph), m_data(data) {
}
std::shared_ptr<agreement_request> operator () (bufferevent* bev, sockaddr_in* addr) {
// agreement_request
auto agreementRequest = std::make_shared<agreement_request>(agreement_request());
agreementRequest->set(m_mph, m_request, bev, addr);
// 判断是im数据包 还是 操作逻辑包
if (m_mph->mp_type() <= 200) {
agreementRequest->set(m_mph, m_request, bev, addr);
} else {
agreementRequest->set(m_mph, m_data, bev, addr);
}
return agreementRequest;
}
private:
std::shared_ptr<mp::mph> m_mph;
std::shared_ptr<mp::request> m_request;
std::shared_ptr<mp::im::data> m_data;
};

View File

@@ -21,11 +21,11 @@ void handler::resp(const std::shared_ptr<agreement_request>& request,
// response->m_sri.msg(), response->m_sri.token());
auto resp = new Response((mp::MP_TYPE) (request->m_mph->mp_type() + 20),
response->m_sri.subcommand(),
response->m_sri.account(), response->m_sri.username(),
response->m_sri.email(), response->m_sri.phone(),
response->m_sri.msg(), response->m_sri.token(),
response->m_sri.data());
response->m_sri->subcommand(),
response->m_sri->account(), response->m_sri->username(),
response->m_sri->email(), response->m_sri->phone(),
response->m_sri->msg(), response->m_sri->token(),
response->m_sri->data());
auto ret = resp->packet();

View File

@@ -29,6 +29,11 @@ mapping::mapping() {
auto improve = new UserFriendsController();
map.insert({mp::MP_TYPE::MP_REQUEST_FRIENDS, improve});
map.insert({mp::MP_TYPE::MP_REQUEST_GROUPS, improve});
///im controller
auto imController = new IMController();
map.insert({mp::MP_TYPE::MP_IM_MSG, imController});
map.insert({mp::MP_TYPE::MP_IM_PUSH_MSG, imController});
}
}

View File

@@ -10,10 +10,9 @@
//std::map<bufferevent*, std::map<std::string, std::string>> session::session_map;
session::session() {
printf("timing begin");
printf("timing begin\n");
timing();
printf("timing end");
fflush(stdout);
printf("timing end\n");
}
/// curr mem user curd user session
@@ -153,7 +152,6 @@ void session::remove_session(userinfo *user) {
}
// 时间轮思路的 定时器
void session::timing() {
time_wheel.run([&]() {

View File

@@ -0,0 +1,13 @@
//
// Created by dongl on 23-6-1.
//
#include "IMController.h"
void IMController::run(std::shared_ptr<agreement_request> request, std::shared_ptr<agreement_response> response) {
if (request->m_mph->mp_type() == mp::MP_IM_PUSH_MSG) {
} else if (request->m_mph->mp_type() == mp::MP_IM_MSG) {
}
}

View File

@@ -0,0 +1,17 @@
//
// Created by dongl on 23-6-1.
//
#ifndef IM2_IMCONTROLLER_H
#define IM2_IMCONTROLLER_H
#include "../../mmm/handler.h"
class IMController : public handler {
public:
void run(std::shared_ptr<agreement_request> request, std::shared_ptr<agreement_response> response) override;
};
#endif //IM2_IMCONTROLLER_H

View File

@@ -8,5 +8,6 @@
#include "UserController.h"
#include "UserFriendsController.h"
#include "CodeController.h"
#include "IMController.h"
#endif //IM2_WORKS_H

View File

@@ -9,17 +9,15 @@ UserFriendsService::~UserFriendsService() {}
// 好友群组 添加删除 任务组 决策接口
mp::sri *UserFriendsService::friendImProve(mp::body* body) {
sri_clear();
// if (body->target() == 0 || body->source() == 0) {
// printf("请求数据有缺\n");
// sri->set_subcommand(mp::MP_SUB_TYPE::MP_GET_FAIL);
// sri->set_msg("请求数据有缺");
// return sri;
// }
auto subcommand = body->subcommand();
// 搜索
if (subcommand == mp::MP_SUB_TYPE::MP_SEARCH_FRIENDS_ACCOUNT) {
FetchUserFriends(strtol(body->account().c_str(), nullptr, 0), "");
}
// 添加
if (subcommand == mp::MP_SUB_TYPE::MP_ADD_FRIENDS_ACCOUNT) {
else if (subcommand == mp::MP_SUB_TYPE::MP_ADD_FRIENDS_ACCOUNT) {
add_contact_person(body);
}
// 拉黑
@@ -78,8 +76,10 @@ mp::sri* UserFriendsService::add_contact_person(mp::body *body) {
return sri;
}
// 查账户好友名单
void UserFriendsService::FetchUserFriends(uint64_t account, const std::string &data) {
sri_clear();
// page
uint8_t page_begin = data.c_str()[0];
uint8_t page_end = data.c_str()[1];
@@ -91,6 +91,23 @@ void UserFriendsService::FetchUserFriends(uint64_t account, const std::string &d
}
}
// 搜索指定账户信息
void UserFriendsService::FetchUser(uint64_t account) {
// 后续撤掉userDB 在 userfriendsDB内 添加account模糊搜索
auto [state, user] = userDB.select_user(account, "account");
if (state) {
sri->set_username(user.username);
sri->set_account(user.account);
sri->set_phone(user.phone);
sri->set_email(user.email);
sri->set_msg("搜索成功");
sri->set_subcommand(mp::MP_SUB_TYPE::MP_SEARCH_SUCCESS);
} else {
sri->set_msg("无此用户");
sri->set_subcommand(mp::MP_SUB_TYPE::MP_SEARCH_FAIL);
}
}

View File

@@ -17,6 +17,7 @@ public:
// 唯一对开接口
mp::sri* friendImProve(mp::body* body);
void FetchUserFriends(uint64_t account, const std::string& data);
void FetchUser(uint64_t account);
private:
mp::sri* add_contact_person(mp::body* body);
@@ -24,6 +25,7 @@ private:
private:
UserFriendsDB userFriendsDb = UserFriendsDB();
UserDB userDB = UserDB();
};