admin_backend/controller/admin.go
2025-11-14 16:08:42 +08:00

74 lines
1.7 KiB
Go

package controller
import (
"backend/model"
"backend/util"
"github.com/gin-gonic/gin"
)
func AdminList(c *gin.Context) {
// 处理管理员列表请求
// 这里可以调用相应的服务或数据库查询来获取管理员列表
// 然后将结果返回给客户端
adminModel := model.Admin{}
admins, err := adminModel.List()
if err != nil {
failed(c, "Failed to retrieve admin list: "+err.Error())
return
}
success(c, admins)
}
func AdminAdd(c *gin.Context) {
// 处理添加管理员请求
var admin model.Admin
if err := c.ShouldBindJSON(&admin); err != nil {
failed(c, "Invalid input: "+err.Error())
return
}
// 这里可以添加逻辑来保存管理员信息到数据库
// 假设保存成功后返回结果
result, err := admin.Add()
if err != nil {
failed(c, "Failed to add admin: "+err.Error())
return
}
// 记录管理员操作日志
util.AddAdminLog(c, "添加管理员", admin)
success(c, result)
}
func AdminLogList(c *gin.Context) {
// 处理管理员日志列表请求
type param struct {
Page int `json:"page"`
PaseSize int `json:"pageSize"`
UserName string `json:"username"`
Opration string `json:"operation"`
}
var p param
if err := c.ShouldBindJSON(&p); err != nil {
failed(c, "Invalid input: "+err.Error())
return
}
List := []*model.AdminLog{}
db := util.MPool.GetGameDB()
if db == nil {
failed(c, "Failed to get database connection")
return
}
err := db.Select(&List, "SELECT * FROM admin_log ORDER BY createTime DESC LIMIT ? OFFSET ?", p.PaseSize, (p.Page-1)*p.PaseSize)
if err != nil {
failed(c, "Failed to retrieve admin logs: "+err.Error())
return
}
var total int
db.Get(&total, "SELECT COUNT(*) FROM admin_log")
success(c, &model.Result{
Data: List,
Total: total,
})
}