74 lines
1.7 KiB
Go
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,
|
|
})
|
|
}
|