package model import ( "database/sql" "log" "main/db" ) // User 结构体表示用户 type User struct { AccountId string `db:"account_id"` Username string `db:"name"` Level int32 `db:"level"` } // CreateUser 创建新用户 func CreateUser(user *User) (int64, error) { query := "INSERT INTO users (username, email) VALUES (?, ?)" result, err := db.GetDB().Exec(query, user.Username, user.Level) if err != nil { log.Printf("Error creating user: %v", err) return 0, err } userID, err := result.LastInsertId() if err != nil { log.Printf("Error getting last insert ID: %v", err) return 0, err } return userID, nil } // GetUserByID 根据用户ID获取用户信息 func GetUserByID(userID int64) (*User, error) { query := "SELECT id, username, email FROM users WHERE id = ?" var user User err := db.GetDB().Get(&user, query, userID) if err != nil { if err == sql.ErrNoRows { return nil, nil // 用户不存在 } log.Printf("Error getting user by ID: %v", err) return nil, err } return &user, nil } // UpdateUser 更新用户信息 func UpdateUser(user *User) error { query := "UPDATE users SET username = ?, level = ? WHERE id = ?" _, err := db.GetDB().Exec(query, user.Username, user.Level, user.AccountId) if err != nil { log.Printf("Error updating user: %v", err) return err } return nil } // DeleteUser 删除用户 func DeleteUser(userID int64) error { query := "DELETE FROM users WHERE id = ?" _, err := db.GetDB().Exec(query, userID) if err != nil { log.Printf("Error deleting user: %v", err) return err } return nil } // ListUsers 获取所有用户列表 func ListUsers() ([]User, error) { query := "SELECT account_id, name, level FROM t_user" var users []User err := db.GetDB().Select(&users, query) if err != nil { log.Printf("Error listing users: %v", err) return nil, err } return users, nil }