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

@@ -90,6 +90,11 @@ QString InterfaceDataBaseLMS::getNameInstructorByLogin(QString login)
return selectInstructorNameByLogin(login); return selectInstructorNameByLogin(login);
} }
int InterfaceDataBaseLMS::getIdInstructorByLogin(QString login)
{
return selectInstructorID(login);
}
QList<Instructor> InterfaceDataBaseLMS::getListInstructors() QList<Instructor> InterfaceDataBaseLMS::getListInstructors()
{ {
return selectAllInstructors(); return selectAllInstructors();

View File

@@ -31,6 +31,7 @@ public:
bool deAuthorizationAllInstructors(); bool deAuthorizationAllInstructors();
QString getNameInstructorByLogin(QString login); QString getNameInstructorByLogin(QString login);
int getIdInstructorByLogin(QString login);
QList<Instructor> getListInstructors(); QList<Instructor> getListInstructors();
Instructor getInstructor(int id); Instructor getInstructor(int id);

View File

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

View File

@@ -14,7 +14,7 @@ public:
explicit ClientAnswerParser(QObject *parent = nullptr); explicit ClientAnswerParser(QObject *parent = nullptr);
void initialize(DataParser *dataParser); 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 deAuthorization(bool result, QString login);
QByteArray message(QString text, QString login = ""); QByteArray message(QString text, QString login = "");
QByteArray task(QString text); QByteArray task(QString text);

View File

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

View File

@@ -240,6 +240,24 @@ int ProviderDBLMS::getIdTraineeByLogin(QString login)
return id_trainee; 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 ProviderDBLMS::getLoginTraineeById(int id_trainee)
{ {
QString login = ""; QString login = "";

View File

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