feat: 按创建人隔离采集采购任务 (#127)

This commit is contained in:
chengma
2026-08-10 23:10:28 +08:00
parent 74f99f37d0
commit a9f22b9b0e
24 changed files with 655 additions and 74 deletions
+18
View File
@@ -232,6 +232,24 @@ func ListUsers(q Execer, keyword string, status model.UserStatus, limit, offset
return users, total, nil
}
// ListTaskCreatorUsers 返回管理员任务筛选所需的全部账号,包含已禁用采购员。
func ListTaskCreatorUsers(q Execer) ([]model.User, error) {
rows, err := q.Query(`SELECT user_id, username, role, status FROM users ORDER BY username ASC`)
if err != nil {
return nil, fmt.Errorf("查询任务创建人选项失败: %w", err)
}
defer rows.Close()
var users []model.User
for rows.Next() {
var user model.User
if err := rows.Scan(&user.UserID, &user.Username, &user.Role, &user.Status); err != nil {
return nil, fmt.Errorf("读取任务创建人选项失败: %w", err)
}
users = append(users, user)
}
return users, rows.Err()
}
// CreateUser 创建一个已经完成密码哈希的账号。用户名由数据库 NOCASE 唯一约束
// 做最终并发保护。
func CreateUser(q Execer, user model.User) error {