IM/MS/works/controller/UserProveController.cpp

34 lines
1.2 KiB
C++

//
// Created by dongl on 23-4-20.
//
#include "UserProveController.h"
void UserProveController::run(std::shared_ptr<agreement_request> request, std::shared_ptr<agreement_response> response) {
if (request->m_mph->mp_type() == mp::MP_REQUEST_LOGIN) {
auto sri = service.login(request->m_body.account(), request->m_body.password());
response->set(sri, request->m_bev);
handler::add_user(request);
} else if (request->m_mph->mp_type() == mp::MP_REQUEST_REGISTER) {
auto sri = service.register_(request->m_body.account(), request->m_body.password());
response->set(sri, request->m_bev);
} else if (request->m_mph->mp_type() == mp::MP_REQUEST_LOGOUT) {
// 查看当前用户是否在线
bool state = handler::is_user(request->m_body.account());
// current user list used redis 在优化
if (state) {
handler::remove_user(request);
auto sri = service.logout(request->m_body.account(), state);
response->set(sri, request->m_bev);
} else {
auto sri = service.logout(request->m_body.account(), state);
response->set(sri, request->m_bev);
}
}
}