实现管理员认领功能

This commit is contained in:
2026-01-06 15:33:55 +08:00
parent f638baec64
commit b7a9682552
3 changed files with 36 additions and 1 deletions

View File

@@ -191,7 +191,7 @@ func PageResourceShortByAdmin(c *fiber.Ctx) error {
return err
}
list, total, err := q.Resource.Debug().
list, total, err := q.Resource.
LeftJoin(q.ResourceShort, q.ResourceShort.ResourceID.EqCol(q.Resource.ID)).
Where(q.Resource.Type.Eq(int(m.ResourceTypeShort))).
FindByPage(req.GetOffset(), req.GetLimit())

View File

@@ -43,6 +43,40 @@ func PageUserByAdmin(c *fiber.Ctx) error {
})
}
// 绑定管理员
func BindAdmin(c *fiber.Ctx) error {
// 检查权限
authCtx, err := auth.GetAuthCtx(c).PermitAdmin()
if err != nil {
return err
}
// 解析请求参数
req := new(struct {
UserID int `json:"user_id" validate:"required"`
})
if err := g.Validator.ParseBody(c, req); err != nil {
return err
}
// 更新用户信息
result, err := q.User.Where(
q.User.ID.Eq(int32(req.UserID)),
q.User.AdminID.IsNull(),
).UpdateColumnSimple(
q.User.AdminID.Value(authCtx.Admin.ID),
)
if err != nil {
return err
}
if result.RowsAffected == 0 {
return core.NewBizErr("用户已绑定管理员")
}
// 返回结果
return c.SendStatus(fiber.StatusNoContent)
}
// 更新用户
func UpdateUser(c *fiber.Ctx) error {
// 检查权限

View File

@@ -109,6 +109,7 @@ func adminRouter(api fiber.Router) {
// user 用户
var user = api.Group("/user")
user.Post("/page", handlers.PageUserByAdmin)
user.Post("/bind", handlers.BindAdmin)
// resource 套餐
var resource = api.Group("/resource")