id_client при авторизации

This commit is contained in:
2025-07-25 13:29:12 +03:00
parent 3e5c451bb3
commit 215264f0c6
7 changed files with 36 additions and 7 deletions

View File

@@ -10,7 +10,7 @@ void ClientAnswerParser::initialize(DataParser *dataParser)
this->dataParser = dataParser;
}
QByteArray ClientAnswerParser::authorization(bool result, QString instructorName,QString clientName, QString accessType, QString login)
QByteArray ClientAnswerParser::authorization(bool result, QString instructorName,QString clientName, QString accessType, QString login, int id)
{
QList<SXmlAnswerTag> listTag;
@@ -20,7 +20,8 @@ QByteArray ClientAnswerParser::authorization(bool result, QString instructorName
SAttribute attribute3 = {"ClientName", clientName};
SAttribute attribute4 = {"AccessType", accessType};
SAttribute attribute5 = {"Login", login};
QList<SAttribute> listAttr = {attribute1, attribute2, attribute3, attribute4, attribute5};
SAttribute attribute6 = {"id_client", QString::number(id)};
QList<SAttribute> listAttr = {attribute1, attribute2, attribute3, attribute4, attribute5, attribute6};
SXmlAnswerTag tag = {"ServerAuthorization", listAttr};
listTag.append(tag);

View File

@@ -14,7 +14,7 @@ public:
explicit ClientAnswerParser(QObject *parent = nullptr);
void initialize(DataParser *dataParser);
QByteArray authorization(bool result, QString instructorName, QString clientName, QString accessType, QString login);
QByteArray authorization(bool result, QString instructorName, QString clientName, QString accessType, QString login, int id);
QByteArray deAuthorization(bool result, QString login);
QByteArray message(QString text, QString login = "");
QByteArray task(QString text);

View File

@@ -51,6 +51,7 @@ void ProcessingSystem::processingClientAutorization(ClientHandler *client, Clien
QString instructorName;
QString traineeName;
QByteArray arrayAnswer;
int clientID = 0;
if(providerDBLMS->authorizationInstructor(clientAutorization.Login, clientAutorization.Password))
@@ -61,8 +62,9 @@ void ProcessingSystem::processingClientAutorization(ClientHandler *client, Clien
emit sigUpdateListClients();
instructorName = providerDBLMS->getNameInstructorByLogin(clientAutorization.Login);
clientID = providerDBLMS->getIdInstructorByLogin(clientAutorization.Login);
arrayAnswer = dataParser->ClientAnswer()->authorization(true, instructorName, instructorName, "instructor", clientAutorization.Login);
arrayAnswer = dataParser->ClientAnswer()->authorization(true, instructorName, instructorName, "instructor", clientAutorization.Login, clientID);
}
else if(clientAutorization.TypeClient != TypeClientAutorization::TYPE_GUI)
{
@@ -75,17 +77,18 @@ void ProcessingSystem::processingClientAutorization(ClientHandler *client, Clien
//KAV redact
instructorName = providerDBLMS->getMainInstructorName();
traineeName = providerDBLMS->getNameTraineeByLogin(clientAutorization.Login);
clientID = providerDBLMS->getIdTraineeByLogin(clientAutorization.Login);
arrayAnswer = dataParser->ClientAnswer()->authorization(true, instructorName, traineeName, "trainee", clientAutorization.Login);
arrayAnswer = dataParser->ClientAnswer()->authorization(true, instructorName, traineeName, "trainee", clientAutorization.Login, clientID);
}
else
{//Никто не авторизовался
arrayAnswer = dataParser->ClientAnswer()->authorization(false, "", "", "", "");
arrayAnswer = dataParser->ClientAnswer()->authorization(false, "", "", "", "", 0);
}
}
else
{//Никто не авторизовался
arrayAnswer = dataParser->ClientAnswer()->authorization(false, "", "", "", "");
arrayAnswer = dataParser->ClientAnswer()->authorization(false, "", "", "", "", 0);
}
client->sendXmlAnswer(arrayAnswer);
client->sendVersion();

View File

@@ -240,6 +240,24 @@ int ProviderDBLMS::getIdTraineeByLogin(QString login)
return id_trainee;
}
int ProviderDBLMS::getIdInstructorByLogin(QString login)
{
int id_instructor = 0;
qDebug() << "ProviderDBLMS " << QThread::currentThreadId();
mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return id_instructor;
}
id_instructor = dbLMS->getIdInstructorByLogin(login);
mtxAccess.unlock();
return id_instructor;
}
QString ProviderDBLMS::getLoginTraineeById(int id_trainee)
{
QString login = "";

View File

@@ -30,6 +30,7 @@ public:
//
int getIdTraineeByLogin(QString login);
int getIdInstructorByLogin(QString login);
QString getLoginTraineeById(int id_trainee);
QList<Instructor> GetListAllInstructors();