用户接口调试

This commit is contained in:
guosl 2024-07-05 13:57:17 +08:00
parent 283d8bee5f
commit c4f066a0d5
5 changed files with 37 additions and 16 deletions

View File

@ -40,8 +40,8 @@ type ModifyInfo struct {
}
type Query struct {
Page int `form:"page" json:"page" binding:"required"`
PageSize int `form:"page_size" json:"page_size" binding:"required"`
Page int `form:"page" json:"page" `
PageSize int `form:"page_size" json:"page_size"`
Keyword string `form:"keyword" Json:"keyword"`
Sort string `form:"sort" json:"sort" binding:"sql_sort"`
}
@ -55,3 +55,21 @@ type ResetPwdReq struct {
type GetUserReq struct {
Account string `form:"account" json:"account" binding:"required"`
}
func (q *Query) Default() {
if q.Page < 0 {
q.Page = 0
}
if q.PageSize <= 0 {
q.PageSize = 20
}
if len(q.Sort) == 0 {
q.Sort = "created_on desc"
}
}
type Enable struct {
Id uint `json:"id" binding:"required"`
}

View File

@ -10,8 +10,8 @@ type UserService interface {
Login(ctx context.Context, lInfo models.LoginInfo) error
Logout(ctx context.Context) error
Modify(ctx context.Context, mInfo *models.ModifyInfo) error
Disable(ctx context.Context) error
Enable(ctx context.Context) error
Disable(ctx context.Context, req *models.Enable) error
Enable(ctx context.Context, req *models.Enable) error
Search(ctx context.Context, query *models.Query) ([]models.User, error)
ResetPwd(ctx context.Context, req *models.ResetPwdReq) error
GetUser(ctx context.Context, req *models.GetUserReq) (user models.User, err error)

View File

@ -158,9 +158,9 @@ func (u *userService) Modify(ctx context.Context, mInfo *models.ModifyInfo) erro
return u.repo.SaveUser(ctx, user)
}
func (u *userService) Disable(ctx context.Context) error {
func (u *userService) Disable(ctx context.Context, req *models.Enable) error {
// 获取操作用户
session, err := contextUtil.GetSession(ctx)
_, err := contextUtil.GetSession(ctx)
if err != nil {
return err
}
@ -168,11 +168,11 @@ func (u *userService) Disable(ctx context.Context) error {
// todo 判断是否有权限
// 修改对应用户状态
return u.repo.SetUserStatus(ctx, session.ID, models.DisableUserStatus)
return u.repo.SetUserStatus(ctx, req.Id, models.DisableUserStatus)
}
func (u *userService) Enable(ctx context.Context) error {
session, err := contextUtil.GetSession(ctx)
func (u *userService) Enable(ctx context.Context, req *models.Enable) error {
_, err := contextUtil.GetSession(ctx)
if err != nil {
return err
}
@ -180,7 +180,7 @@ func (u *userService) Enable(ctx context.Context) error {
// todo 判断是否有权限
// 修改对应用户状态
return u.repo.SetUserStatus(ctx, session.ID, models.EnableUserStatus)
return u.repo.SetUserStatus(ctx, req.Id, models.EnableUserStatus)
}
func (u *userService) Search(ctx context.Context, query *models.Query) ([]models.User, error) {

View File

@ -7,7 +7,7 @@ import (
)
var (
sortMatch = regexp.MustCompile("^[a-zA-z0-9_]+")
sortMatch = regexp.MustCompile("^[a-zA-z0-9_,]+")
)
func tableName(fl validator.FieldLevel) bool {

View File

@ -37,7 +37,9 @@ func RegisterRoute(api *gin.RouterGroup) {
api.POST("/modify", ginUtil.WrapNoRsp(server.Modify))
api.GET("/search", ginUtil.Wrap(server.Search))
api.GET("/user", ginUtil.Wrap(server.GetUser))
api.POST("/reset", ginUtil.Wrap(server.GetUser))
api.POST("/reset", ginUtil.WrapNoRsp(server.ResetPwd))
api.POST("/enable", ginUtil.WrapNoRsp(server.Enable))
api.POST("/disable", ginUtil.WrapNoRsp(server.Disable))
}
func (u *UserServer) Add(ctx context.Context, req *models.AddInfo) (rsp proto.AddResponse, err error) {
@ -73,15 +75,16 @@ func (u *UserServer) Modify(ctx context.Context, req *models.ModifyInfo) error {
return u.userService.Modify(ctx, req)
}
func (u *UserServer) Disable(ctx context.Context) error {
return u.userService.Disable(ctx)
func (u *UserServer) Disable(ctx context.Context, req *models.Enable) error {
return u.userService.Disable(ctx, req)
}
func (u *UserServer) Enable(ctx context.Context) error {
return u.userService.Enable(ctx)
func (u *UserServer) Enable(ctx context.Context, req *models.Enable) error {
return u.userService.Enable(ctx, req)
}
func (u *UserServer) Search(ctx context.Context, query *models.Query) ([]models.User, error) {
query.Default()
return u.userService.Search(ctx, query)
}