goProject/trunk/center/admincenter/internal/admin/logic.go
2025-01-23 16:12:49 +08:00

70 lines
1.9 KiB
Go

package admin
import (
"common/connection"
"goutil/logUtilPlus"
)
// AddAdmin 添加管理员
// AddAdmin 添加新的管理员到数据库中。
// 参数 admin: 包含管理员信息的对象。
// 返回值: 插入操作影响的行数和可能发生的错误。
func AddAdmin(admin *Admin) (int64, error) {
//处理一些验证
// 写入到数据库
result := connection.Create(connection.GetAdminDB(), &admin, 0) // 通过数据的指针来创建
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
}
// 查询玩家首次登录登出记录
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
}