ubuntu 重装后 发现项目有一些依赖 用的的系统路径, 遂添加到项目内
This commit is contained in:
@@ -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
|
||||
)
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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([&]() {
|
||||
|
||||
13
MS/works/controller/IMController.cpp
Normal file
13
MS/works/controller/IMController.cpp
Normal 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) {
|
||||
|
||||
}
|
||||
}
|
||||
17
MS/works/controller/IMController.h
Normal file
17
MS/works/controller/IMController.h
Normal 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
|
||||
@@ -8,5 +8,6 @@
|
||||
#include "UserController.h"
|
||||
#include "UserFriendsController.h"
|
||||
#include "CodeController.h"
|
||||
#include "IMController.h"
|
||||
|
||||
#endif //IM2_WORKS_H
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user