实现管理员认领功能
This commit is contained in:
@@ -191,7 +191,7 @@ func PageResourceShortByAdmin(c *fiber.Ctx) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
list, total, err := q.Resource.Debug().
|
list, total, err := q.Resource.
|
||||||
LeftJoin(q.ResourceShort, q.ResourceShort.ResourceID.EqCol(q.Resource.ID)).
|
LeftJoin(q.ResourceShort, q.ResourceShort.ResourceID.EqCol(q.Resource.ID)).
|
||||||
Where(q.Resource.Type.Eq(int(m.ResourceTypeShort))).
|
Where(q.Resource.Type.Eq(int(m.ResourceTypeShort))).
|
||||||
FindByPage(req.GetOffset(), req.GetLimit())
|
FindByPage(req.GetOffset(), req.GetLimit())
|
||||||
|
|||||||
@@ -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 {
|
func UpdateUser(c *fiber.Ctx) error {
|
||||||
// 检查权限
|
// 检查权限
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ func adminRouter(api fiber.Router) {
|
|||||||
// user 用户
|
// user 用户
|
||||||
var user = api.Group("/user")
|
var user = api.Group("/user")
|
||||||
user.Post("/page", handlers.PageUserByAdmin)
|
user.Post("/page", handlers.PageUserByAdmin)
|
||||||
|
user.Post("/bind", handlers.BindAdmin)
|
||||||
|
|
||||||
// resource 套餐
|
// resource 套餐
|
||||||
var resource = api.Group("/resource")
|
var resource = api.Group("/resource")
|
||||||
|
|||||||
Reference in New Issue
Block a user