mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
Рефакт
This commit is contained in:
@@ -67,6 +67,7 @@ add_library(InstructorsAndTrainees SHARED
|
||||
connectorToServer/connectortoserver.h
|
||||
connectorToServer/connectortoserver_LocalModelDB.cpp
|
||||
connectorToServer/connectortoserver_AnswerQueryToDB.cpp
|
||||
connectorToServer/connectortoserver_Send.cpp
|
||||
connectorToServer/Core/sendsystem.cpp
|
||||
connectorToServer/Core/sendsystem.h
|
||||
connectorToServer/Core/dataparser.cpp
|
||||
|
||||
@@ -32,111 +32,6 @@ ConnectorToServer::~ConnectorToServer()
|
||||
delete connectionThread;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::authorizationInstructorLocal(QString login, QString password)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClientAutorization *autorization = new ClientAutorization;
|
||||
autorization->Login = login;
|
||||
autorization->Password = password;
|
||||
autorization->TypeClient = TypeClientAutorization::TYPE_GUI;
|
||||
|
||||
QByteArray array = dataParser->createAuthMessage(autorization);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::deAuthorizationInstructorLocal(QString login)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClientDeAutorization *deAutorization = new ClientDeAutorization;
|
||||
deAutorization->Login = login;
|
||||
|
||||
QByteArray array = dataParser->createDeAuthMessage(deAutorization);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendQueryToDB(TypeQueryToDB typeQuery, int id, void* data)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClientQueryToDB *queryToDB = new ClientQueryToDB;
|
||||
queryToDB->typeQuery = typeQuery;
|
||||
|
||||
QByteArray array = dataParser->createQueryToDBMessage(queryToDB, id, data);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendMessage(ClientMessage clientMessage)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
QByteArray array = dataParser->createMessage(clientMessage);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendClientNotify(QString command)
|
||||
{
|
||||
QByteArray answer = dataParser->xmlAnswer_notify(command);
|
||||
emit sigSendAnswerToServer(answer);
|
||||
return true;
|
||||
}
|
||||
bool ConnectorToServer::sendQueryTasksXML(QString type)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray array = dataParser->createQueryTasksXMLMessage(type);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendQueryBlockAuth(bool block)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray array = dataParser->createQueryBlockAuth(block);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void ConnectorToServer::showVersionSelect()
|
||||
{
|
||||
QByteArray answer = dataParser->xmlAnswer_notify(cmd_CheckVersionList);
|
||||
emit sigSendAnswerToServer(answer);
|
||||
}
|
||||
|
||||
void ConnectorToServer::setLoginName(QString name)
|
||||
{
|
||||
versionSelectWidget->setAuthor(name);
|
||||
}
|
||||
|
||||
ServerSettings ConnectorToServer::getServerSettings()
|
||||
{
|
||||
return serverSettings;
|
||||
@@ -159,6 +54,11 @@ void ConnectorToServer::StopConnectToServer()
|
||||
clearListModelDB();
|
||||
}
|
||||
|
||||
void ConnectorToServer::setLoginName(QString name)
|
||||
{
|
||||
versionSelectWidget->setAuthor(name);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_sendMessage(ClientMessage clientMessage)
|
||||
{
|
||||
sendMessage(clientMessage);
|
||||
|
||||
@@ -26,19 +26,6 @@ public:
|
||||
~ConnectorToServer();
|
||||
|
||||
public:
|
||||
bool authorizationInstructorLocal(QString login, QString password);
|
||||
bool deAuthorizationInstructorLocal(QString login);
|
||||
|
||||
bool sendQueryToDB(TypeQueryToDB typeQuery, int id = 0, void* data = nullptr);
|
||||
bool sendMessage(ClientMessage clientMessage);
|
||||
|
||||
bool sendQueryTasksXML(QString type);
|
||||
bool sendQueryBlockAuth(bool block);
|
||||
|
||||
void showVersionSelect();
|
||||
void setLoginName(QString name);
|
||||
bool sendClientNotify(QString command);
|
||||
|
||||
ServerSettings getServerSettings();
|
||||
bool getIsConnected();
|
||||
|
||||
@@ -48,8 +35,24 @@ public:
|
||||
void SetConnectToServer();
|
||||
void StopConnectToServer();
|
||||
|
||||
void setLoginName(QString name);
|
||||
|
||||
public:
|
||||
//Запросы к БД (локальной)
|
||||
//Send
|
||||
bool sendAuthorizationInstructorLocal(QString login, QString password);
|
||||
bool sendDeAuthorizationInstructorLocal(QString login);
|
||||
|
||||
bool sendQueryToDB(TypeQueryToDB typeQuery, int id = 0, void* data = nullptr);
|
||||
bool sendMessage(ClientMessage clientMessage);
|
||||
|
||||
bool sendQueryTasksXML(QString type);
|
||||
bool sendQueryBlockAuth(bool block);
|
||||
|
||||
void sendShowVersionSelect();
|
||||
bool sendClientNotify(QString command);
|
||||
|
||||
public:
|
||||
//LocalModelDB
|
||||
QByteArray getListTaskFimArray();
|
||||
QByteArray getListTaskAmmArray();
|
||||
|
||||
@@ -82,7 +85,7 @@ private:
|
||||
void clearListModelDB();
|
||||
|
||||
public slots:
|
||||
//Ответы на запросы к Серверу
|
||||
//AnswerQueryToDB
|
||||
void slot_AnswerQueryToDB_ListInstructors(QList<Instructor> listInstructors);
|
||||
void slot_AnswerQueryToDB_ListGroups(QList<Group> listGroups);
|
||||
void slot_AnswerQueryToDB_ListTrainees(QList<Trainee> listTrainees);
|
||||
@@ -90,16 +93,13 @@ public slots:
|
||||
void slot_AnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms);
|
||||
void slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id);
|
||||
void slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id);
|
||||
|
||||
void slot_AnswerQueryTasksXML_FIM(QByteArray array);
|
||||
void slot_AnswerQueryTasksXML_AMM(QByteArray array);
|
||||
|
||||
public slots:
|
||||
void slot_sendMessage(ClientMessage clientMessage);
|
||||
|
||||
void slot_showServerList(QList<StreamingVersionData*> *serverList);
|
||||
|
||||
void slot_HashReady();
|
||||
|
||||
void slot_Auth(ServerAuthorization * serverAuth);
|
||||
|
||||
signals:
|
||||
@@ -144,6 +144,7 @@ private:
|
||||
NotifyController *notifyController;
|
||||
|
||||
//Списочная модель БД СУО
|
||||
QMutex mtxAccess;
|
||||
QList<Instructor> listInstructors;
|
||||
QList<Group> listGroups;
|
||||
QList<Trainee> listTrainees;
|
||||
@@ -158,8 +159,6 @@ private:
|
||||
ServerAuthorization serverAuth;
|
||||
|
||||
bool fl_GetedOfflineMessages;
|
||||
|
||||
QMutex mtxAccess;
|
||||
};
|
||||
|
||||
#endif // CONNECTORTOSERVER_H
|
||||
|
||||
@@ -2,83 +2,112 @@
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListInstructors(QList<Instructor> listInstructors)
|
||||
{
|
||||
//mtxAccess.lock();
|
||||
this->listInstructors = listInstructors;
|
||||
mtxAccess.lock();
|
||||
|
||||
emit signal_UpdateDB(true, false);
|
||||
this->listInstructors = listInstructors;
|
||||
|
||||
QList<User> listUsers;
|
||||
for(Instructor instructor : listInstructors)
|
||||
{
|
||||
listUsers.append(instructor);
|
||||
}
|
||||
//mtxAccess.unlock();
|
||||
|
||||
mtxAccess.unlock();
|
||||
|
||||
emit signal_UpdateDB(true, false);
|
||||
emit signal_reInitMessangerByUsers(listUsers);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListGroups(QList<Group> listGroups)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
this->listGroups = listGroups;
|
||||
mtxAccess.unlock();
|
||||
|
||||
emit signal_UpdateDB(false, true);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTrainees(QList<Trainee> listTrainees)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
this->listTrainees = listTrainees;
|
||||
emit signal_UpdateDB(false, true);
|
||||
|
||||
QList<User> listUsers;
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
listUsers.append(trainee);
|
||||
}
|
||||
|
||||
mtxAccess.unlock();
|
||||
|
||||
emit signal_UpdateDB(false, true);
|
||||
emit signal_reInitMessangerByUsers(listUsers);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListComputers(QList<Computer> listComputers)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
this->listComputers = listComputers;
|
||||
mtxAccess.unlock();
|
||||
|
||||
//emit signal_UpdateDB(false, true); //TODO
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
this->listClassrooms = listClassrooms;
|
||||
mtxAccess.unlock();
|
||||
|
||||
//emit signal_UpdateDB(false, true); //TODO
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
//Удаляем старые задачи этого обучаемого
|
||||
mapTasksAMM.remove(trainee_id);
|
||||
|
||||
//Добавляем новые
|
||||
mapTasksAMM.insert(trainee_id, listTasks);
|
||||
|
||||
mtxAccess.unlock();
|
||||
|
||||
emit signal_UpdateTasksAMMforTrainee(trainee_id);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
//Удаляем старые задачи этого обучаемого
|
||||
mapTasksFIM.remove(trainee_id);
|
||||
|
||||
//Добавляем новые
|
||||
mapTasksFIM.insert(trainee_id, listTasks);
|
||||
|
||||
mtxAccess.unlock();
|
||||
|
||||
emit signal_UpdateTasksFIMforTrainee(trainee_id);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryTasksXML_FIM(QByteArray array)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
this->listTaskFimArray = array;
|
||||
mtxAccess.unlock();
|
||||
|
||||
emit signal_UpdateTasksFIM();
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryTasksXML_AMM(QByteArray array)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
this->listTaskAmmArray = array;
|
||||
mtxAccess.unlock();
|
||||
|
||||
emit signal_UpdateTasksAMM();
|
||||
|
||||
//Запрос старых оффлайн-сообщений
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
#include "connectortoserver.h"
|
||||
|
||||
bool ConnectorToServer::sendAuthorizationInstructorLocal(QString login, QString password)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClientAutorization *autorization = new ClientAutorization;
|
||||
autorization->Login = login;
|
||||
autorization->Password = password;
|
||||
autorization->TypeClient = TypeClientAutorization::TYPE_GUI;
|
||||
|
||||
QByteArray array = dataParser->createAuthMessage(autorization);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendDeAuthorizationInstructorLocal(QString login)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClientDeAutorization *deAutorization = new ClientDeAutorization;
|
||||
deAutorization->Login = login;
|
||||
|
||||
QByteArray array = dataParser->createDeAuthMessage(deAutorization);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendQueryToDB(TypeQueryToDB typeQuery, int id, void* data)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClientQueryToDB *queryToDB = new ClientQueryToDB;
|
||||
queryToDB->typeQuery = typeQuery;
|
||||
|
||||
QByteArray array = dataParser->createQueryToDBMessage(queryToDB, id, data);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendMessage(ClientMessage clientMessage)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
QByteArray array = dataParser->createMessage(clientMessage);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendClientNotify(QString command)
|
||||
{
|
||||
QByteArray answer = dataParser->xmlAnswer_notify(command);
|
||||
emit sigSendAnswerToServer(answer);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendQueryTasksXML(QString type)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray array = dataParser->createQueryTasksXMLMessage(type);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendQueryBlockAuth(bool block)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray array = dataParser->createQueryBlockAuth(block);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void ConnectorToServer::sendShowVersionSelect()
|
||||
{
|
||||
QByteArray answer = dataParser->xmlAnswer_notify(cmd_CheckVersionList);
|
||||
emit sigSendAnswerToServer(answer);
|
||||
}
|
||||
@@ -199,7 +199,7 @@ void DialogSettings::on_btnSetVersion_clicked()
|
||||
{
|
||||
if(connectorToServer)
|
||||
if(connectorToServer->getIsConnected())
|
||||
connectorToServer->showVersionSelect();
|
||||
connectorToServer->sendShowVersionSelect();
|
||||
}
|
||||
|
||||
void DialogSettings::on_cmbLanguage_currentIndexChanged(int index)
|
||||
|
||||
@@ -316,7 +316,7 @@ bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent
|
||||
// Вычисление MD5 хэша
|
||||
password = HashTools::hashingMD5string(password);
|
||||
|
||||
connectorToServer->authorizationInstructorLocal(login, password);
|
||||
connectorToServer->sendAuthorizationInstructorLocal(login, password);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -333,7 +333,7 @@ bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent
|
||||
|
||||
bool InstructorsAndTraineesWidget::deAuthorizationInstructor(QString login)
|
||||
{
|
||||
connectorToServer->deAuthorizationInstructorLocal(login);
|
||||
connectorToServer->sendDeAuthorizationInstructorLocal(login);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user