From 0026ea3b1a6588f3e40b8276162f54b2a22bc7ae Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期一, 19 一月 2026 14:32:27 +0800
Subject: [PATCH] 1.修复 : 多 PJ 支持仍是单槽实现:isProcessJobsEmpty/validate 仍只允许 1 个 PJ/CJ;Host 一次下多 PJ 或运行中追加 PJ 会被拒绝/无明确反馈。需要:协议上明示只支持 1,或补齐 ACK/NAK 与队列管理、PJobSpace 动态更新。

---
 SourceCode/Bond/BondEq/DBManager/UserManager.cpp |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/SourceCode/Bond/BondEq/DBManager/UserManager.cpp b/SourceCode/Bond/BondEq/DBManager/UserManager.cpp
index bd3f4df..db9f1e5 100644
--- a/SourceCode/Bond/BondEq/DBManager/UserManager.cpp
+++ b/SourceCode/Bond/BondEq/DBManager/UserManager.cpp
@@ -48,7 +48,7 @@
             role INT NOT NULL,
             session_timeout INT DEFAULT 30,
             session_expiration INT DEFAULT 72,
-            last_login TIMESTAMP
+            last_login DATETIME DEFAULT (datetime('now', 'localtime'))
         )
     )";
     m_pDB->executeQuery(createTableQuery);
@@ -411,6 +411,39 @@
     return success;
 }
 
+// 获取所有用户名称
+std::vector<std::string> UserManager::getUsernames() {
+    std::vector<std::string> usernames;
+    std::string query = "SELECT username FROM users";
+    auto results = m_pDB->fetchResults(query);
+
+    for (const auto& row : results) {
+        if (!row.empty()) {
+            usernames.push_back(row[0]); // 获取用户名列的值
+        }
+    }
+
+    return usernames;
+}
+
+// 获取指定用户名的用户信息
+std::vector<std::string> UserManager::getUserInfo(const std::string& username)
+{
+    // 构建查询语句
+    std::ostringstream query;
+    query << "SELECT username, password, role, session_timeout, session_expiration, last_login "
+        << "FROM users WHERE username = '" << username << "'";
+
+    // 执行查询并获取结果
+    auto results = m_pDB->fetchResults(query.str());
+    if (results.empty()) {
+        return {};
+    }
+
+    // 返回查询到的第一行数据
+    return results[0];
+}
+
 // 更新最后活动时间,用于无操作超时检测
 void UserManager::updateActivityTime() {
     m_tpLastActivity = std::chrono::system_clock::now();

--
Gitblit v1.9.3