2025-01-06 16:01:02 +08:00
|
|
|
package admin
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"common/connection"
|
|
|
|
|
"goutil/logUtilPlus"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// AddAdmin 添加管理员
|
|
|
|
|
// AddAdmin 添加新的管理员到数据库中。
|
|
|
|
|
// 参数 admin: 包含管理员信息的对象。
|
|
|
|
|
// 返回值: 插入操作影响的行数和可能发生的错误。
|
|
|
|
|
func AddAdmin(admin *Admin) (int64, error) {
|
|
|
|
|
|
|
|
|
|
//处理一些验证
|
|
|
|
|
|
|
|
|
|
// 写入到数据库
|
2025-01-23 16:12:49 +08:00
|
|
|
result := connection.Create(connection.GetAdminDB(), &admin, 0) // 通过数据的指针来创建
|
2025-01-06 16:01:02 +08:00
|
|
|
|
|
|
|
|
if result.Error != nil {
|
|
|
|
|
logUtilPlus.ErrorLog("添加管理员失败 错误信息:", result.Error.Error())
|
|
|
|
|
}
|
|
|
|
|
return admin.ID, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetAdminByID 根据管理员ID获取管理员信息
|
|
|
|
|
func GetAdminByID(adminID int64) (*Admin, error) {
|
|
|
|
|
var admin Admin
|
|
|
|
|
result := connection.GetAdminDB().First(&admin, adminID)
|
|
|
|
|
if result.Error != nil {
|
|
|
|
|
return nil, result.Error
|
|
|
|
|
}
|
|
|
|
|
return &admin, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 管理员登录
|
|
|
|
|
func Login(account string, password string) (*Admin, error) {
|
|
|
|
|
var admin Admin
|
|
|
|
|
result := connection.GetAdminDB().Where("account = ? AND password = ?", account, password).First(&admin)
|
|
|
|
|
if result.Error != nil {
|
|
|
|
|
return nil, result.Error
|
|
|
|
|
}
|
|
|
|
|
return &admin, nil
|
|
|
|
|
}
|
2025-01-23 16:12:49 +08:00
|
|
|
|
|
|
|
|
// 查询玩家首次登录登出记录
|
|
|
|
|
func GetUserFirstRecord(uid int64) (*RecordLoginOfWxUser, error) {
|
|
|
|
|
var userRecord *RecordLoginOfWxUser
|
|
|
|
|
result := connection.GetUserDB().Where("uid = ?", uid).First(&userRecord)
|
|
|
|
|
if result.Error != nil {
|
|
|
|
|
return nil, result.Error
|
|
|
|
|
}
|
|
|
|
|
return userRecord, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 查询玩家最新登录登出记录
|
|
|
|
|
func GetUserLastRecord(uid int64) (*RecordLoginOfWxUser, error) {
|
|
|
|
|
var userRecord *RecordLoginOfWxUser
|
|
|
|
|
result := connection.GetUserDB().Where("uid = ?", uid).Last(&userRecord)
|
|
|
|
|
if result.Error != nil {
|
|
|
|
|
return nil, result.Error
|
|
|
|
|
}
|
|
|
|
|
return userRecord, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetUserTotalPlayTime(uid int64) int64 {
|
|
|
|
|
var totalPlayTime int64
|
|
|
|
|
connection.GetUserDB().Table("recordloginofwxuser").Where("uid = ?", uid).Select("SUM(playtimes)").Scan(&totalPlayTime)
|
|
|
|
|
return totalPlayTime
|
|
|
|
|
}
|