feat: 更新路由绑定,使用模型作为参数以简化控制器逻辑
Some checks failed
build quyun / Build (push) Failing after 10s

This commit is contained in:
2025-12-19 23:53:15 +08:00
parent 7b18a6a0e6
commit df6a8de61d
7 changed files with 96 additions and 113 deletions

View File

@@ -43,9 +43,9 @@ func (ctl *users) List(ctx fiber.Ctx, pagination *requests.Pagination, query *Us
// @Param id path int64 true "用户 ID"
// @Success 200 {object} models.User "成功"
// @Router /admin/users/:id [get]
// @Bind id path
func (ctl *users) Show(ctx fiber.Ctx, id int64) (*models.User, error) {
return services.Users.FindByID(ctx, id)
// @Bind user path key(id) model(id)
func (ctl *users) Show(ctx fiber.Ctx, user *models.User) (*models.User, error) {
return user, nil
}
// Articles show user bought articles
@@ -57,10 +57,10 @@ func (ctl *users) Show(ctx fiber.Ctx, id int64) (*models.User, error) {
// @Param pagination query requests.Pagination false "分页参数"
// @Success 200 {object} requests.Pager{items=models.Post} "成功"
// @Router /admin/users/:id/articles [get]
// @Bind id path
// @Bind user path key(id) model(id)
// @Bind pagination query
func (ctl *users) Articles(ctx fiber.Ctx, id int64, pagination *requests.Pagination) (*requests.Pager, error) {
return services.Posts.Bought(ctx, id, pagination)
func (ctl *users) Articles(ctx fiber.Ctx, user *models.User, pagination *requests.Pagination) (*requests.Pager, error) {
return services.Posts.Bought(ctx, user.ID, pagination)
}
type UserBalance struct {
@@ -77,12 +77,8 @@ type UserBalance struct {
// @Param balance body UserBalance true "请求体"
// @Success 200 {object} any "成功"
// @Router /admin/users/:id/balance [post]
// @Bind id path
// @Bind user path key(id) model(id)
// @Bind balance body
func (ctl *users) Balance(ctx fiber.Ctx, id int64, balance *UserBalance) error {
user, err := services.Users.FindByID(ctx, id)
if err != nil {
return err
}
func (ctl *users) Balance(ctx fiber.Ctx, user *models.User, balance *UserBalance) error {
return services.Users.AddBalance(ctx, user.ID, balance.Balance)
}